debian gnu/linux on asus s5n (or identical LS1250)
review
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:
- geardigest.com has a good and complete review.
- German speaking humans can have a look here or at this comparison between IBM X31 and s5200n with some pictures. Finally this nice photo review.
- NewsForge has a nice review of the LS1250 which is similar to the S5200N
ingredients
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 GBhdparm -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 flexoutput 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
compatibility
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
installation
- 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.
- acpi
- 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. - chipset
- 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
- usb
- 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). - firewire
- 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). - cardbus
- 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'
- installation
- 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'
- 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 ... ... EndSection
- 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 'alsaconf'
- 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.
- 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.
- 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
- touchpad
- 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" ... EndSection 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" EndSection
For a full documentation have a look at /usr/share/doc/xserver-xorg-input-synaptics/. There's also a GUI for configuration called QSynaptics. - usb-mouse
- 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
- 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.
- You can use all special keys with Linux. Download
acpi4asusconf,
unpack the archive, install it and run the script:
'./install.sh' 'acpi4asusconftx'
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 event=hotkey.*5d[[:space:]].* action=/etc/acpi/rf_switch
You also need an action script /etc/acpi/rf_switch:#!/bin/sh F=/sys/bus/pci/drivers/ipw2100/0000\:01\:05.0/rf_kill if `cat $F | grep -q 0`; then echo 1 > $F echo ipw2100 off else echo 0 > $F echo ipw2100 on fi exit 0
software configuration
- x-server
- I want to drive the first and the second display pipe of the x.org-sever 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" EndSection 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" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" Option "XkbOptions" "nodeadkeys" EndSection 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" EndSection 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" EndSection Section "Device" Identifier "i855[default]" Driver "i810" BusID "PCI:0:2:0" Option "DevicePresence" "yes" Option "CheckDevices" "yes" EndSection Section "Device" Identifier "i855[syncmaster]" Driver "i810" BusID "PCI:0:2:0" Option "MonitorLayout" "LFP,CRT" Option "DevicePresence" "yes" Option "CheckDevices" "yes" EndSection Section "Monitor" Identifier "LFP" Option "DPMS" EndSection Section "Screen" Identifier "Screen[default]" Device "i855[default]" Monitor "LFP" DefaultDepth 24 SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen[syncmaster]" Device "i855[syncmaster]" Monitor "LFP" DefaultDepth 24 SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "ServerLayout" Identifier "default" Screen "Screen[default]" InputDevice "Generic Keyboard" InputDevice "USB-Mouse" InputDevice "Touchpad" EndSection Section "ServerLayout" Identifier "sync" Screen "Screen[syncmaster]" 0 0 InputDevice "Generic Keyboard" InputDevice "USB-Mouse" InputDevice "Touchpad" EndSection Section "ServerFlags" Option "DefaultServerLayout" "default" EndSection Section "DRI" Mode 0666 EndSection
- links
- More information about Linux and this notebook can be found at TuxMobil.org or at Linux on Laptops.
- installation of fedora core 2
- This is a very nice installation guide I've got from Eric.Brunet (at) lps.ens.fr
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 http://www.ces.clemson.edu/linux/fc2.html) 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 table: 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 http://rpm.pbone.net/index.php3/stat/17/dept/3/idg/System_XFree86 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" EndSection To use the wifi card, I installed the following packages: ipw2100-0.46_3-6.rhfc2.at.i386.rpm ipw2100-firmware-1.1-2.at.noarch.rpm kernel-module-hostap-2.6.6-1.435-0.1.3-4.rhfc2.at.i686.rpm kernel-module-ipw2100-2.6.6-1.435-0.46_3-6.rhfc2.at.i686.rpm which I found on http://atrpms.net/dist/ (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 atrpms-55-1.rhfc2.at.i386.rpm, 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 domain.
- ¹
- 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.