The Asus S5200N is a 12.1-inch subnotebook. Because I'm to lazy to write a new review I point you to this sites:


The table below shows the most important information about the components of this notebook. It's similar to this overview from Asus.

› chipset Intel 855GME and ICH4-M Chipset,
Intel 82801DBM UHCI and EHCI USB Controller,
Ricoh RL5c476 II CardBus Controller,
Ricoh R5C552 IEEE 1394 Controller (not powered!)
lspci -vvv
› processor Intel Pentium M 1.6 GHz cat /proc/cpuinfo
› hard drive Hitachi/IBM Travelstar IC25N060ATMR04-0
2.5-inch ATA 100 / S.M.A.R.T. / 60 GB
hdparm -I /dev/hda
› video card Intel Extreme Graphics 2
up to 64 MB shared RAM
› display 12.1-inch XGA (1024x768) TFT Display
256K colors max
› sound card Intel 82801DB (ICH4) AC'97 Audio Controller
› modem Conexant HSF softmodem CXT22
V.92 / K56 flex
output from scanmodem
› ethernet devices Realtek RTL8139 810x Family 10/100 Mbps LAN Adapter,
Intel PRO 2100 802.11b WLAN Adapter
› optical storage device Asus SCB-2408-U DVD/CD-RW
External Slim Combo USB 2.0 / 24X/12X/24X/8X
› pointing devices Synaptics Touchpad with Firmware 5.9,
Cellink Wireless RF USB-Mouse
› card reader Ricoh RL5c476 II Card Reader
MMC, SD, Memory Stick , MS PRO flash card slot
› special keys 9 software controlled, 4 hardware controlled


The table shows Linux compatibility with kernel 2.6.18. Everything highlighted in green is fully supported. Orange means particularly supported and everything in red isn't supported at the moment.
chipset acpi, chipset, usb, firewire, cardbus
processor speedstep
hard drive udma
video card framebuffer, hardware acceleration
sound card works
modem works
ethernet devices wired lan, wireless lan
optical storage device works
pointing devices touchpad, usb mouse
card reader SD-Cards (slow read/write performance), MMC-Cards, Memory Sticks
special keys works


debian base system
I used etch netinstall with Debian installer. There's nothing special to talk about. Just follow the instructions.
custom kernel
I'm using a Debian kernel (linux-source-2.6.18). By using a recent kernel you won't have this problem any longer. The kernel configuration below is related to this version. Maybe my kernel .config file is interesting for you.
chipset (acpi, usb, firewire etc.)
Kernel configuration:
Power management options (ACPI, APM)
  [*] Power Management support
  [*] Software Suspend
Power management options (ACPI, APM) -->  ACPI (Advanced Configuration...) support
  [*] ACPI support
  [*] Sleep states
  <M> AC Adapter
  <M> Battery
  <M> Button
  <M> Video
  <M> Fan
  <M> Processor
  <M>   Thermal Zone
  <M> Asus/Medion Laptop Extras
  [*] Power Management Timer Support

Suspend-to-RAM (S3) finally works. But I experienced some problems. After wake up the display stays black. Add acpi_sleep=s3_bios to your kernel command line. Another problem is that the notebook only wakes up after pressing the power button - other keys don't work. Unfortunately acpid recognize this event and shuts the system down. A solution:
'modprobe -r button'
removes the responsible module. Reload it after wake up again:
'modprobe button'
Or much easier: install the hibernate-package. It solved all my problems with S3 and S4.
Kernel configuration:
Device Drivers --> ATA/ATAPI/MFM/RLL support
  <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
  <*> Include IDE/ATA-2 DISK support
  [*] Use multi-mode by default
  <*> generic/default IDE chipset support
  [*] PCI IDE chipset support
  [*] Sharing PCI IDE interrupts support
  [*] Generic PCI IDE Chipset support
  [*] Generic PCI bus-master DMA support
  [*] Use PCI DMA by default when available
  <*> Intel PIIXn chipset support

Device Drivers --> Input device support
  [*]   Provide legacy /dev/psaux device
  (1024) Horizontal screen resolution
  (768) Vertical screen resolution
  <M> Event interface 
  [*] Mouse -->    
  <M>   PS/2 mouse
  [*] Miscellaneous devices -->
  <M>   PC Speaker support
Kernel configuration:
Device Drivers --> USB support
  <M> Support for Host-side USB
  [*] USB device filesystem
  [*] USB suspend/resume
  <M> EHCI HCD (USB 2.0) support
  <M> UHCI HCD (most Intel and VIA) support
