Linux on Asus L8400 laptops

Photo of Asus L8400 laptop

There are no major problems in running Linux on Asus L8400 laptops.

The Asus L8400B and L8400C laptops are sold both under the Asus brand and under other names.

I have personally installed Debian potato (2.2r3) and woody (3.0) on a L8400C with very few problems. I have no reason to believe other distributions shouldn’t fare as well.

Both installation and daily usage pose no major problems.

Hardware-wise the build-in modem is non-functional (winmodem) and the touchpad is only capable of two-button mode.

Installation of Linux went without a hitch though you have to be careful if you want to use the Suspend to Disk feature.

Daily use of the laptop is faily perilless and my grievances are few. There is a rather noisy cpu-fan that sets in at times, the harddisk can be a bit noisy too.

About the Asus L8400 laptops

The Asus L8400 supports:

  • Pentium III and Celeron processors (exchangeable),
  • up to 384Mb of memory (64/128Mb PC-100 SDRAM onboard, one SODIMM extension slot with up to 256Mb),
  • 14.1″ TFT display capable of 1024×768@75Hz,
  • Savage/MX-MV AGP video chipset with 8Mb memory,
  • one 2.5″ 9.5mm IDE drive up to 20Gb,
  • PCMCIA slots (2 type II or one type III),
  • RTL8139 10/100BaseT NIC,
  • ESS Allegro ES1988 sound chip,
  • CD-ROM 32x or DVD 8x or CD-RW 4x/4x/20x (CD-RW only available on L8400C),
  • PS/2 mouse (glidepad, two-button),
  • floppy drive,
  • serial port (9 pin),
  • parallel port (25 pin),
  • IrDA port,
  • two USB ports.

Please refer to Asus’ site for the specifications for L8400B and the specifications for L8400C.

Details

The output from lspci(1) on my laptop:

00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:06.0 Multimedia audio controller: ESS Technology ES1988 Allegro-1 (rev 12)
00:06.1 Communication controller: ESS Technology ESS Modem (rev 12)
00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 03)
00:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
00:0a.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
00:0a.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
01:00.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/MX-MV (rev 11)

Linux Installation

Any modern distribution of Linux should install fine on the Asus L8400 laptops. I have personally installed Debian potato (2.2r3) and woody (3.0) with no serious problems.

The computer is capable of booting from the CD-ROM so there is no need for boot-floppies.

I received my L8400C with a blank disk, but I am quite sure I have paid the infamous MS-tax, so there should have been a copy of Windows 98 preinstalled at arrival.

Hibernation

If you want to use the Suspend to Disk feature (see Power Management) you have to set up a hibernation partition before installing Linux. If you computer comes with an inferior OS already installed, you might not have to do this.

You create a hibernation partition with a program called PHDISK.EXE, a Windows/DOS program found on otherwise useless CD that comes with the computer. You will have to make a Windows/DOS bootdisk and run the PHDISK program from there. It will clear the partition table and create a hibernation partition as partition 4 at the start of the disk. The size of the hibernation partition will be the size of physical memory plus the size of video memory plus a bit extra.

Mine is 207Mb with 192Mb physical memory and 8Mb video memory.

The partitions on your disk will not be numerical order after PHDISK, but it is not a problem. Linux’ fdisk(8) might give you a warning about this: “Partition table entries are not in disk order”, but it is purely an aesthetic issue.

I have noticed an lphdisk program for linux, but I have never tried it. It might work for you and spare you a short, but traumatic period with a needlessly inferior OS 🙂

Kernel Modules

You will need the following kernel modules to use all the bits and pieces of your laptop (the 2.2 column is reconstructed by memory – some time has passed since I used Linux 2.2).

