Fujitsu Siemens Lifebook C-1020 under Linux

Fujitsu Siemens Lifebook C-1020 under Linux

As usual, the following informations are provided as is, with no warranty of any kind. Use this at your own risk.

Due to a hardware failure on my previous laptop, I now have a Lifebook C-1020 running under linux. This page describes my settings for this laptop and tells the story of the installation.


The Fujitsu-Siemens Lifebook C-1020 may be used under linux but installation is not straightforward in order to obtain a stable and usable configuration. Briefly one has to:
  1. Install linux using (for instance) Mandrake 8.2 or 9.0.
  2. Patch the XFree86 4.2 server to support the graphic chipset (not necessary with Mandrake 9.0)
  3. Compile and install a 2.4.19 kernel with ext3 filesystem support.
  4. I'm now using 2.4.23 kernel, which includes ACPI patch and a lot of bug fixes.
  5. Recompile the pcmcia-cs-3.1.30 package.
  6. Install the hsflinmodem driver by Conexant.
  7. The modem driver is now developed by Linuxant and it isn't free any more. You may use the free trial version that is limited to 14.4 kbps but the full version worth the price (V92, FAX - not tested - and negotiation sound).
For more information and limitations, see below.


Those are tasks remaining to do for complete installation of linux on the Fujitsu Siemens Lifebook C-1020:
  • Enable IrDA. Never experienced such problem on other laptops, but the fact is that it doesn't work. Please let me know if you have or not problem with that since I'm wondering whether it is a hardware problem.
  • Enable the up-down button of the touchpad as a middle one.
  • Try to use the parallel port, for instance with a printer.
Please let me know if you perform some of the tasks above.


The version of your Lifebook is written under the laptop on a little transparent sticker in black foreground over black background. If you have good eyes, you will be able to confirm the C-1020 version of your laptop. Take care that the informations provided here are for this version only. Fujitsu-Siemens laptops appear internally to be very different one from another even when the difference between their identification code is small.

An official page for this laptop can be found on Fujitsu-Siemens England website. The official specifications of Lifebook C1020 are partly confirmed by an lspci -v. The good news is that this laptop can run linux and that it is rather stable.

Installing Linux

At the beginning it was a Mandrake 9.0 edition. But there are a lot of things I have changed so...


I use a 2.4.23 kernel patched with software suspend 2.0rc2. old configuration

I used the Mandrake 8.2 edition. The installation ran smoothly (DVD is perfectly supported which implies a very comfortable installation without changing CDs) but graphic chipset, sound, apm and modem are not correctly recognized or configured.


Mandrake 8.2 is based upon a patched 2.4.18 kernel. Because I had a lot of problem with BIOS suspension on my previous laptop of the same manufacturer, I jumped immediatly to the software suspend solution and compiled a patched 2.4.19 kernel. This kernel appears really stable and... software suspension ran like a charm (a lot better than on the older model).


You must use XFree86 in its 4.2.X version. You may need to use the latest savage driver. Before finding this driver I hacked the original /usr/X11R6/lib/modules/drivers/savage_drv.o file to replace 0x228a (the savage4 chipset) by 0x048d (the ProSavage DDR chipset) in the binary. Thus, the driver was able to recognize the chipset and... it worked !


