Running Linux on an Advent 5372 laptop

These laptops are sold by Dixons, PC World etc in the UK. The first thing I must say is this: don't buy them. They suck. The video bits are broken and they have WinModems.

If, however, you are lumbered with one of these shitboxes and want to get it running X Windows it is possible.

Other sites

Some other sites talking about this laptops:

Status

I no longer have an Advent 5372. It went with my old job. Can't say I'm unhappy about it, was a crap laptop. However I'll keep this page running (it seems very popular looking at the logs) and add to it if anyone emails me with any more information or breakthroughs.

Please don't email me asking dumb questions. I don't know anything about Windows on these laptops: this page is about Linux. Try calling the tech support line, though it seems to be manned with poorly trained gorillas but if they know one thing it should be Windows. No I don't have the drivers: that's what the links are for. I'm happy to help out with intelligent questions but please actually read the page before asking me.

Hardware

The following is the output of lspci:

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 11)
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 80)
00:01.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:01.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:01.4 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS PCI Audio Accelerator (rev 01)
00:01.6 Modem: Silicon Integrated Systems [SiS]: Unknown device 7013 (rev a0)
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP
00:03.0 CardBus bridge: O2 Micro, Inc. OZ6812 Cardbus Controller (rev 05)
01:00.0 VGA compatible controller: Silicon Integrated Systesms [SiS] SiS630 GUI Accelerator+3D (rev 11)

Chipset

These laptops come with the SiS 630 chipset. This chipset is moderately well supported by Linux, at least for sound, USB and networking.

Kernel

There's a few kernel things you might want to configure for maximum performance with these laptops. DMA speeds up communication with the hard drive and DVD drive. Using the correct chipset IDE drivers should be a good idea too. Turn on the following options and things will speed up a bit.

Networking

The laptops come with the SiS 900. The standard driver with the kernel works fine. Compile in: CONFIG_SIS900.

Sound

Sound works fine using the trident kernel driver. My colleague has had trouble getting it to work with ALSA though. There is a weird bug in the current (2.4.5) kernel that means kerneld doesn't automatically load the ac97_codec mixer before loading the trident module. You need to load it manually first.

Curiously the sound is much cleaner and noise-free under Linux than under Windows. No idea why this might be. Compile in CONFIG_SOUND_TRIDENT either as a module or direct to use sound.

USB

USB uses the OHCI driver and works fine. I've used it with USB mice, keyboards and scanner. Compile in CONFIG_USB_OHCI to use it.

Modem

It's a Winmodem. You may manage to get it going but I haven't bothered. Let me know if you have any success.

Graphics

Initially we couldn't get video on these laptops going but I managed to work it out. The problem is that there's a bug somewhere in the LCD hardware. When you change to the video mode X uses, for some reason the LCD screen doesn't work. Using the video change key (Fn-F4) to change from LCD to video out etc and once you cycle back around to LCD it works. Weird!

You have two options for working with X. You can use the framebuffer driver (graphical console) and point X at that. With the extra level of abstraction it's somewhat slow on the performance side, not helped by the lack of acceleration. If you don't think you can handle the (relatively simple) process of compiling X yourself, use this.

The second way is to download and compile your own X server using the patched version of XFree86 from the SiS site. Works alright though it's a bit of a pain to have to compile your own and not use the package system of your favourite distribution. Hopefully the patches will be incorporated into the mainstream X source and make their way into packages.

To get it to work in the frame buffer, compile in the relevant bits of the kernel (CONFIG_FB_VESA et al) and load with the following either on the LILO prompt or in your lilo.conf: vga=791. There is also a CONFIG_FB_SIS in the experimental part of the 2.4.5 kernel. Haven't tried it yet.

I'm running the patched X server from the SiS web site. It took hours to compile and isn't a nice, handy Debian package so it's not ideal but it works. I've tried the standard Debian SIS Xfree86 server but it doesn't work sadly. My colleague has his working with Mandrake though.

Below is my XF86Config file which works fine. Note it's for the XFree86 4.x series and will not work on 3.x. Also note that I have two mice: the built-in (PS/2) mouse and an external USB mouse set up with usbmgr when it's plugged in.

Section "ServerLayout"
	Identifier     "Layout0"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Mouse1" "SendCoreEvents"
EndSection

Section "Files"
EndSection

Section "Module"
	Load  "xie"
	Load  "pex5"
	Load  "glx"
	Load  "dri"
	Load  "dbe"
	Load  "record"
	Load  "extmod"
	Load  "type1"
	Load  "freetype"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "Protocol" "IMPS/2"
	Option      "Device" "/dev/input/mice"
	Option	    "ZAxisMapping"  "X"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option      "XkbModel" "pc101"
	Option      "XkbLayout" "us"
EndSection

Section "InputDevice"
	Identifier  "Mouse1"
	Driver      "mouse"
	Option      "Protocol" "PS/2"
	Option      "Emulate3Buttons"
	Option      "Device" "/dev/psaux"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	HorizSync    59.9 - 59.9
	VertRefresh  75.7 - 75.7
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "sis  "
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth     16
	SubSection "Display"
		Depth     16
		Modes    "1024x768"
	EndSubSection
EndSection

Section "DRI"
EndSection

Feedback

If you have any experiences to add, let me know.