Arnt Gulbrandsen
About meAbout this blog

Fujitsu Siemens Lifebook S6010

I have a Fujitsu Siemens Lifebook S6010, a small laptop with good battery lifetime, WLAN, 100Mbps ethernet and some things I don't care about. I've never used its modem, USB and firewire ports, and hardly ever its sound chip.

During its lifetime, this laptop has had two stable configurations.

Linux 2.4, APM, Orinoco

This worked well, except for one WLAN problem. Worked out of the box. I did not need to run apmd, and the X server did not need any special tweaks.

The prism2.5 chipset had a tendency to pick the strongest access point, though, no matter what essid it was set to use. For a long time, this wasn't a problem for me, but eventually there were four access points covering our living room, with our own as the second weakest.

To solve this problem, an upgrade to the prism firmware is necessary. I think any version after 1.5 works, but I actually upgraded to 1.8.4.

Regrettably, to upgrade the prism2.5 firmware, I had to do quite a few other upgrades:

Linux 2.6.9, ACPI, Hostap

The orinoco driver cannot upgrade the prism2.5 firmware, so I switched to the hostap driver (both versions 0.2.6 and 0.3.7 worked for me). At boot time, I upgrade the prism2.5 firmware to version 1.8.4: /usr/sbin/prism2_srec -rp wlan0 /etc/firmware/rf010804.hex. Using firmware 1.8.4, the laptop picks the right access point.

When I tried APM using kernel 2.6.9, suspend and resume didn't work, so I tore half my hair out getting ACPI to work. (Thanks to Adrian Yee for his help.) Here's what I needed:

  • BIOS 1.07. The original BIOS, 1.03, has buggy ACPI support. (I have an ISO image of this file.)
  • No vesafb. vesafb must never be inserted into the kernel. Removing it using rmmod did not suffice.
  • No DRI/DRM. Load "ddc" and Load "dri" in XF86Config had to be removed.
  • acpi_sleep=s3_bios had to be added to the kernel command line.

Battery lifetime seems to be quite a bit better using ACPI than APM. With APM, the battery lifetime was typically around 4-5 hours. With tweaking it might be better. With ACPI, I've gotten it close to eight hours in the ideal case:

  • I installed a kernel patch to control the backlight programmatically (saves up to 30%).
  • The WLAN chipset can be turned off 90% of the time:
    iwconfig wlan0 timeout 2m
    iwconfig wlan0 period 25m
  • The disk is off most of the time, courtesy of laptop-mode.
  • I want to power down the PCI devices I'm not using, but linux isn't letting me at the moment. This should turn the sound chip off:
    echo 3 > devices/pci0000:00/0000:00:1f.5/power/state

I like an eight-hour laptop.