?TableOfContents
Additional modules not yet in Debian kernels
Introduction to building out-of-kernel modules
The instructions below require you to install and compile module source packages using module-assistant. This can be done on your Eee PC, but will result in the installation of a lot of development tools that you might not otherwise need.
An alternative method is to do the installation and compilation of the modules on another Debian machine (one that is faster and has more disk space), and then install the resulting module packages on the Eee PC.
If you decide to go this route, refer to the manpage for module-assistant. You will need to run "m-a build ..." instead of "m-a auto-install ...". Note that if your Eee PC is running a different kernel version than your build machine, you will need to install the linux-headers and linux-kbuild packages corresponding to the Eee PC's kernel, and use the "-l" option to specify that version when you invoke module-assistant.
Once you have successfully built a module, copy the resulting .deb to the Eee PC and install it there with "dpkg -i ...".
Ethernet (atl2)
This just works now. The old version of our installer had a bug which required a manual install of atl2 after installation – this is now no longer required.
Wireless (madwifi)
Install and configure module-assistant:
Become root and invoke the following commands:
apt-get install module-assistant m-a prepare
Download and install this patched madwifi-source package:
Be sure to have the debhelper package installed.
Become root and invoke the following command:
wget http://people.debian.org/~synrg/debian-eeepc/madwifi-source_0.9.3.2-2+eee_i386.deb dpkg -i madwifi-source_0.9.3.2-2+eee_i386.deb
Be sure to have the contrib section in your /etc/apt/sources.list because madwifi-source needs madwifi-tools. Now you can use module-assistant to build and install a .deb package for the driver:
Become root and invoke the following commands:
m-a build madwifi dpkg -i /usr/src/madwifi-modules-2.6.22-3-686_0.9.3.2+eee+2.6.22-6.lenny1_i386.deb modprobe ath_pci
Do not use "m-a a-i madwifi", as m-a will try to upgrade the source package, walking over our patched version. Putting madwifi-source on hold is an ineffective measure against this, so don't bother. If you use "m-a build madwifi" and then install as per the instructions above, the source package will not be upgraded. See ["../../Todo#package_madwifi_source"]. A new release of this fork of madwifi will be made soon with a different name which will solve this problem.
See ["DebianEeePC/HowTo/Wifi"] to set up wifi with or without encryption.
Webcam (uvcvideo)
The module source in lenny should work with module-assistant:
Become root and invoke the following commands:
m-a a-i linux-uvc modprobe uvcvideo
This won't work if you are using a 2.6.24 kernel. As noted in #[http://bugs.debian.org/463655 463655], the latest SVN revision of the driver works fine.
Then test it's working by executing:
Become root and invoke the following command:
apt-get install luvcview As normal user you can now make use of your web cam tool luvcview -f yuv
The camera is switched off by default after the installation. You can enable it in the BIOS, or by doing echo 1 > /proc/acpi/asus/camera. You should see messages about the camera being detected if you do dmesg | tail.
You need to have installed acpi for this (see below) – at least in lenny.
If you broke your webcam settings, use mplayer -fps 30 tv:// once to restore them.
Power management & hotkeys
Kernel module (eeepc-acpi)
The eeepc-acpi-source package is available in Debian unstable and testing. It builds an out-of-kernel module to support the Eee PC hotkeys. It was based on Asus's patched asus_acpi.c module, but doesn't conflict with standard Debian kernel packages.
First, set up a module-compilation environment as described in the Madwifi section above. Then build and install the eeepc-acpi module with module-assistant:
Become root and invoke the following commands:
m-a a-i eeepc-acpi modprobe eeepc_acpi /etc/init.d/acpid restart
Add eeepc_acpi to /etc/modules so that it will be loaded when you boot.
To respond properly to the acpi events, you will need the new eeepc-acpi-scripts package described in the next section, 'Scripts'.
Notes:
- The battery info is not very precise (jumps from 10% to 100%, no rate information, etc...). Apparently, this is normal. It appears that the userspace battery utilities expect the battery to report mAh, but in fact it reports percentage. This is either a bug in the battery firmware or a bug in the BIOS. In either case, unless someone comes up with a patch to deal with batteries that report percentage, Asus needs to fix this.
[?DamyanIvanov] Hibernation mostly works for me on current Sid with 2.6.24 kernel once I've set up swap (and following the hints from ["DebianEeePC/TipsAndTricks"]). There is some problem with the madwifi driver that does not recover completely, but I think it is not hibernate-related as I see the same behaviour after suspend/resume.
[SamMorris] suspend worked for me with 2.6.24 with the s3_bios and dpms_on quirks. I have sent a patch upstream to hal@lists.freedesktop.org and also filed [http://bugs.debian.org/469648 #469648].
Scripts (eeepc-acpi-scripts)
Special keys |
||
Key |
Function |
Work, comment |
Fn + F1 |
sleep |
Yes |
Fn + F2 |
wifi |
Yes (read details below) |
Fn + F3 |
- light screen |
Yes |
Fn + F4 |
+ light screen |
Yes |
Fn + F5 |
Change screen |
Yes |
Fn + F6 |
Task manager |
No, nothing append |
Fn + F7 |
disabled Sound |
Yes |
Fn + F8 |
- sound |
Yes |
Fn + F9 |
+ sound |
Yes |
Install the eeepc-acpi-scripts package to get the described functionality. This is now available in unstable and testing. Please note that this package conflicts with acpi-support. As root you must apt-get purge acpi-support. This removes all of the acpi-support scripts that would remain in /etc. If you do not follow this step you will cause conflicts.
Enabling/disabling the wifi works like plugging/unplugging the PCI Express wifi card. To ensure that it properly gets enabled when it is plugged, you need the pciehp kernel module. (And for some reason, it only works with the "pciehp_force=1" option.) Create a file /etc/modprobe.d/pciehp with 'options pciehp pciehp_force=1' in it and put 'pciehp' in /etc/modules. Then 'rmmod pciehp; modprobe pciehp'.
Read the doc in /usr/share/doc/eeepc-acpi-scripts/README.Debian and configure /etc/default/eeepc-acpi-scripts as needed.
Ethernet (atl2) upgrade
The version of atl2 binary module in Lenny is old and has bugs that are fixed in the new source package that exists in Lenny. Upgrade as follows:
Become root and invoke the following commands:
apt-get install module-assistant m-a a-i atl2 modprobe atl2
For good measure this reloads the atl2 driver.
Xorg
Touchpad Scrolling
The default debian installer did not enable the touchpad scrolling for me. The following are bits that I had to add to xorg.conf to enable touchpad scrolling.
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "CorePointer" Option "SendCoreEvents" "true" Option "Device" "/dev/input/mice" Option "Protocol" "auto-dev" Option "HorizEdgeScroll" "1" EndSection Section "Server Layout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Synaptics Touchpad" EndSection
[?DavideAgnolazza] This didn't work for me. I used "?HorizScrollDelta" set to 1 and horizontal scrolling starts working. The vertical scrolling was working by default. The default xorg.conf it's a little different about the above, but for me it worked fine and I just modified the ?HorizScrollDelta option.
This will enable horizontal as well as vertical scrolling on the touchpad. By default, iceweasel will use the horizontal scrolling as <backwords/forwards> To disable this, go into about:config and change the following values.
mousewheel.horizscroll.withnokey.action (change 2 to 0) mousewheel.horizscroll.withnokey.numlines (change -1 to 1)
Multiple displays
In /etc/X11/xorg.conf, make sure any "?HorizSync" and "?VertRefresh" lines are commented out or removed from the "Monitor" section and set "Virtual 2048 2048" in the "Display" subsection of your "Screen" section.
To enable an external display, positioning it above the Eee's own display, plug it in and type "xrandr --output VGA --above LVDS --auto". A future release of eeepc-acpi-scripts will add hotkey support for this.
Aiglx support for compiz
The following were needed to get [http://compiz.org/ Compiz] working. Compiz works for me with xfce, but its a bit choppy rotating the cube to a workspace that has opened programs on it. (If you have a good working xorg.conf thats different to this, please update)
Section "Device" Identifier "Configured Video Device" Driver "i810" Option "XAANoOffscreenPixmaps" Option "AddARGBGLXVisuals" "true" EndSection Section "DRI" Mode 0666 Endsection Section "Extensions" Option "Composite" "Enable" Endsection
Hibernate
[?DamyanIvanov] Hibernate worked for me just fine after I've set up a 256M dedicated SWAP partition. Perhaps the same is possible using swap files too. The only glitch is that I have to quit memory-hungry programs like Iceweasel before attempting hibernate, as otherwise the swap space is not enough. To hibernate, run s2disk as root (from the uswsusp package). If you use gnome-power-manager you can just press the power button (but remember to disable the button action in /etc/acpi/actions/power.sh installed by debian-eeepc-scripts to avoid double prompts).
Troubleshooting
If you have problems with any of the steps above, see our [:DebianEeePC/HowTo/Troubleshooting:Troubleshooting ?HowTo].