Enable other features related to your hardware (USB Printer, USB-Stick etc).
Kernel configuration:
Device Drivers --> IEEE 1394 (FireWire) support
  <M> IEEE 1394 (FireWire) support
  <M> OHCI-1394 support
Enable other features related to your hardware (Firewire hard drive etc).
Kernel configuration:
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --> PCCARD (PCMCIA/CardBus) support
  <M> PCCard (PCMCIA/CardBus) support
  <M>   16-bit PCMCIA support
  [*]   32-bit CardBus support 
  <M> CardBus yenta-compatible bridge support
I recognized a problem with one of my four cards. It's 3COM 3CXFE575CT LAN PC-Card. After inserting the following message appears:
cs: pcmcia_socket1: unable to apply power
Even though the card works without problems. According to this site the reason for this behavior is unknown.
The following configuration enables CPU frequency scaling and ACPI Power Management:
Processor types and features
  Subarchitecture Type (PC-compatible)
  Processor family (Pentium M)
  [*] Generic x86 support
  [*] HPET Timer Support
  [*] Local APIC support on uniprocessors
  [*] IO-APIC support on uniprocessors
  <M> /dev/cpu/*/cpuid - CPU information support

Power management options (ACPI, APM) --> CPU Frequency scaling
  [*] CPU Frequency scaling
  Default CPUFreq governor (performance)
  <M> 'powersave' governor
  <M> 'userspace' governor for userspace frequency scaling
  <M> CPU frequency table headers
  < > ACPI Processor P-States driver¹
  <M> Intel Enhanced Speedstep¹
  [*] Use ACPI table to decode valid frequency/voltage pairs
  [*] Built-in tables for Banias CPUs

A tool like cpufreq monitors the status of the battery and adjust the frequency of the CPU accordingly. Install it with:
'apt-get install cpufreqd'
hard drive
If you want to use UDMA mode (believe me, you want) compile chipset support into the kernel, not as a module. The module makes some trouble: I can't get UDMA to work and as a result the disc runs in slow PIO mode. Kernel configuration:
Device Drivers --> ATA/ATAPI/MFM/RLL support
  <*> Intel PIIXn chipset support
strange noise
At the beginning I was concerned about a strange noise from the drive. As far as I know this is some kind of built-in powersave and protection mode. In other words: it's normal. If you like silence disable Power Management (with the effect of more power consumption):
'hdparm -B255 /dev/hda'
temperature control
hddtemp is a little tool that displays the current temperature of your hard drive. Install it with:
'apt-get install hddtemp'
You can get your drive's temperature with the following command:
'hddtemp /dev/hda'
video card
Kernel configuration of console framebuffer support:
Device Drivers --> Graphics Support
  [*] Support for frame buffer devices
  <*>   Intel 830M/845G/852GM/855GM/865G support

Device Drivers --> Graphics Support --> Console display driver support
  [*]    Video mode selection support
  <M> Framebuffer Console support
Intelfb, the Intel framebuffer driver, displays no cursor in console. Booting with kernel parameter video=intelfb:hwcursor=0 brings it back.
The VGA output currently only works if your external monitor was plugged in during the boot process. Fn+F8 doesn't do anything yet, no matter if your working with the console or with X. There's a userspace driver that manages this task, but it's still experimental.
Kernel configuration to enable hardware acceleration:
Device Drivers --> Character devices
  <M> /dev/agpart (AGP Support)
  <M> Intel 440 LX/BX/GX, I8xx and E7x05 chipset support
  [*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
  <M> Intel 830M, 845G, 852GM, 855GM, 865G
Don't forget to install libgl1-mesa-dri. You have to edit xorg.conf to use more than the default 8 MB of RAM to get DRI support. To get 3D and page-flipping, configure at least 16 MB:
Section "Device"
        ...         ...
        VideoRam    16384
        ...         ... 
sound card
Kernel configuration:
Device Drivers --> Sound
  <M> Sound card support

Device Drivers --> Sound --> Advanced Linux Sound Architecture
  <M> Advanced Linux Sound Architecture
  <M> Sequencer support
  <M> Sequencer dummy client
  <M> OSS Mixer API
  <M> OSS PCM (digital audio) API
  [*] OSS Sequencer API
  <M> RTC Timer support

Device Drivers --> Sound --> Advanced Linux Sound Architecture --> PCI devices
  <M> Intel/SIS/nVidia/AMD/ALi AC97 Controller
Also you need to configure your sound card. The package alsa-utils is very useful in this case:
'apt-get install alsa-utils'

# become root and run

Finally the internal modem works. You should use at least version 6.03.00 from 08/24/04. You can download the Debian package here.
ethernet devices
lan adapter
Kernel configuration:
Device Drivers --> Networking support
  [*] Networking support
  [*] Networking device support

Ethernet (10 or 100 Mbit)
  [*] Ethernet (10 or 100 Mbit)
  <M> Generic Media Independent Interface device support
  [*] EISA, VLB, PCI and on board controllers
  <M> RealTek RTL-8139 PCI Fast Ethernet Adapter support
wlan adapter
Since newer kernel version included the driver, there's no need to compile it by yourself - but if you want:
You need the following kernel requirements:
Device Drivers --> Networking support --> Network device support --> Wireless LAN (non-hamradio)
  [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
Cryptographic Options
  [M] ARC4 cipher algorithm
  [M] CRC32c CRC algorithm
Download the open source driver package and install it:
'apt-get install ipw2100-source ieee80211-source module-assistant'

'module-assistant auto-install ipw2100-source ieee80211-source'
Get the binary firmware from here, unpack it to /usr/lib/hotplug/firmware and enable in the kernel:
Device Drivers --> Generic Driver Options
  <M> Hotplug firmware loading support
Next time you'll boot driver and firmware will be loaded automatically. You can save battery live by switching the card off when you don't need it.
optical storage device
The drive is recognized as a SCSI device. Therefore you need SCSI support:
Device Drivers --> SCSI device support
  <M> SCSI device support
  [*] legacy /proc/scsi support
  <M> SCSI CDROM support
pointing devices
Kernel configuration:
Device Drivers --> Input device support
  <M> Event interface
  [*] Mouse -->
  <M>   PS/2 mouse
You can use your Touchpad in X without any special configuration. But if you want such things as emulation of the middle button by tapping in one corner you need a special driver:
'apt-get install xserver-xorg-input-synaptics'
Edit /etc/X11/xorg.conf as described below:
Section "Module"
        Load "synaptics"
Section "InputDevice"
        Driver "synaptics"
        Identifier "Mouse0"
        Option "Device" "/dev/psaux"
        Option "Protocol" "auto-dev"
        Option "LeftEdge" "1700"
        Option "RightEdge" "5300"
        Option "topEdge" "1700"
        Option "BottomEdge" "4200"
        Option "FingerLow" "25"
        Option "FingerHigh" "30"
        Option "MaxTapTime" "180"
        Option "MaxTapMove" "220"
        Option "VertScrollDelta" "100"
        Option "MinSpeed" "0.06"
        Option "MaxSpeed" "0.12"
        Option "AccelFactor" "0.0010"
        Option "SHMConfig" "on"
For a full documentation have a look at /usr/share/doc/xserver-xorg-input-synaptics/. There's also a GUI for configuration called QSynaptics.
This is kernel configuration of the bundled USB mouse:
Device Drivers --> USB support
[M] USB Human Interface Device (full HID) support
<*> HID input layer support
card reader
It's recognized as a CardBus bridge. There is an experimental driver for this controller called sdricoh_cs. In order to run the driver your kernel needs MMC/SD Card support:
Device Drivers  --->
     MMC/SD Card support  -->
          <*> MMC support
          [ ]   MMC debugging
          <*>   MMC block device driver
Download the archive file and extract it. To build the drive you need to install make, gcc, linux-headers-2.6-686 first. After that change to the driver's source directory and run make and afterwards make install.
Load the driver:
'modprobe sdricoh_cs'
or for write support:
'modprobe sdricoh_cs write=1'
After inserting a SD-Card you should have a device file /dev/mmcblk0 and a partition at /dev/mmcblk0p1. Try to mount it:
'mount /dev/mmcblk0p1 /mnt/sdcard/'
As the driver is still very experimental and has some limitation: slow performance and no MMC-Card, Memory Stick support.
special keys
You can use all special keys with Linux. Download acpi4asusconf, unpack the archive, install it and run the script:

acpi4asusconftx assigns actions to the buttons. The latest version (2003/11/20) includes an error in /ect/acpi/events/htk_touchpad. Edit this file and change event=hotkey.*6a[[:space:]].* to event=hotkey.*6b[[:space:]].*.
To get the hotkey code first press a hotkey button - in this example the touchpad-hotkey - and have a look at the logfile:
'tail /var/log/acpid'  -->  [Wed Jun  2 17:29:41 2004] received event "hotkey ATKD 0000006b 00000000"
The following table shows all acpid-hotkey-codes:
key        symbol                 code
Power                             80    button/power										
Powergear  running man            5c
Fn+F1      sleep                  80    button/sleep 				 			
Fn+F2      wlan                   5d
Fn+F3      email                  50
Fn+F4      browser                51
Fn+F5      lcd brightness -       23
Fn+F6      lcd brightness +       14
Fn+F7      lcd on/off             34
Fn+F8      lcd/external monitor   61
Fn+F9      touchpad on/off        6b
Fn+F10     mute                   32
Fn+F11     volume -               31
Fn+F12     volume +               30
You can't configure all keys with acpi4asusconf. Here is an example to switch the ipw2100 card on/off with FN+F2. Create a file /etc/acpi/events/rf_switch:
# /etc/acpi/events/rf_switch

You also need an action script /etc/acpi/rf_switch:


if `cat $F | grep -q 0`; then
  echo 1 > $F
  echo ipw2100 off
  echo 0 > $F
  echo ipw2100 on

exit 0

software configuration

I want to drive the first and the second display pipe of the with a different resolution. So I can use my external flatscreen with 1280x1024 and the internal display with 1024x768. But Clone mode uses 1024x768 as the common resolution.
The xorg.conf below provides two server layouts - the one called "sync" enables only the external display with 1280x1024. Download my xorg.conf from here.
Section "Files"
	FontPath	"unix/:7100"			# local font server
	# if the local font server has problems, we can fall back on these
	FontPath	"/usr/lib/X11/fonts/misc"
	FontPath	"/usr/lib/X11/fonts/cyrillic"
	FontPath	"/usr/lib/X11/fonts/100dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/75dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/Type1"
	FontPath	"/usr/lib/X11/fonts/CID"
	FontPath	"/usr/lib/X11/fonts/100dpi"
	FontPath	"/usr/lib/X11/fonts/75dpi"

Section "Module"
	Load	"bitmap"
	Load	"dbe"
	Load	"ddc"
	Load	"dri"
	Load	"extmod"
	Load	"freetype"
	Load	"glx"
	Load	"int10"
	Load	"record"
	Load	"type1"
	Load	"v4l"
	Load	"vbe"
	Load	"synaptics"

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"keyboard"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
	Option		"XkbVariant"	"nodeadkeys"
	Option		"XkbOptions"	"nodeadkeys"

Section "InputDevice"
	Identifier	"USB-Mouse"
	Driver		"mouse"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"ImPS/2"
	Option		"Emulate3Buttons"	"true"
	Option		"ZAxisMapping"		"4 5"
	Option		"SendCoreEvents"	"true"

Section "InputDevice"
	Driver        "synaptics"
	Identifier    "Touchpad"
	Option        "Device"        "/dev/psaux"
	Option        "Protocol"      "auto-dev"
	Option        "LeftEdge"      "1700"
	Option        "RightEdge"     "5300"
	Option        "TopEdge"       "1700"
	Option        "BottomEdge"    "4200"
	Option        "FingerLow"     "25"
	Option        "FingerHigh"    "30"
	Option        "MaxTapTime"    "180"
	Option        "MaxTapMove"    "220"
	Option        "VertScrollDelta" "100"
	Option        "MinSpeed"      "0.06"
	Option        "MaxSpeed"      "0.12"
	Option        "AccelFactor" "0.0010"
	Option       "SHMConfig"     "on"
	Option	"CorePointer"	

Section "Device"
	Identifier	"i855[default]"
	Driver	"i810"
	BusID	"PCI:0:2:0"
	Option	"DevicePresence" "yes"
   Option	"CheckDevices" "yes"

Section "Device"
	Identifier	"i855[syncmaster]"
	Driver	"i810"
	BusID	"PCI:0:2:0"
	Option	"MonitorLayout"	"LFP,CRT"
	Option	"DevicePresence" "yes"
   Option	"CheckDevices" "yes"

Section "Monitor"
	Identifier	"LFP"
	Option		"DPMS"

Section "Screen"
	Identifier	"Screen[default]"
	Device		"i855[default]"
	Monitor		"LFP"
	DefaultDepth	24
	SubSection "Display"
		Depth		16
		Modes		"1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		24
		Modes		"1024x768" "800x600" "640x480"

Section "Screen"
	Identifier	"Screen[syncmaster]"
	Device		"i855[syncmaster]"
	Monitor		"LFP"
	DefaultDepth	24
	SubSection "Display"
		Depth		16
		Modes		"1280x1024" "1024x768" "800x600" "640x480"
	SubSection "Display"
		Depth		24
		Modes		"1280x1024" "1024x768" "800x600" "640x480"

Section "ServerLayout"
	Identifier	"default"
	Screen		"Screen[default]"
	InputDevice	"Generic Keyboard"
	InputDevice	"USB-Mouse"
	InputDevice	"Touchpad"

Section "ServerLayout"
	Identifier	"sync"
	Screen		"Screen[syncmaster]" 0 0
	InputDevice	"Generic Keyboard"
	InputDevice	"USB-Mouse"
	InputDevice	"Touchpad"

Section "ServerFlags"
	Option	"DefaultServerLayout"	"default"	

Section "DRI"
	Mode	0666


More information about Linux and this notebook can be found at or at Linux on Laptops.
installation of fedora core 2
This is a very nice installation guide I've got from  Eric.Brunet (at) 
Subject: Re: Asus S5200N
Date: Thu, 24 Jun 2004 18:17:25 +0200
User-Agent: Mutt/1.4.1i
Everything went fine, I had no unexpected problem. I knew there is a bug
in the fedora core 2 installer which could modify the parition table (see and a bug in the kernel which
could oops. The first bug can be worked around, and a kernel upgrade
kills the second bug.

So, following the advices on the internet, I first ran

	linux rescue acpi=off

at the lilo boot prompt of the FC2 first cdrom. After a couple of minute,
I had a shell which allowed me to examine the disk.

	fdisk -l /dev/hda

gave me the information I was looking for, namely that the disk reports
 4864 cylinders, 255 heads and 63 sectors. It also gave me the partition
hda1	Hidden W95 Fat32 (around 1.8 Go)
hda2	W95 Fat32 (around 22.3 Go)
hda5    W95 Fat32 (around 14.8 Go)

I have no idea what hda1 is. hda2 contains windows XP, and there are two
empty directories and a two line long desktop.ini in hda5.

I rebooted and started the fedora core 2 installer with

	linux acpi=off hda=4864,255,63

to avoid the bug in the installer.

When I had to decide the partitionning of the disk, I momentarily left
the graphical installer and went for a shell (Alt-F2) to run parted. From
there, I could remove hda5 and decrease the size of hda2. Not knowing
what was hda1, I left it as it. While I was there, I finished the
partionning with good old fdisk and declared my linux partitions before
going back to the graphical installer (Alt F7). I was a bit concerned
about what I did to windows (remove one of its partitions and shrink
another one before letting it boot a single time) but it started nicely
when I tried.

The installation went smoothly. On first boot, there were several error
messages about sound and pcmcia. That was expected; this computer needs
acpi for those and the computer was booted with acpi=off. Now comes what
was the most stressful part of the installation: I needed to configure
network, download the latest fedora upgrade to the linux kernel
(2.6.6-1.435 as of this writing) and install it. I had several kernel
oopses during that time, including one which killed my X server. Moreover,
the computer wouldn't shutdown nicely as unmounting filesystems failed,
oopsed or hanged in a D state. As I was reluctant to hold the power
button for four seconds, I enabled SysRQ (echo 1 > /proc/sys/kernel/sysrq)
and unmounted filesystems and rebooted directly from the kernel
(Alt-SysRQ-U then Alt-SysRQ-B). I haven't seen any other oopses or
kernel problems with that computer since I use the updated kernel from
Fedora. Oh, and don't forget to remove acpi=off from grub.conf.

What else ?

Frequency scaling works out of the box with the cpuspeed program found in
the kernel-utils rpm (installed by default).

To enable the synaptics touchpad, I used the rpm package
synaptics-0.13.2-2mdk.i586.rpm found on
I was a bit concerned to use a module compiled for XFree86 while fedora
ships with X.Org, but it works out of the box and I can click-and-drag
with one single finger. I was not satisfied with your configuration file
which would not allow using an external mouse. I used:

In the "ServerLayout" Section:
        InputDevice    "Mouse1" "CorePointer"
        InputDevice    "Mouse0" "SendCoreEvents"

Mouse1 is the synaptics touchpad:
Section "InputDevice"
        Identifier      "Mouse1"
        Driver          "synaptics"
        Option "Device" "/dev/psaux"
        Option "Protocol" "auto-dev"
        Option "LeftEdge" "1700"
	[... etc. Your settings. ]

and Mouse0 is for external usb mice:
Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "yes"

To use the wifi card, I installed the following packages:
which I found on  (the firmware is in "common",
everything else in "Fedora Core 2"). Note that rpm will complain about
unresolved dependencies. You can safely put --nodeps here. If you don't
want to go that way, install also, but I
have the impression that this package will make your computer connect
every day on their website to check for updates.

I haven't yet tried to read DVDs or burn CDs, I haven't tried the memory
card reader or the pcmcia card reader, I haven't tried the modem.

And, unfortunately, I couldn't suspend. Not even the standby mode (acpi
state S1) would work with me. I really do hope things will improve in that


Module acpi and speedstep-centrino are two implementations for the same thing - processor performance management. If you select one, you can't use the other.