TuxMobil
site map · index a-z · search   





Resources

· Wholesale Cell Phone Accessories on DHgate.com




Linux on the ASUS L5800DF Laptop

Specs

  • CPU: AMD Athlon64 3000+ (1 MB L2-Cache)
  • Chipset: nVidia nForce3
  • Graphics: nVidia GeForceFx Go 5650
  • Display: 15" TFT @ SXGA+ resolution (1400x1050)
  • RAM: 512 MB DDR
  • Harddisk: Hitachi IC25N060ATMR04-0 with 60 GB
  • Optical: built-in DVD-RW drive (Toshiba DVD-ROM SD-R6112)
  • Network: 1 GBit/s LAN (Galileo Technology), 802.11g WLAN (Broadcom BCM94306)
  • Modem: nVidia nForce3
  • Audio: nVidia nForce3 AC97, Head-Out, Mic- and Line-In
  • IrDA
  • Parallel + serial port
  • VGA and TV-Out
  • Firewire: 1 small port (1394a)
  • USB: 4 ports (2.0)
  • PC-Card: 2 slots
  • Weight (including battery): 3.8 kg
  • Useable as CD player without booting an Operating System
  • See the ASUS product page.


BIOS

You can reach the BIOS via F2. Hitting <ESC> on startup lets you choose between several boot devices (hard disk, cd, removable).

Installation

The machine is installed with Novell/SuSE 9.1 64-bit which was a rather painless procedure. Afterwards, kernel 2.6.7 with the latest ACPI-patch from 20040717 was installed. Astonishingly, the SuSE kernels are unuseable when booting with LILO, due to some problems with the initrd (incomplete write). Trying to install Grub with "grub-install /dev/hdc" failed with the error message: "/usr/lib/stage1" not found, but re-installing Grub with Yast succeeded and the SuSE kernel is bootable again. So you have to use Grub when you want to use the SusE kernel as well.
When looking at the other issues mentioned below, 32-bit still seems to be the mode which gets the best results, although untested on this specific machine. Otherwise, the machine feels fast (kernel compilation) and stable.

Update:
The problems with LILO are not apparent when using a kernel that doesn't require an initrd. Everything seems fine on SUSE 9.2 with the default 2.6.8 kernel. Gentoo 64 bit universal install disk 2004.2 requires a mknod for each partition on the hdc drive as it doesn't detect /dev/hdc at all. The Gentoo bugzilla system informs me this is now resolved so either 2004.3 or 2005.0 should work OK. Solaris x86 panics on hardware detection and freezes, 32 bit versions of Debian, Xandros and Gentoo all install fine. All further testing was carried out on SUSE 9.1 and 9.2.
Interestingly, Wine and WineX (now Cedega) binaries will work fine on the 64 bit version of SUSE as it is a bi-arch distro and also contains the 32 bit versions of the neccessary libraries as well as the 64 bit versions. Don't expect to be able to compile these from source though (I have an additional partition running the 32 bit version of 9.2 which I use to create 32 bit RPMs for just such a purpose! So far I have successfully installed Wine, WineX and MPlayer with the win32codecs on my 64 bit system in this manner).

Screen

XFree86

XFree86 runs out of the box with the free nv driver. Unfortunately, this driver does not supply 3D acceleration at the moment, so you have to switch to the proprietary driver from NVIDIA which also supports 64-bit. The proprietary driver is yet untested.

Update:
The proprietary driver builds a module against the kernel source so this must be installed before running the nvidia build script. 3D acceleration works fine and the NVidia installer also places 32-bit compatibility libraries on your system for a bi-arch setup (this fails in Gentoo as it is not bi-arch). Doom 3 installs on a 64-bit system without fuss and is very playable even at a resolution of 1024x768 and using medium detail. Using higher res and/or detail can cause the graphics to get choppy (interestingly, on the same machine under WinXP Doom 3 is too choppy to be playable). Quake 3 Arena also runs flawlessly although you need install in through the linux32 wrapper command to get the installer to behave (e.g;, #> linux32 ./quake3.sh ).
The card may be futher tweaked by adding the line: options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1 NVreg_ReqAGPRate=8 just before the alias char-major-195* nvidia line in the /etc/modules.conf file for extra speed. Passing idebus=66 to the kernel command line (in grub or lilo or at boot time) will also improve performance as will adjusting the DMA modes of the hard-drive and DVD/CDRW in YaST and compiling a custom kernel tweaked specifically for the Athlon 64 CPU and nForce chipsets. Using these tweaks I was able to get glxgears giving framerates of 3409.000 FPS at normal size and 273.600 FPS when maximised. Suffice it to say Doom 3 runs very nicely on this configuration.

TouchPad

The touchpad works fine, either with the plain PS/2 driver or with the synaptics driver. Yast does not seem to be able to cope with synaptics, although it is shipped with SuSE 9.1. The current version 0.3.13 of the driver could not be installed due to problems when linking Xext to the binary.

Update:
The synaptics driver works fine in SUSE 9.2. Use SaX to reconfigure it and you'll get tap/drag modes running. You should also add a second mouse mapped to USB using IMPS/2 protocol to get the full 3-button + scrollwheel functionality of the supplied USB mouse. Select Alt/Win behaviour in the advanced keyboard section in SaX and you'll also get the Win and Menu key's functioning under Xorg/XFree.

Console

The driver nv renders the text console unuseable as soon as X11 is started. Using framebuffer or VGA drivers for X11 was not tested.

Update:
SUSE 9.2 fixes this problem.

TV-Out

You may switch the TV display type between NTSC and PAL in the BIOS. Dunno if you can use it with Linux.

Update:
See TwinView section below.

VGA-Out

When being connected at boot-time, it shows the same content as the internal display, but only until X11 is started. Then, the screen is completely garbled with funny colours and symbols all around. The garbled screen is also seen when the display is plugged in somewhen at run-time.

TwinView/Xinerama

After a long night reading docs and fiddling around with settings in XF86Config/xorg.conf TwinView was eventually enabled. The laptop's LCD must be configured as the secondary device and the TV/Monitor as the primary. Configuring 2 separate X screens with different resolutions is also possible with this card. For configuration of both TwinView and 2 separate X Screens see this NVidia README. Example XF86Config files for setting up both TwinView and 2 X screens are given below (these also contain the synaptics touchpad and USB mouse as input devices) Both these files are configured to use the TV out in UK PAL format as the second monitor, this should be adjusted as necessary for your particular setup, e.g. for NTSC
XF86Config-TwinView
XF86Config-2XScreens
(to use these with XFree86 rename them to XF86Config, with XOrg rename them to xorg.conf - on SUSE 9.2 this is not necessary as xorg.conf is a symlink to XF86Config).

Display Switching by Hotkeys

When a TV is plugged in to the SVideo port and when hotkeying between the console and X the console get's corrupted, this is a known issue with the proprietary drivers that NVidia are addressing. Loading the asus_acpi module and echoing 1 through 6 to /proc/acpi/asus/disp switches output devices. Instructions to enable using the hotkey's for this (and other functions) with SUSE's powersaved are provided by the asus-hotkeys project. It should be noted that TwinView and switching between monitors via ACPI in this manner are mutually exclusive.

Cards

PC Card

PCMCIA does not work correctly, the driver is yenta_socket. When /etc/pcmcia/config.opts is extended by these two lines:

include memory 0xf8a00000-0xfeafffff
include port 0x0000b000-0x0000dfff

devices are recognized. But an inserted network card shows transmission and collision errors and an inserted modem card claimed the ttyS* which were already used by the internal serial port and IrDA.

Update:
PCMCIA works fine under SUSE 9.2. (My Atheros based PCMCIA wireless card was detected and an ath0 network device setup automatically upon insertion).

SD/MMC-Card Reader

Does not work. According to lspci, it seems to be produced by Ricoh.

Update:
Unable to test this under SUSE 9.2 due to a lack of an appropriate memory stick.

Network

LAN

The network interface works with the sk98lin driver.

WLAN

Currently, it is impossible to use that chip in 64-bit mode. Here is an excerpt from the FAQ of ndiswrapper:

"Can I use ndiswrapper in 64-bit mode (for AMD64)?
No. There are two problems. NDIS (Windows) drivers don't work in 64-bit mode. It is not possible to run 32-bit NDIS drivers in 64-bit mode (we run the Windows drivers natively on the processor, no binary emulation). Second problem is that ndiswrapper itself assumes 32-bit word lengths. This problem can be fixed easily once 64-bit NDIS drivers are available.

That first problem mentioned here was also confirmed by an email from Linuxant, the developers of driverloader which uses a similar approach to get unsupported network hardware to work.
And, of course, there is no chance for a free driver as long as Broadcom does not provide the community with the necessary specifications."

Update:
There is an on-line petition to Broadcom to get them to provide a Linux driver for their BCM4301 range of wireless cards (the card in the L5826DF is a BCM4306 which I beleive belongs to this family of chipsets). If you want to show your support you can sign the petition at http://www.petitiononline.com/BCM4301/petition-sign.html. At time of writing there were over 9000 signatures.

Under SUSE 9.2 my Atheros based PCMCIA wireless card was detected perfectly and a wireless network setup automatically upon insertion. SUSE 9.2's stock kernel also contains a large collection of wireless driver modules, including the MadWifi modules which worked flawlessly. Kismet did leave the card in the unusable state that it warned about but a simple re-insertion and all was well with the wireless world again.

Power and Configuration Management

ACPI

ACPI seems to work, did not experience any direct problems yet. Values given in the files in /proc/acpi seem reasonable, although wakeup, alarm and the such have not been tested.

Standby

S1 has only been tested briefly and it does not seem to work. The machine gets to sleep but does not wake up. It is necessary to pull out the battery and put it back in to get the machine to boot afterwards.

Suspend-To-RAM

S3 has only been tested briefly as well and it does not seem to work, too. The kernel prints an oops and then requires a cold start.

Suspend-To-Disk

SWSUSP2 does not compile and initiating S4 with SWSUSP does not have any effect on the system, the request seems to be ignored.

Update:
Suspend to disk works under SUSE 9.2 only if you use the nv kernel module and not the nvidia binary. The NVidia README states that this is a known problem that NVidia are addressing and should be resolved in the next release of the driver.
Suspend 2 from the cko3 kernel patchset will not compile on AMD64 due to it's reliance on himem which is not supported on this platform.
None of the other suspend states are currently working under SUSE 9.2.

CPUFreq

The module powernow-k8 should be chosen. The user-space daemon cpufreqd runs fine with it.

Update:
SUSE 9.2 has selectable power policies in the kpowersave kicker applet. These work flawlessly. Interestingly, however, the machine must be started with the power supply plugged in to be able to change processor frequencies. If it's started on battery power then plugged into the mains it will remain stuck at 800 MHz and will not respond to acpi calls to change from this mode. I beleive this to be a kernel issue which will hopefully be resolved as the acpi code matures.

Hotkeys

All Hotkeys work with the driver asus_acpi. They can be configured via the acpid. For a proper configuration of the hotkeys, it is necessary to remove the packages powerprefs and kpowerprefs, so that acpid can take control. Since that also leads to losing the battery icon in the kicker, you have to enable klaptopdaemon manually by editing /opt/kde3/share/services/kde/klaptopdaemon.desktop to set X-KDE-Kded-autoload=true.

Update:
This is not neccessary if you use the hotkey_proxy script from the asus-hotkeys project, or create your own.

Sound

Sound works with Advanced Linux Sound Architecture - ALSA driver snd-intel8x0, although it is an nVidia chipset. Alas, the mixer settings are set to an arbitrary value invented by KDE every time you log into it. So either do not use KDE or let your user's .bashrc execute sudo /usr/sbin/alsactrl restore and setup /etc/sudoers appropriately.

Update:
If you install kamix and aumix (defualt in SUSE 9.1, in SUSE 9.2 you'll need to uninstall kmix and install kamix in it's place) you can use the hotkey_proxy script from the asus-hotkeys project, to control the volume with the fn-f10/f11/f12 keyboard hotkeys (for advanced users and users of other distros this script can also be used with acpid and/or other mixers by simply making the approriate changes).

Modem

The driver slmodem (slamr) from SmartLink, some later version than 2.9.9 could work. 2.9.9 is not useable in 64-bit mode, it even fails to compile.

Update:
It may be possible to run the slmodem in alsa mode for 64 bit. Before compiling the source make sure you have the 32 bit alsa libraries installed then open the Makefile under the modem subdirectory and edit the following lines:

add -m32 to CC so that it reads:

CC:= gcc -m32

Add /usr/lib/libasound.so to sysdep-objs so that it reads:

sysdep-objs:= sysdep_common.o /usr/lib/libasound.so

Comment out the slmodemd: -lasound line under ifdef SUPPORT_ALSA so that it reads:

#slmodemd: -lasound

then save and exit. Next run make SUPPORT_ALSA=1 in the top level directory. This will build the modem against the 32 bit alsa libraries. You'll then have to pass the --alsa switch to slmodemd to use it.

e.g; ./slmodemd --alsa --country=(your country)

The L5826DF has an HSF modem which works with the hsflinmodem drivers from Linuxant. There are no 64 bit binaries yet but Linuxant tell me they are working on it and they should be available soon. The 32 bit code runs fine with a 32 bit kernel but on installing from source it seems to delete all the other kernel modules. My advice, if you are not going to use the prebuilt RPMs, is to rename the /lib/modules/2.6.8-24 directory before installing, then once hsfconfig has been run replace all the modules and merge all the module info by hand, also remove any reference to hsf in the /etc/init.d/ directory as this will attempt to rebuild the module each time you reboot (there's some serious flaw with linuxant's build process which I hope will be resolved when the 64 bit driver is released). The hsflinmodem drivers also seemed to disable the USB on my 32 bit install of SUSE 9.1. SUSE 9.2 didn't seem to be affected so I'm not sure if it was just a quirk on my particular setup.

Infrared Port - IrDA(TM)

SIR

Simply supply irattach with /dev/ttyS1 and off you go.

FIR

Kernel 2.6.7 does not ship with many FIR drivers for 64-bit. nsc-ircc for example, which might be the driver to use, is not available.

DVD-RW

The drive works fine on /dev/hdb, both reading and writing DVD-RWs.

Update:
The L5826DF only has a DVD-ROM/CDR-RW combo. This also works fine.

USB

Works, mostly. The shipped USB 1.1 Mouse works fine. An external harddisk with USB 2.0 is recognized, but the system stalls when mounting it. The mount process has to be killed from another terminal. Also, the system had problems booting, then the harddisk was plugged into the machine at boot-time. The init-scripts were stalling after the start of crond, until the device was plugged out.
Another annoyance is SuSEs handling of removable devices under KDE. An USB stick, mounted via KDE facilities, is not unmountable until you kill the process kdeinit which hog-ties the device. Interestingly, a 32-bit SuSE 9.1 on another laptop did not have these problems with a USB stick.

Update:
SUSE 9.2 32 or 64 bit did not have this problem.

The USB stick supplied with this laptop shows up as /dev/sda1 and a USB Iomega Zip drive shows up as /dev/uba4, YaST will autodetect both if you use the partitioner tool.
Sometimes a USB stick will not be automagically mounted under subfs, especially if it is formatted as vfat (which most will be). This is an issue with SUSE's hotplugging script which may be fixed by editing the /etc/hotplug/hotplug.subfs.functions file. Look for a block of code that reads:

case "$fstype" in
	*null*)
		if [ ! -x /sbin/blkid ] || ! /sbin/blkid "$device" >/dev/null; then
			return 0
		fi

Next, comment out the line "return 0" and add the line "fstype=auto" instead. When hotplugging is restarted it will now at least try to determine the filesystem of unknown USB devices rather than just exiting as was the default behaviour.

My Mustek USB scanner was detected by YaST and works flawlessly.

The USB Joysticks I tested work perfectly in YaST, however if you need /dev/js0 you'll have to create it manually as it doesn't exist. To do this type mknod /dev/js0 c 13 0 as root. If you set a symlink to /dev/input/js0 the symlink will be removed when the joystick is unplugged.

FireWire

The ohci1394 module loads fine, though FireWire was not really tested due to the lack of a proper device.

Survey PCI Devices

Output from lspci:

0000:00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
0000:00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
0000:00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
0000:00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5) (prog-if 10 [OHCI])
0000:00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5) (prog-if 10 [OHCI])
0000:00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2) (prog-if 20 [EHCI])
0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio (rev a2)
0000:00:06.1 Modem: nVidia Corporation: Unknown device 00d9 (rev a2) (prog-if 00 [Generic])
0000:00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5) (prog-if 8a [Master SecP PriP])
0000:00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2) (prog-if 00 [Normal decode])
0000:00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4) (prog-if 00 [Normal decode])
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 031b (rev a1) (prog-if 00 [VGA])
0000:02:00.0 Ethernet controller: Galileo Technology Ltd.: Unknown device 4320 (rev 13)
0000:02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
0000:02:01.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
0000:02:01.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 03) (prog-if 10 [OHCI])
0000:02:01.3 System peripheral: Ricoh Co Ltd: Unknown device 0576 (rev 01)
0000:02:01.4 System peripheral: Ricoh Co Ltd: Unknown device 0592
0000:02:02.0 Network controller: Broadcom Corporation BCM94306 802.11g (rev 03)

Resources

Credits

  • Created by Sebastian Henschel
  • Updated by Simon Morgan







print · i-mode · WAP · PDA
contact · imprint · privacy (P3P) · sponsors · RSS

© Werner Heuser 1997-2013 · http://tuxmobil.org/asus_l5800df.html · last change Wed Nov 26 2008