HardwareKernel 2.2
module
Kernel 2.4
module
IDE probeN/Aide-disk, ide-probe-mod, ide-mod [initrd]
Root FSN/Aext2 [initrd]
Real Time ClockN/Artc
Mousepsaux
IrDAdon’t knowdon’t know
APMKernel augument: apm=on (Debian)apm
CD-ROMN/Aide-cd, cdrom
NICrtl81398139too
Soundmaestro3, ac97_codec
Parallel portparport, parport_pc, lp
PCMCIA controller
(set in pcmcia-cs config
i82365yenta_socket
USB controlleruhci
USB printerprinter
USB disks and camerasusb-storage
USB mousemousedev
[initrd]:
If you use a kernel with initrd support you must list these modules in /etc/mkinitrd/modules and rebuild your initrd image. These modules must be loaded from the ramdisk so IDE controller module, disk driver module and the root file system module are all loaded before the real root file system is mounted. The system will probably not boot properly without these modules.

X Windows

The Asus L8400 laptops uses an S3 Savage MX video chipset. Mine has a Savage/MX-MV, other models might have slightly different chipsets.
Xfree86 4.0 and 4.1 has support for the S3 Savage MX through the savage(4) driver. DRI is not supported.20040723

There are two sets of drivers: the original one is developed by Tim Roberts, the second is developed by S3 Graphics, based on Tims driver.

There is is limited support for the S3 Savage MX in Xfree86 3.3. I am not aware of the current status of this support. If at all possible it will probably be easier to upgrade to 4.1

Configuration

I have the following sections in my XF86Config-4 file.

The internal mouse is a perfectly normal two-button PS/2 mouse:

Section "InputDevice"
	Identifier	"Internal Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/psaux"
	Option		"Protocol"		"PS/2"
	Option		"Emulate3Buttons"	"true"
EndSection

The Savage chipset uses the “savage” driver.

Section "Device"
	Identifier	"savage"
	Driver		"savage"
	VideoRam	8192
EndSection

The monitor configuration is straightforward. These settings give 1024×768@85Hz. I enable DPMS but I am having some problems with it. Please see later. The frequency ranges are as recommended by Tim Roberts.

Section "Monitor"
	Identifier	"lcd"
	HorizSync	30-70
	VertRefresh	50-90
	Option		"DPMS"
EndSection

This is just to glue it all together. I haven’t tried all combinations, in fact I have only used a depth of 16. That works brilliantly.

Section "Screen"
	Identifier	"Default Screen"
	Device		"savage"
	Monitor		"lcd"
	DefaultDepth	16
	SubSection "Display"
		Depth		1
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		4
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		8
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		15
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		16
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		24
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Problems

I am having some minor problems with X-windows. Nothing serious, though.

I can’t get DPMS to work properly. I have it enabled in the XFree configuration, and it shows up in the output of “xset q” as enabled. Now, if I enable screen blanking in the BIOS, the BIOS will blank the screen when its time limit is up, regardless of the limits set in X. If I disable screen blanking in the BIOS, there is no way I can get DPMS in action in X. A “xset dpms force off” is a no-op. It seems to me that the DPMS settings in X has no effect at all. If might be an issue with the savage driver, but I am not sure.

If you use StarOffice, some versions of the savage driver can cause X to freeze when you start StarOffice. This has been fixed later in Tim Roberts driver, but if you use the older driver you can avoid the problem by setting the environment variable SAL_DO_NOT_USE_INVERT50=true before launching StarOffice.

Sound

The Asus L8400 laptops come with an ESS Technology ES1988 Allegro-1 audio controller. It is also called an Maestro-3

The maestro3 OSS driver is included in Linux 2.2 and Linux 2.4.
It works to the extent I have used it. I can play sounds from various programs, play audio CDs, listen to the radio, …

There is a page dedicated to the Maestro3/Allegro linux sound driver.
The volume control on CD-ROM drive on the right side of the laptop works as a master volume dial. It is not just for playing audio CDs. I use it a lot, as it allows you to control the volume of any sound playing program, such as realplayer and xmms.

Power Management

The Asus L8400 laptops support APM and ACPI.

You must enable apm in you kernel, at compile time, with an apm=on kernel argument, or my loading the apm module (in Linux 2.4).

The hardware sends APM events and you must install and run the apmd(8) daemon to use the APM features of the laptop. This daemon will receive the events and run a shell script in reaction to the events. On Debian this script will in turn run all the scripts found in /etc/apm/event.d so it is quite easy to add private scripts to the event actions.

Suspend to Disk

The Phoenix BIOS has the ability to suspend the system, save the state of the entire laptop to disk before shutting down the computer. When power is switched on later the saved state will be restored and the computer will resume where it was suspended.

Suspend to Disk is activated by pressing Fn-F1.

To use the Suspend to Disk feature a special disk partition must be present.
Suspend to Disk works with Linux, but does cause problems with the network adapter. It has no power when the computer is in suspend mode, and loses some internal state. After the system is resumed any net activity will cause a large number of error messages.

The solution is to disable networking before suspend and re-enable it after the system is resumed. This is done thrugh the event handler script of apmd(8).

On Debian the following script can be placed in /etc/apm/event.d/networking. It will stop the network on suspend and standby events and restart it on resume events.

#! /bin/sh
case "$1" in
resume)
    /etc/init.d/networking restart 1>/dev/null 2>&1
    ;;
