Blog Forum Wiki Links Contact Us NetbookUser
 
Translations of this page:

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] <interrupt>
   5,9% ( 27,8)   [Rescheduling interrupts] <kernel IPI>

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

 
debian_on_1005pe.txt · Last modified: 2010/02/10 10:54 by dawn2k
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki