Differences between revisions 147 and 148
Revision 147 as of 2008-03-18 18:07:50
Size: 15141
Editor: NicoGolde
Comment:
Revision 148 as of 2008-03-21 10:10:31
Size: 15458
Comment:
Deletions are marked like this. Additions are marked like this.
Line 157: Line 157:
----
[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.
----

?TableOfContents

Translations: [:DebianEeePCFrench/HowTo/Install:French] [:DebianEeePCGerman/HowTo/Install:German]

Install Lenny using native Debian kernel and modules

This is now the recommended way to install Debian Lenny on an Eee PC. While it is not yet finished, we're daily working to improve each step. The goal is to have a standard debian-installer "just work" so we're taking the extra time and effort to do that rather than working around the problem by making a lot of custom eee-specific code.

Preparation

You need a USB disk. Please download these files:

To prepare the USB disk, copy the image onto the drive:

dd if=debian-eeepc.img of=/dev/<YOUR-USB-DEVICE>

Note: <YOUR-USB-DEVICE> = the whole device, not a device partition (e.g. /dev/sdX NOT /dev/sdX1)

You may have noticed that you are using the entire device without a partition table. This works because the BIOS knows how to boot directly from FAT partitions. This boot mode is called "superfloppy" mode and is supported by the Eee PC BIOS for USB devices and SD cards.

Installation

Boot the eee and press <ESC> during the first screen. This lets you select which device to boot from.

The actual installation is very standard; if you're reading this, you almost certainly already know how to install Debian. :) It is fine to use ext3 as your filesystem, which is the default. See http://wiki.eeeuser.com/ssd_write_limit for a compelling argument that you're not going to kill your flash drive by the small percentage of extra writes that a journaling filesystem will add over the lifespan of the drive. You may wish to do without swap simply because it will save space on the relatively small SSD in the Eee. Also ["DebianEeePC/TipsAndTricks"] links to some tuning tips if after reading this article you're still concerned about write life-span.

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:

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 just arrived in unstable and will be available in testing pretty soon. Please note that this package conflicts with acpi-support. You must purge acpi-support, not just remove it so that none of the acpi-support scripts that remain in /etc after removal are triggered by various acpi events.

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

Ethernet does not come up

One problem you may come across is the ethernet not becoming active. This is a bug with the chipset for when you install. To fix this, temporarily enable PXE/netboot in the BIOS. You may not come across this problem, but you can enable it and disable it at any time without problem. The problem will be gone as soon as you have installed so you may disable PXE in the BIOS after that.


  • FixMe: Can someone please confirm this is still a problem sometimes? If there are no further reports of this, this should be removed from the wiki or at least moved out of this document. It is possible the updated atl2 fixes this.


  • I did not notice this when installing today. I am using unstable's 2.6.24 kernel, along with the matching atl2-modules package from unstable.


  • [BenArmstrong] So does the problem still exist in Lenny with 2.6.22?

  • [Engywuck] Nope, simply works out-of-the-box after installing (and of course with the atl2 upgrade mentioned above, too)

Shutting down fails

There is an issue surrounding shutting down. The system halts, but the fan continues to run and the wifi light stays on. The reason is the sound module doesn't close correctly, but there is a fix!

  • Edit /etc/init.d/halt as root with your favourite text editor and add the line "rmmod snd_hda_intel"

Then it will poweroff correctly!

Microphone does not work

If the microphone does not work by default. The following fixes that.

  • Edit /etc/modprobe.d/alsa-base and add the line “options snd-hda-intel model=3stack-dig”


  • I did not experience this with unstable's 2.6.24 kernel--can anyone else confirm whether it has been fixed?

Screen resolution not large enough for some apps

Because the resolution screen is 800x480. Many applications exceed the screen. The best example is the Gnome application Evolution. See ["DebianEeePC/TipsAndTricks"]

Installer complains about initrd and wants to abort

This is no problem. Don't abort, just select continue.

NetworkManager stops functioning with wireless after resume

If you are using eeepc-acpi-scripts without the 'zzz' and 'wifi' scripts, this can be fixed by modifying /etc/acpi/actions/suspend.sh as follows:

# do nothing if package is removed
[ -d /usr/share/doc/eeepc-acpi-scripts ] || exit 0
if (runlevel | grep -q [06]) || (pidof '/sbin/shutdown' > /dev/null); then
exit 0
fi
brn_control=/proc/acpi/asus/brn
brightness=$(cat $brn_control)
#turn off wireless, stop network-manager
/etc/acpi/actions/hotkey.sh ath0 ATKD 00000011
/etc/init.d/dbus stop
#suspend
pm-suspend --quirk-s3-bios --quirk-dpms-on
#picks up here for resume
echo $brightness > $brn_control
#restart dbus (and thus nm), turn wireless back on
/etc/init.d/dbus start
/etc/acpi/actions/hotkey.sh ath0 ATKD 00000010