suspend|standby)
    /etc/init.d/networking stop 1>/dev/null 2>&1
    ;;
esac

The script must be executable to work.
I know of no way to have the system go into suspend mode when the lid is closed. It should be possible, though.

Automatic power down

Normally the laptop will reboot then Ctrl-Alt-Del is pressed. The turn off power the power switch on the front must be pressed to the right for a few seconds.

What happens when Ctrl-Alt-Del is pressed is determined by /etc/inittab. There will most likely be a few linies similar to these (look for “ctrlaltdel” in the third field):

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

Just change -r to -h to halt the system instead of rebooting. Activate the changes immediately with the command “telinit q“.
I know of no way to have the system shut down when the lid is closed.

Harddisk

Spinning down the harddisk is enabled in the BIOS. If this is not enough, add the command hdparm -S 72 to your startup scripts (-S 72 makes the disk spin down in 6 minutes, read hdparm(8) for detail on the number).

To actually get the disk to spin down you have to avoid regular disk access when the laptop is not in active use. Some daemons will regularly read or write files and these programs must then be avoided. Also watch out for cron jobs run with very short intervals. Some distributions have several crontabs. Debian has /etc/crontab and all the files in the directory /etc/cron.d

One potential offender is the postfix mail transfer agent. Allegedly there are ways of keeping postfix from touching the harddisk every so often, but as laptops often don’t need advanced mail handling it is much easier to switch to a less complicated MTA. Exim is a good choice, as it can use inetd for incoming mail (i.e., no separate daemon process) and queue runs are done from cron making it easy to adjust the frequency (thats /etc/cron.d/exim on Debian). As most mail is delivered immediately anyway, I just have a queue run every three hours, nighttime excluded.

Another potential problem can be the --MARK-- messages syslogd(8) writes to the system log, usually with 20 minutes intervals. Since they are rarely needed on a laptop they can just as well be disabled. It is done with the -m 0 option to syslogd (in /etc/init.d/sysklogd on Debian).

LPRNG can also prevent the harddisk from spinning down. If there are jobs in a print queue but the printer is not connected lpd will try to send the jobs every ten minutes. To avoid the problem either shut down lpd when not used, switch to something else (like PDQ without a spooler) or adjust the polling intervals in /etc/printcap (for LPRNG it should be the settings lpd_force_poll and lpd_poll_time).

Display

Screen blanking can be enabled in the BIOS.
I have not been able to use the DPMS features of XFree86. See the section on X-windows for more information.

Battery

The battery is an 8-cell Lithium Ion (Li-Ion) battery.
Asus states the battery will last 2½-3 hours.
I usually run my laptop on AC power most of the time, so I use the battery sparingly. I have no independent measurements of battery life.

Peripherals

This section covers the remaining peripherals in the laptop.

Modem

The modem is unsupported under Linux. It is a winmodem integrated on the soundchip. I don’t think there is much hope here.
Please help if you have any information worth sharing. Add a comment at the end of this page.
The site www.linmodems.org is probably a good starting point for a desperate but doomed attempt at finding a working driver. It will most likely be a lot easier buying a PCMCIA modem if a modem is needed.

Network Interface Adapter

The NIC is a Realtek RTL-8139. Under Linux 2.2 it uses the rtl8139 driver, and under Linux 2.4 the 8139too driver. I have no idea as to why they changed the name.
The only problem is with power management and suspend mode. Please see the section on Power Management.

PCMCIA

I have very little information.
It is a Ricoh RL5c476 II cardbus controller. It uses either the i82365 og the yenta_socket driver. I have used the yenta_socket driver with Linux 2.2.16 and 2.4.16 and it detects the two pcmcia slots. It should work with any supported PCMCIA cards.
I have used a “Netgear MA401 Wireless PC Card” with success. If the card is not recognised automatically, it might be necessary to add the following entry to the pcmcia-cs configuration file (/etc/pcmcia/config or /etc/pcmcia/config-2.4 under Debian):

    card "NETGEAR MA401RA Wireless PC"
      manfid 0x000b, 0x7300
      bind "orinoco_cs"

I have also recieved information that it works with an Elsa wireless LAN card.

IDE Controller and Harddisk

The IDE controller is an Intel 82371AB PIIX4 IDE. My laptop comes with a 10Gb IBM harddisk but it can be replaced with any 2.5″ 9.5mm IDE disk.
Disk I/O can be improved somewhat by enabling DMA and 32-bit I/O. The hdparm program is needed for this (in Debian it is in the hwtools package). The command to use is:

hdparm -c 1 -d 1 /dev/hda

I have experimented with other settings, but certain combinations can cause the system to hang. Most notably, the -m NN option causes problems.

Mouse / glidepad

It is a two-button PS/2 mouse. It works with the psaux kernel driver.
Unfortunately the mouse is not capable of three-button mode as are some glidepads (where a tap on the glidepad is the left mouse button while the two buttons in front are the middle and the right mouse buttons).
Install the Debian package “tpconfig” or similar if you want finer control over the glidepad.

Universal Serial Bus

The USB controller has not given me any problems.
It is a Intel PIIX4 controller that has two different drivers, uhci and usb-uhci. I use the former. I haven’t tried the latter.
I use a USB mouse (using the mousedev driver), an Olympus C-700UZ digital camera (with the usb-storage driver) and a cheap Lexmark Z13 printer (with, lo and behold, the printer driver).
I have tried with Linux 2.2.19 and Linux 2.4.16, both installed from Debian packages.

Keyboard

There are two special keys S1 and S2 (found on Fn-F5 and Fn-F6) but they are not usable. Under X-windows they don’t send any keycodes. I don’t miss them, though.

Parallel Port

The parallel port works as expected.
I have only tried it with an old HP LaserJet III, not with other more demanding devices such as ZIP drives and parport scanners.

Serial Port

I have no information here, but neither any reason to believe it
shouldn’t work.

IrDA

I have no information.

Other Network Resources

I have found these pages very useful in my work with the Asus L8400 laptop:

L8400B specifications STALE LINK!
Asus techinical specifications of the Asus L8400B
L8400C specifications STALE LINK!
Asus techinical specifications of the Asus L8400C
Tom’s Hardware Guide
Everthing you ever wanted to know about the inside of an ASUS 8400 laptop.
Linux on Asus L8400C
Installed operating system: SuSE Linux 7.0 -> 7.1 -> 7.2 -> 7.3
The Linux Laptop Home Page
The main Linux on laptops portal.
The Linux USB Home Page
The main USB under Linux portal.
XFree86(TM): Home Page
Anything XFree is found here, including driver information.
Tim Roberts Savage driver
Tim Roberts Savage driver for XFree86 4.1
S3 Graphics’ Savage driver
S3 Graphics’ Savage driver for XFree86 4.1, derived from Tim Roberts’ driver.
lphdisk
A Linux version of PHDISK for creating hibernations partitions.
Maestro3 driver
The driver for the Maestro3/Allegro-1 chipset.

