?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:

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



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].