User Tools

Site Tools


lifebook-2.6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
lifebook-2.6 [2007/08/04 19:03]
87.171.12.119
lifebook-2.6 [2008/03/10 15:48] (current)
87.171.56.63
Line 1: Line 1:
 +====== 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.11((somehow broken in 2.6.13 again)) 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.
 +
 +<​file>​
 +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
 +</​file>​
 +
 +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:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +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 [[http://​apanel.sourceforge.net|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 [[http://​sourceforge.net/​mailarchive/​message.php?​msg_id=7607240|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:
 +
 +<code bash>
 +#! /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
 +</​code>​
 +
 +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 :
 +[[http://​apanel.sourceforge.net|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 down :-(
 +>> This may be an update - http://​www.leog.net/​fujp_forum/​topic.asp?​TOPIC_ID=5687&#​35055 -- 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:
 +<​code>​
 +--- ../​../​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 */
 +</​code>​
 +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
lifebook-2.6.txt · Last modified: 2008/03/10 15:48 by 87.171.56.63