Open ends or unsolved problems

There are some things that still don’t work as it should.
The modem is unusable.
I don’t know how to suspend og shut down the system when the lid is closed.
The special keys S1 and S2 has no effect.
I cannot get DPMS to work properly.
Please add a comment below if you have some useful information that should be added to these pages.


Comments

12 responses to “Linux on Asus L8400 laptops”

  1. JT Moree avatar
    JT Moree

    Not all L8400 have the same sound card. Mine had an Aureal Vortex. Had to use a proprietary driver. There is a sourceforge project but it did not always work either.

  2. Arnold Robbins avatar
    Arnold Robbins

    Mine also (L8400B) has a Vortex. Seems to work OK under Fedora 2, Linux 2.6.x.

    I am struggling with ACPI issues and suspending the laptop. Any chance this page will be updated for 2.6 soon? Thanks!

  3. Johannes Berg avatar
    Johannes Berg

    Mine just burned up around 2 weeks ago. I was upstairs for dinner, and when I got back it was really really hot, screen black, nothing worked. I could touch it again after about 10 minutes after unplugging. If you want to see how it melted look at http://johannes.sipsolution… which shows the panel the fan is under from below (note the things with the springs that keep the keyboard down)

    Well. HD still works (I have it here in a usb 2.0 case now), AGP controller was totally f’ed up (it looked weird, maybe I’ll scan it too), and the board short circuits.

    Moral of the story: don’t let the thing sit on something flammable!

  4. Valerio Schiavoni avatar
    Valerio Schiavoni

    My lk8460, same hardware as described, has the S2 button working: it turns on the laptop.
    I was able to use hardware acceleration using cvs version of DRI drivers, which was strongly unstable, so I removed it.
    I’m using it with debian/unstable, kernel series 2.4.25 (to enable isa-bus and use a pcmcia-modem), and 2.6.9 with slightly no problem.

  5. Valerio Schiavoni avatar
    Valerio Schiavoni

    Just forgot to mention: i was able to use suspend-to-disk only once.
    I currently can use suspend-to-ram with a echo 3 >/proc/acpi/sleep

    it’d be easy to make a sleep script for it.

    bye
    Valerio

  6. Oliver Schmidt avatar
    Oliver Schmidt

    My L8400K (distributed in Germany by MEDION (ALDI Brothers)) works fine under GENTOO Linux 2.6.9, with Gnome 2.8.2.
    SoundCard: ESS 1988 Allegro
    WireLess Lan: D-Link DWL-G650+ with ndiswrapper (works very fine) – pragmatic installation

    greets Oliver

  7. Karsten Krispin avatar
    Karsten Krispin

    Getting S1/S2 buttons to work:

    use the acpi-daemon.

    look with acpi_listen which events are raised.

    Additionally you need to include the acpi-asus extention for the kernel (avaible in standard kernel)

  8. AF1_PurP avatar
    AF1_PurP

    wanted to know if the stock L8400 came with op in a pation haveing problemd trying to help friend get his notebook back up and running need to also fins out if so can i format do clean install.

  9. I’ve installed Mandriva 2006 with no problem 🙂

  10. Good Day
    We Will Like To Places An Order But Before We Do, I Will Like To Know The Following: If You Can Ship To LONDON U k Via DHL/UPS/ And Also If We Can Make Payment Via Visa/MasterCard.If Yes i Will like You to get Back To Me With Your Product Website For Me To Choose The Items I Will Need In Your Store.
    Shipping Address:
    Williams Matte
    21-23 OLD NICHOL STREET.
    SHOREDITCH,
    LONDON,
    E2 7HR.
    UK.
    Tel: 44-7031910791
    Get Back To Me Soonest.
    Thanks.

  11. lord davros avatar
    lord davros

    matte… i am guessing you are one of these scammers… get a life and a job!!!!!! you put a shadow on the human race

  12. my L8400 motherboard broken, where i can buy the spare part? because the supplier at my state told me, the motherboard for L8400 out of stock.
    Thanks