Table of Contents
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.
WORK IN PROGRESS
ACPI
Install some ACPI tools and remove the APM software.
#> apt-get install acpi acpid #> apt-get remove apmd
Mouse
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" EndSection
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.
CPU
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.
Multimediabuttons
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: http://developer.osdl.org/shemminger/prototypes/apanel.patch
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 http://mesh.dl.sourceforge.net/sourceforge/apanel/apanel-linux-1.3.tar.gz $> 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 start) echo -n "Starting fjkey daemon: " if /usr/local/sbin/fjkeyd ; then echo done ; else echo failed ; fi ;; stop) echo -n "Stopping fjkey daemon: " if /usr/local/sbin/fjkeyd -k ; then echo done ; else echo failed ; fi ;; status) /usr/sbin/fjkeyd -s ;; restart) $0 stop $0 start ;; *) echo "Usage: fjkeyd {start|stop|status|restart}" exit 1 esac
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/A.sh |
2 | /etc/apanel/B.sh |
3 | /etc/apanel/internet.sh |
4 | /etc/apanel/email.sh |
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 http://leog.net/fujp%5Fforum/topic.asp?ARCHIVE=true&TOPIC_ID=3388 which seems to be downThis may be an update - http://www.leog.net/fujp_forum/topic.asp?TOPIC_ID=5687裯 – Untested!
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: http://devrandom.com/fujitsu/
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.
Chris.
Works 2.6.15 on S6010 thanx