Here is my XF86config-4 for the following server (XFree86-server-4.2.0-10mdk package of Mandrake-8.2):
XFree86 Version 4.2.1 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
Release Date: 3 September 2002
        If the server is older than 6-12 months, or if your card is
        newer than the above date, look for a newer version before
        reporting problems.  (See http://www.XFree86.Org/)
Build Operating System: Linux 2.4.18-23mdkenterprise i686 [ELF] 
Module Loader present
old configuration
XFree86 Version 4.2.0 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
Release Date: 23 January 2002
        If the server is older than 6-12 months, or if your card is
        newer than the above date, look for a newer version before
        reporting problems.  (See http://www.XFree86.Org/)
Build Operating System: Linux 2.4.18-1mdksmp i686 [ELF] 
Module Loader present
This config file enables two mices : touchpad and a USB mouse with wheel. Make sure to use
Option "Device"      "/dev/input/mice"
instead of
Option "Device"      "/dev/usbmouse"
if you want proper hotplug support.


The touchpad is a ps/2 mouse (do not try imps/2 protocol in XFree config file). It should have 4 buttons, but I only obtained two buttons and use X server emulation for the third one.


DSP device

Sound chipset is correctly supported by Alsa. I use alsa-driver-0.9.0rc3. My /etc/modules.conf alsa part is as follows:
# ALSA portion
alias char-major-116 snd
options snd snd_cards_limit=1
alias snd-card-0 snd-via8233

# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
With alsa-driver-0.9.0rc5, module name has changed to snd-via82xx.

Caution: I've tested alsa up to 1.0.0rc2. Although the alsa driver plays well, it appears somme uncompatibility with Linmodem driver somewhere between 0.9.2 and 0.9.6 version of Alsa. If you want to use modem, then you should keep an old version of the sound driver until the conflict is solved.


MIDI files are played by software. I've compiled and installed TiMidity++ version 2.12.0-pre1 and it works. You also will need tse3-0.2.3. TiMidity++ can also be used in server mode, for instance to play sound under noteedit software. The command I use is
/usr/local/bin/timidity -A 100 -iA -B2,8 &

Network adapter

Network chipset is a RealTek RTL-8139. It is very well recognized and supported by the 8139too module. My ethernet part in /etc/modules.conf is as follows:
alias eth0 8139too
Don't forget to edit the /etc/sysconfig/network-scripts/ifcfg-eth0 script because by default, dhcpcd waits for a looong time before abandonning when you are not connected to a network.

USB port

The two USB ports work correctly.

My USB part in /etc/modules.conf is as follows:

alias usb-interface usb-uhci
USB keys and digital cameras can be mounted from /dev/sda or /dev/sda1 provided you set in /etc/modules.conf
alias scsi_hostadapter off
pre-install sd_mod /sbin/modprobe usb-storage
post-remove sd_mod /sbin/modprobe -r usb-storage

Serial port

Tested with the REVO connecting device. It is configured as /dev/ttySO.

Floppy reader

Nothing to report.

PC-card reader

PC-card package must be recompiled if you change kernel. It works smoothly (test performed with modem and ethernet adapter) with 2.4.19 kernels and pcmcia-cs-3.2.1. For my configuration I completely disabled PCMCIA in kernel and use the PCIC=i82365 option in /etc/sysconfig/pcmcia. But it should also work with yenta_socket enabled in kernel (this is the default configuration of Mandrake).


It works. I use ide-scsi module and the device is /dev/scd0.


Modem is definitely an AMR LinModem, yes !!!!!!!! Linuxant sells a commercial driver for this modem that appears stable. Speed is OK (V90). I will soon test FAX but sound during connection works, which wasn't the case before. The driver is sold as an rpm that installs itself smoothly. old configuration It is working with the hsflinmodem-5.03.03.L3mbsibeta02110301-1.src.rpm driver provided by Conexant. After installing the source rpm:
cd /usr/src/RPM
rpm -bp SPECS/hsflinmodem.spec
cd BUILD/hsflinmodem-*
make install
Thanks to those guys even if modem sound connexion is not working :-)

After a few tests, it appears that two precautions should be taken :

  • Add DialAttempts = 2 in /etc/wvdial.conf because modem sometimes freezes the computer on detecting carrier for the duration of wvdial timeout.
  • Use hsfstop after every connexion to unload hsf modules.
  • Have a look at the caution advice above about possible incompatibility with Alsa sound drivers.

Infra-red device

Despite long time trials, I never succeeded in configuring IrDA. Here's what I tried:

You need to install the irda-utils package (for Mandrake 8.2). Since kppp cannot address /dev/ircomm0, I used /dev/ttyI0 and configure it to use ircomm in /etc/modules.conf:

# IrDA
alias char-major-161 ircomm-tty

alias irlan0 irlan
alias char-major-10-187 irnet
The /etc/sysconfig/irda file is
Make sure you use the correct /dev/ttyS1 serial device for irattach (check in the BIOS that IRDA2 port is enabled).

FireWire device

Not tested but the corresponding module loads perfectly.
alias ieee1394-controller ohci1394

Power management

It seems that a calibration learning cycle of the battery (F6 on BIOS boot prompt) is needed for the battery state to be correctly reported.


Advanced Power Management doesn't work correctly. Even when unplugged, apm reports
AC on-line, no system battery
/proc/apm isn't correct either
1.16 1.2 0x03 0x01 0xff 0x80 -1% -1 ?
This is a lot annoying since hardware doesn't warn when battery reaches critical state. No beep until everything shuts down. It is therefore necessary to use ACPI.


ACPI is now supported in 2.4.23 kernel. Interesting files:
cat /proc/acpi/battery/BAT0/info 
present:                 yes
design capacity:         38553 mWh
last full capacity:      38505 mWh
battery technology:      rechargeable
design voltage:          9600 mV
design capacity warning: 3855 mWh
design capacity low:     385 mWh
capacity granularity 1:  3470 mWh
capacity granularity 2:  34650 mWh
model number:            CP133740-XX
serial number:           SANYOQT07
battery type:            LiON
OEM info:                Fujitsu

cat /proc/acpi/battery/BAT0/state 
present:                 yes
capacity state:          ok
charging state:          unknown
present rate:            unknown
remaining capacity:      36194 mWh
present voltage:         9600 mV

cat /proc/acpi/processor/CPU0/performance 
state count:             2
active state:            P0
   *P0:                  1600 MHz, 20000 mW, 500 uS
    P1:                  1200 MHz, 10000 mW, 500 uS
The last file is interesting because it allows you to switch to P1 state by issuing
echo 1 > /proc/acpi/processor/CPU0/performance 
cat /proc/acpi/processor/CPU0/performance 
state count:             2
active state:            P1
    P0:                  1600 MHz, 20000 mW, 500 uS
   *P1:                  1200 MHz, 10000 mW, 500 uS
which increases your battery life ;-) old configuration Standard ACPI in 2.4.19 kernel sometimes forgets to report battery status. Otherwise, it seems to work correctly: cat /proc/acpi/battery/0/info
Present:                 yes
Design Capacity:         38553 mWh
Last Full Capacity:      38505 mWh
Battery Technology:      secondary (rechargeable)
Design Voltage:          9600 mV
Design Capacity Warning: 3855 mWh
Design Capacity Low:     385 mWh
Capacity Granularity 1:  3470 mWh
Capacity Granularity 2:  34650 mWh
Model Number:            CP133740-XX
Serial Number:           SANYOQT07
Battery Type:            LiON
OEM Info:                Fujitsu
cat /proc/acpi/battery/0/status
Present:                 yes
State:                   discharging
State:                   critically low
Present Rate:            unknown
Remaining Capacity:      2695 mWh
Battery Voltage:         9600 mV
Include ACPI support directly in kernel (do not use ACPI modules) if you want correct interaction with software suspension. Otherwise you'll also need to load ACPI modules before launching acpid service. Best is to use more recent ACPI patch, such as acpi20020918. In order to prevent sudden failoff, I've written a little script called battery that brings you a little colored text display, warn you when you reach low capacity and launches configurable actions if necessary (namely suspend). It also configures some parameters to reduce power consumption when using battery. I also wrote another script acpish that monitors acpi button events. By default, pressing power button will pop up an xmessage window asking if you want to halt computer. Closing the lid will instead suspend the machine on disk using software suspend.

Software suspension

Last but not least, software suspension works really well. Using suspend scripts and the lid closure automatically enables suspension. And opening the laptop restore the session. Have a look at software suspend. I currently use 2.0rc2 patch. old configuration I am able to suspend on disk using software suspend. I currently use 2.4.19-swsusp15 patched kernel and the script in version 0.3. This works also under X11.

I however disabled the Mandrake supermount stuff. I use autofs instead with a timeout of 3 seconds. I found this configuration more stable with swsusp. My autofs part in /etc/modules.conf is as follows:

alias autofs autofs4
an /etc/auto.master is the single line
/misc   /etc/auto.misc --timeout=3

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones


Florent Chabaud
GPG key: KEY