====== Debian on Asus EeePC 1005PE ====== This is a little guide about getting started with Debian on the EeePC 1005PE, everything should work the same way with *Ubuntu/Sidux/.... I installed it via USB pen drive. There are enough guides about that, so I will not describe how you do this now. But try to get a recent build for better hardware support. ====== Upgrading the BIOS ====== Before installation you should update your BIOS, to increase general hardware support and runtime etc. It will also probably fix bugs in ACPI(as Version 703 did) but remember that you do anything at your own risk. Jump to http://support.asus.com/download/download.aspx?model=Eee%20PC%201005PE&os=5&SLanguage=de-de and grab the latest version, rename it to "1005P.rom". Put it in the root of your pen drive. Plug in your power supply. Reboot and press the power button while you see the splash screen/boot messages. This will cause the netbook not to use the quick boot(didn't find another way to disable Boot Booster). While you see the Asus splash, press Alt+F2. The flash menu appears. Now plug in your pen drive. The BIOS-flashing will start. Do not press the power button unless you want to want to brick your netbook. Follow the instructions on the screen. ====== Linux-related tweaks ====== ===== Kernel ===== At first we build an optimized kernel. Install or make sure you already installed at least the following packages: #apt-get install kernel-package tar libncurses5-dev gcc Now we grab a kernel image. Go to www.kernel.org and get a recent archive. #cd /usr/src #wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.bz2 Unzip the downloaded file, create a symbolic link and change in the directory. #tar xfv linux-2.6.32.5.tar.bz2 #ln -s linux-2.6.32.5 linux #cd linux Now you can decide whether to make an own configuration or to use an existing one. To use the standard-configuration #cp /boot/config-`uname -r` .config to use my optimized config (its not perfect right now, but I'm working on it :) ) - check and edit it before complaining - #wget http://www-user.tu-chemnitz.de/~frichr/linux/1005pe/.config or you can make an own one: #make menuconfig After we did this, we can compile the kernel. #make-kpkg linux-image Now better get a cup of coffee(or better 4 cups). This may take a while. Finished? Fine. Lets install the kernel. #dpkg -i /usr/src/linux-image-*.deb Before rebooting we will fix the backlight-keys. ===== Fixing ACPI and Backlight-Controls ===== For kernels 2.6.32 and probably later you will need to append some boot parameters. Open the file /etc/defaults/grub with root permissions with your favourite text editor. #vim /etc/defaults/grub Find the line GRUB_CMDLINE_LINUX_DEFAULT and add "acpi_osi=Linux" so it looks like this: GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=Linux" Save the file. Now run update-grub2. #update-grub2 Now reboot. If everything worked well, you should not notice a huge difference, but your netbook should boot a bit faster and the backlight-controls should work as they were meant to use. ===== Fixing Synaptics Multitouch ===== ==== Debian ==== Since Debian does not seem to use hals .fdi files you need to configure your touchpad with xorg. If you do not have a xorg.conf file in /etc/X11/ you should create one. Press CTRL+ALT+F1 and login as root. Stop X. Assuming you installed KDE, type the following. #/etc/init.d/kdm stop If you are runnig gnome replace "kdm" with "gdm" or the display manager you are using. Run Xorg -configure and move the file. #Xorg -configure #mv xorg.conf.new /etc/X11/xorg.conf Open the file in a text editor. Again I am using vim. #vim /etc/X11/xorg.conf Add the following lines: Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" Option "SHMConfig" "true" Option "EmulateTwoFingerMinZ" "62" #seemed to be best value for me, may also work with other values less than 70 Option "VertTwoFingerScroll" "1" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection Add this line to ServerLayout InputDevice "Synaptics Touchpad" "CorePointer" Last but not least Restart X. #/etc/init.d/kdm restart ==== Ubuntu ==== Ubuntu users can simply use this package and reboot: http://www.philmerk.de/dwl/deb/eeepc-1005-multitouch_0.0.1.deb It will install a fdi file for hal. ====== Runtime-Related Tweaks ====== So far, so good. For a better power management install the eeepc-acpi-scripts package and powertop to get useful hints and an overview about the current power consumption. #apt-get install eeepc-acpi-scripts powertop The acpi-scripts will not need any further configuration. Unplug your power supply, run powertop and wait a while. For me powertop said: "echo min_power > /sys/class/scsi_host/host0/link_power_management_policy","echo 1500 > /proc/sys/vm/dirty_writeback_centisecs" and append "usbcore.autosuspend=1" as boot parameter. So lets do this. Open /etc/rc.local with your favourite text editor. Editing this file now, we will also enable powersaving for sound and wireless networking. #vim /etc/rc.local Add the following lines: # activates the sata-link powermanagement echo min_power > /sys/class/scsi_host/host0/link_power_management_policy echo min_power > /sys/class/scsi_host/host1/link_power_management_policy echo min_power > /sys/class/scsi_host/host2/link_power_management_policy echo min_power > /sys/class/scsi_host/host3/link_power_management_policy # raise the vm dirty writeback time echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # enable intel hda powersaving echo 1 > /sys/module/snd_hda_intel/parameters/power_save #enable wireless powersaving iwconfig wlan0 power timeout 500ms Appending the usbcore.autosuspend parameter: Open /etc/defaults/grub/ with any text editor. #vim /etc/defaults/grub Run update-grub2 again. #update-grub2 If you are not using the built-in webcam you should also blacklist the module. You can load it manually(or with script) anytime you need it. (sudo modprobe uvcvideo) #echo "blacklist uvcvideo" >> /etc/modprobe.d/blacklist.conf If you do not use USB-devices I recommend to unload the modules. You can do this manually or with a little script. Find the module dependencies and add them to the script in both lines. Here is mine for example: #!/bin/bash usbcore=`lsmod|grep 'usbcore'` if [ "$usbcore" ] #unload usb modules then `sudo modprobe -r ehci_hcd && modprobe -r uhci_hcd && modprobe -r usbcore` #load usb modules else echo `modprobe usbcore && modprobe uhci_hcd && sudo modprobe ehci_hcd` fi Save the script in /usr/local/bin/ and make it executable with "chmod +x yourscriptname". After you did all the tweaks you can check the power consumption with powertop again. Here is my result(my 1005pe needs 5.2- 5.9 W in average with wireless lan enabled). Cn Verweildauer P-States (Frequenzen) C0 (Prozessor läuft) ( 5,9%) 1,67 GHz 0,0% C0 11,8ms ( 0,1%) 1333 MHz 0,0% C1 mwait 0,0ms ( 0,0%) 1000 MHz 100,0% C2 mwait 0,1ms ( 0,1%) C4 mwait 3,0ms (94,0%) Aufwachen pro Sekunde : 321,7 Intervall: 15,0s **Stromverbrauch (ACPI-Schätzung): 5,4W (10,3 Std.)** Häufigste Ursachen für das Aufwachen: 29,2% (136,4) PS/2 keyboard/mouse/touchpad interrupt 23,9% (111,8) [kernel scheduler] Load balancing tick 13,9% ( 64,9) [extra timer interrupt] 7,3% ( 34,3) [kernel core] hrtimer_start (tick_sched_timer) 6,2% ( 29,0) [ath9k] 5,9% ( 27,8) [Rescheduling interrupts] For further power optimization take a look at http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption Also make sure you disabled desktop effects on battery power, they do consume a huge amount of power. ====== Hardware Information ====== Some hardware information about the 1005PE: lspci 00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge 00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller 00:02.1 Display controller: Intel Corporation Pineview Integrated Graphics Controller 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation Tigerpoint LPC Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GR/GH (ICH7 Family) SATA AHCI Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0) 02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01) lsusb Bus 001 Device 002: ID 13d3:5111 IMC Networks Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub lshw Output of lshw: http://www-user.tu-chemnitz.de/~frichr/linux/1005pe/hardware.html [[http://www.portabilite.info|rio sosh]] [[http://www.obtenir-rio.info|code rio]]