User Tools

Site Tools


Linux 2.6.x on the Lifebook S-5582

See lifebook for more general info and configuration tips for the 2.4 series Kernel and kernel2.6 for general info about using a 2.6 Kernel on Debian.



Install some ACPI tools and remove the APM software.

#> apt-get install acpi acpid
#> apt-get remove apmd


Getting the touchpad to work nicely is a little more work than on 2.4 but it works real fine then.

First get the Synaptics driver for XFree:

#> apt-get install xfree86-driver-synaptics

The touchpad is not a real Synaptics pad but an ALPS glidepoint device. From Kernel 2.6.111) this is supported out of the box and no patch is neccessary anymore. This is what you need to select at least for the touchpad.

Device Drivers  --->
  Input device support  --->
    [*]    Provide legacy /dev/psaux device                                        
    (1024) Horizontal screen resolution                                           
    (768)  Vertical screen resolution
    <*>    Event interface
    [*]    Mice
       <*>   PS/2 mouse

Before you reboot into the new kernel make sure the /dev/input/eventX devices exist. If not create some:

#> mknod /dev/input/event0 c 13 64 
#> mknod /dev/input/event1 c 13 65
#> mknod /dev/input/event2 c 13 66

On booting the new Kernel you should see some messages like this:

alps.c: E6 report: 00 00 64
alps.c: E7 report: 63 02 28
alps.c: E6 report: 00 00 64
alps.c: E7 report: 63 02 28
alps.c: Status: 15 01 0a
ALPS Touchpad (Glidepoint) detected
  Disabling hardware tapping
alps.c: Status: 15 01 0a
input: AlpsPS/2 ALPS TouchPad on isa0060/serio1

Now you can tune your /etc/X11/X86Config-4 – you'll need the following InputDevice section for the touchpad. You should read /usr/share/doc/xfree86-driver-synaptics/README.gz for info about what these parameter do.

Section "InputDevice"
        Identifier      "touchpad"
        Option          "CorePointer"
        Driver          "synaptics"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "LeftEdge"              "120"
        Option          "RightEdge"             "830"
        Option          "TopEdge"               "120"
        Option          "BottomEdge"            "650"
        Option          "FingerLow"             "14"
        Option          "FingerHigh"            "15"
        Option          "MaxTapTime"            "180"
        Option          "MaxTapMove"            "110"
        Option          "EmulateMidButtonTime"  "75"
        Option          "VertScrollDelta"       "20"
        Option          "HorizScrollDelta"      "20"
        Option          "MinSpeed"              "0.2"
        Option          "MaxSpeed"              "0.5"
        Option          "AccelFactor"           "0.01"
        Option          "EdgeMotionMinSpeed"    "15"
        Option          "EdgeMotionMaxSpeed"    "15"
        Option          "SHMConfig"             "on"
        Option          "UpDownScrolling"       "1"
        Option          "ZAxisMapping"          "45"

Adding this device to your ServerLayout should give you a working Touchpad (including edgescrolling) and working Scrollbuttons, too! You can tune these values during a running XFree session using the synclient tool.


These are the CPU specific options I set:

Processor type and features  --->
   Processor family --->
     (X) Pentium M
Power management options (ACPI, APM)  --->
  [*] Power Management support
    [*] ACPI Support
      <*>   AC Adapter
      <*>   Battery
      <*>   Button
      <*>   Video
      <*>   Fan
      <*>   Processor
        <*>     Thermal Zone
    <*> APM (Advanced Power Management) BIOS support
      [*]   Make CPU Idle calls when idle
      [*]   Enable console blanking using APM
      [*]   Allow interrupts during APM BIOS calls
    [*] CPU Frequency scaling
      <*>   CPU frequency translation statistics
        [*]     CPU frequency translation statistics details
            Default CPUFreq governor (performance)
        ---   'performance' governor
        <*>   'powersave' governor
        <*>   'userspace' governor for userspace frequency scaling
        <*>   CPU frequency table helpers
        ---   CPUFreq processor drivers
        <*> ACPI Processor P-States driver
        <*> Intel Speedstep on ICH-M chipsets (ioport interface)
        <*> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
        --- shared options
        [*] Relaxed speedstep capability checks

Well the boot messages say there is no SpeedStep available…

cpufreq: Intel(R) SpeedStep(TM) for this chipset not (yet) available.

… but ACPI detects 8 throttling states …

ACPI: Processor [CPU0] (supports C1 C2, 8 throttling states)

So using them is as easy as doing

#> apt-get install cpufreqd

If you want some logging set verbosity=5 in /etc/cpufreqd.conf to get some messages in the syslog.


A new driver has been posted to the i2c and input mailing lists that supports these buttons directly (no daemon). Hopefully it will be included in 2.6.21. The patch is available at:

is it included in 2.6.22? I couldn't find it there.
The driver will definitly be included in 2.6.25

It supersedes/replaces the apanel driver described below.

The other alternative is the older apanel which has a kernel module and a userspace daemon included in the same download.

Download and compile the module first:

$> wget
$> tar -xzvf apanel-linux-1.3.tar.gz
$> cd apanel-linux-1.3/linux
$> mv -f Makefile-2.6 Makefile
$> make KERNEL_SOURCE=/usr/src/linux
#> cp apanel.ko /lib/modules/`uname -r`/kernel/drivers/
#> depmod -a

Then create the needed device:

#> mkdir /dev/fujitsu
#> mknod /dev/fujitsu/apanel c 10 216

Loading the module with modprobe apanel should succeed now. dmesg should print

apanel: Application Buttons found, slave address = 0x19 
apanel: LED found, slave address = 0x19

Be sure the module load the correct I2C module for your laptop – i2c_piix4 in case of the S-5582 or will later get an Device not found error.

Add apanel to your /etc/modules to autoload it on bootup.

The next thing is to compile and install the userspace tools.

$> ../utils
$> make
#> cp fjkeyd /usr/local/sbin/
#> cp apanelc /usr/local/bin/

Install the following /etc/init.d/fjkeyd script:

#! /bin/sh
case "$1" in
        echo -n "Starting fjkey daemon: "
        if /usr/local/sbin/fjkeyd ; then echo done ; else echo failed ; fi
        echo -n "Stopping fjkey daemon: "
        if /usr/local/sbin/fjkeyd -k ; then echo done ; else echo failed ; fi
        /usr/sbin/fjkeyd -s
        $0 stop
        $0 start
        echo "Usage: fjkeyd {start|stop|status|restart}"
        exit 1

And use the following command to link it into the default run levels.

#> update-rc.d fjkeyd defaults 40 60

The Daemon will start a script for each button located in /etc/apanel. Here are the buttons and their respective scripts for the Lifebook S-5582:

Button Script
1 /etc/apanel/
2 /etc/apanel/
3 /etc/apanel/
4 /etc/apanel/
Enter seems not to work

Additional Notes

Added by Nicolas CAZIER, french happy Lifebook S 5582 owner

It works great. I've added, by searching on the net, some usefull functions : apanel and ACPI FUJ02B1

APANEL is a kernel module and demon for using multimedia buttons. (for me the N°1 switch to screen saver, 2 launch KONSOLE (kde's xterm equivalent), 3 launches MOZILLA and 4 KMAIL)

doesn't work yet see above

FUJ02B1 is an ACPI kernel Module which give access to some settings : sound volume and brightness ! (functions aviable from Fn+F6 to F9).

I think this refers to which seems to be down :-(

In addition I've added an small KDE GUI for APANEL and FUJ02B1.

And the last : The modem works ! YES ! with a new alsa module: snd-intel8x0m (m stands for modem !) In addition, juste compile slmodemd (from an company I just can't remember the name !) with the alsa option activated and you can send fax !

On my S5582 there is only on thing left that doesn't work on Linux : integrated smartcard reader !

Got some more feedback I have to try:

I have got apanel to work with my S2020, but indeed got the same error
as you initially. I found the key was to load the appropriate I2C
modules before loading apanel. In my case, the modules I needed were:

(Main I2C bus driver) i2c_ali1535
(Not sure if you need these just for apanel) i2c_sensor, i2c_dev
(Other detected I2C sensors: ) eeprom, adm1031

Then loading apanel registers itsself with I2C and things 'work'.

I'd be interested to know if you have a copy of fuj02b1-2.6.0.patch.gz

The link on the Wiki to the Leog forums works, but the link from there
is dead.

Many thanks,

Peter Clifton

The patch now seems to be located here:

2.6.14(+?) apanel patch

apanel is broken as of kernel 2.6.14 as a result of changes to the I2C interface. I've updated it so that it works with 2.6.14 (and possibly newer kernels). Here is a copy of my patch:

--- ../../apanel.orig/apanel-linux-1.3/linux/apanel.c	2004-07-22 00:08:56.000000000 -0700
+++ apanel.c	2005-12-03 13:18:39.000000000 -0800
@@ -126,7 +126,7 @@
 static struct i2c_client apanel_client = 
         .name		= "apanel",
-        .id		= -1,
+        /* .id		= -1, -- no longer used */
         .flags		= 0,
         .addr		= 0,
         .adapter	= NULL,
@@ -609,7 +609,7 @@
 static int apanel_attach(struct i2c_adapter *adap)
 	/* try to attach on any smbus adapter */
-	if (adap->algo->id & I2C_ALGO_SMBUS)
+	if (adap->algo->smbus_xfer)
 		return i2c_probe(adap, &addr_data, apanel_probe);
 		/* addr_data is generated by this I2C_CLIENT_INSMOD stuff */

If you have problems or questions, please email me at ckm (at) crust (dot) net

Please note that this was tested *only* on my P2040. I have no idea if it will work on newer hardware, but as I have not changed any HW interfaces, it should be fine. I am going to submit it to the SF apanel repository, but it's more of a hack as I don't know if it will break earlier kernels.


Works 2.6.15 on S6010 thanx

somehow broken in 2.6.13 again
lifebook-2.6.txt · Last modified: 2008/03/10 14:48 by