Installing Slackware Linux 11.0 on Asus U5F

Last updated: August 2008

Remark: I don't say I understand all what I've written below. I proceeded rather
by trial, error and Google than by reading the manuals...
Still might be useful to someone else.
Use at your own risk!

General Hardware Specifications: Asus U5F - 2A100

Hardware Components
Status under Linux
Notes
100 GB SATA Hard Drive Works 2.6 kernel strongly recommended
RTL8111/8168B Ethernet Card Works r8169 module
Intel PRO/Wireless 3945ABG Card Works Need to compile ipw3945 driver + upgrade ieee80211 system
ACPI / Suspend 2 Works  
Intel HD-Audio integrated Sound Card Works  
CD/DVD drive Works DVD burning works too
DRI Works i915 module
Synaptics Touchpad Works  
USB port Works  
SD card reader Works ricoh_mmc, (mmc_core), sdhci, and sdhci_pci modules (kernel 2.6.31.6)
firewire, bluetooth, internal modem Not tested  

This laptop is operating under kernel version 2.6.19.2.
Here is my config file. (Compiled with patches, see sections Wireless and Suspend 2 below.)
Also of interest: lspci, lsmod, lsusb, df -h, fdisk -l, fstab, xorg.conf.

Basic Installation of Slackware 11

Distribution can be obtained from Slackware Linux Project pages. The installation is standard.
Remark. By default, Slackware 11 installs with 2.4.33.3 kernel, under which the disk si VERY slow (no DMA?). It's better to choose one of the 2.6 kernels instead. The rest of this text concerns the 2.6.19.2 (vanilla) kernel.

Ethernet

The module r8169 (standard part of the kernel) can handle this Realtek 8111B/8168B card as of 2.6.19.2 version.

Wireless

The laptop's Intel 3945ABG wifi card is not supported in 2.6.19 kernel. Here is the driver: ipw3945. (I use the version 1.2.0.)
You might also need to upgrade your ieee80211 system. I used version 1.2.16 to patch the kernel (run make patch_kernel in the ieee80211-1.2.16/ directory and then recompile the kernel).
Both WEP and WPA works. Note that wpa_supplicant package can be found under the testing/ directory of Slackware 11.
To get WPA running, one types:

wpa_passphrase ssid passphrase > /etc/wpa_supplicant.conf
wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -Dwext -ieth1
dhcpcd -d eth1

ACPI

The state of battery can be monitored simply by cat /proc/acpi/battery/BAT0/state,
or using GKrellM, which also comes with Slackware 11.
Analogously with the temperature.

To adjust sound with Fn+F10,11,12 set /etc/acpi/event/default, /etc/acpi/hotkey.sh.

Suspend 2

Suspend 2 works fine. Installation is standard, following the HOWTO in the above page.
I used the suspend2-2.2.9-for-2.6.19.patch, and hibernate-script-1.94. My option is to suspend to swap, which I have in /dev/sda7. This option is included directly in my kernel config. No need to modify lilo.conf now.
(Remark: the 1.94 version of the hibernate script has some problems to self-install; you need to copy the .conf files to /etc/hibernate/ manually.)
For the resuming to work safely, one has to modify the startup scripts a bit. Here is my /etc/rc.d/rc.S script. (Search for 'suspend2' to see the modifications.)

Sound

Works, but very recent version of kernel (2.6.18 was not enough) or alsa driver (version 1.0.13 is not enough, 1.0.14rc suffices) is needed.

CD/DVD

For some reason, CDs cannot be played with cdplay utility. But xine works.

With the original (default) kernel config, the drive got detected as /dev/hdc -- and was too slow to play DVDs.
I've found the following solution. The drive now gets detected as /dev/sr0.
Type xine dvd:/ and DVDs should play smoothly.
Here is another solution (not tested.)

To burn CDs, I've installed xcdroast.
(More precisely, I've compiled the 0.98alpha15 version from the source.)
However, burning a CD failed. Here is the log.
Fortunately enough, one can still burn 'manually'.
For example, the following commands backup your home directory:

cd
mkisofs -R -o /tmp/backup-u5f.iso .
cdrecord -v -dev=/dev/sr0 /tmp/backup-u5f.iso

-- last command as a root.
N.B. The device is simply "/dev/sr0", not "ATAPI:0,0,0" or so. Here is a more detailed explanation.
(Thanks to Johann A. Piest for the hint.)

Update: DVD burning works too. E.g., to burn the current directory, just type

growisofs -Z /dev/dvd -R -J .

DRI

To get DRI running, I just followed the manual. My minimalistic kernel (see above) includes AGP, but not DRM. However, there's a neat trick how to compile missing modules without recompiling the whole kernel:

cd /usr/src/linux # enter your kernel tree
make menuconfig # enable modules: drm, i915
make modules_prepare
cd drivers/char/drm/ # go to the subdirectory
make -C /usr/src/linux M=`pwd`     # compile
insmod drm.ko ; insmod i915.ko # load the modules

Before restarting the X server, the following has to be added to your xorg.conf file:

Section "DRI"
Mode 0666
EndSection


Links:

2007-8 (c) Dalibor Prazak. Comments/questions are welcome at