Installing Fedora 7 on a ThinkPad X41 Tablet

From ThinkWiki
Revision as of 22:24, 2 June 2007 by LuisVilla (Talk | contribs) (Enabling Screen Rotation: - this all works with the default X server.)
Jump to: navigation, search

Page Not Accurate!

This page is not accurate; I've just copied it over from Installing Fedora Core 5 on a ThinkPad X41 Tablet in order to start editing/updating it for Fedora 7. Please feel free to help out with that if you stumble across this page while it is still a work in progress.

Success Chart

Item Working Notes
Installation Network Installation Yes
USB Installation Yes (DVD)
Display Laptop Screen Yes X.org i810 driver
CRT / Projector Yes
Screen Rotation Yes
Stylus Yes wacom serial driver.
Power Management Software Suspend (hibernate) Yes Software Suspend 2
Suspend to Memory (ACPI sleep) Yes (mostly) Software Suspend 2
Audio Yes ALSA intel8x0 driver
Wireless 802.11b/g Yes ipw2200/madwifi drivers
Bluetooth Not Tested (should work) See Bluetooth on Fedora Core 4
Extra Buttons Keyboard Section Yes ibm-acpi driver
Tablet buttons Yes setkeycodes
Fingerprint Scanner Yes bioapi
Harddisk Active Protection Yes kernel 2.6.16, hdapsd

Tested and Verified on Fedora 7

Information in this section has been tested and verified using Fedora 7.

Installation

Installation is straight forward; you can use the generic install instructions here.

Configuration

X Server

Basic X server functionality should work out of the box.

Desktop Effects

Basic 'Desktop Effects' work but are not enabled by default; to enable them run 'desktop-effects' and click 'enable desktop effects'.

Enabling the Stylus

Add the following lines to /etc/rc.d/rc.local:
(Note: You will need to be root to perform these two edits)

# Map stylus to a serial port
setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig


Add the lines in bold font to /etc/X11/xorg.conf:

 Section "ServerLayout"
        Identifier     "default"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "cursor" "SendCoreEvents"
        InputDevice    "stylus" "SendCoreEvents"
EndSection

Section "InputDevice"
      Driver        "wacom"
      Identifier    "cursor"
      Option        "Device"        "/dev/ttyS0"
      Option        "Type"          "cursor"
      Option        "ForceDevice"   "ISDV4"
      Option        "Mode"          "Absolute"
      Option        "TPCButton"     "on"
EndSection

Section "InputDevice"
      Driver        "wacom"
      Identifier    "stylus"
      Option        "Device"        "/dev/ttyS0"
      Option        "Type"          "stylus"
      Option        "ForceDevice"   "ISDV4"
EndSection

Enabling Screen Rotation

Download (and verify) the following script into your path:

$ wget http://www.cs.cornell.edu/~saikat/rotate
$ chmod a+x rotate

Rotate the screen using the script:

$ rotate -h
Useage:
   rotate [left|right|inverted|normal]
 
If no option is given, rotates the screen 90 degrees to the right.

To bind the tablet's Rotate button to rotate the screen on-the-fly, add the following line to /etc/X11/Xmodmap

keycode 139 = XF86RotateWindows
Hint:
Update: Check to make sure you are using the new setkeycodes line in the Tablet Buttons section (one with 6c 120 in the command).

Wireless Network

Works out of the box- no additional drivers necessary.

Untested on Fedora 7

Information below this line is merely copied from the Fedora Core 5 guide and has not been tested on Fedora 7.

Hibernation

Software suspend works using Software Suspend 2. To install:

# cd /etc/yum.repos.d
# wget http://mhensler.de/swsusp/download/suspend2.repo
# yum install userui-suspend2-fbsplash userui-suspend2-theme-fedorabubbles kernel-suspend2

Edit the appropriate kernel line in /etc/grub.conf and add the parameters vga=0x317 and acpi_sleep=s3_bios. For example:

title Fedora Core (<kernel.version-build>.rhfc5.cubbi_suspend2)
       root (hd0,1)
       kernel /vmlinuz-<kernel.version-build>.rhfc5.cubbi_suspend2 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=0x317 acpi_sleep=s3_bios
       initrd /initrd-<kernel.version-build>.rhfc5.cubbi_suspend2.img

Comment out the following line in /etc/hibernate/hibernate.conf:

# ProcSetting userui_program /sbin/suspend2ui_text

Add the following lines in /etc/hibernate/hibernate.conf:

ProcSetting userui_program /sbin/suspend2ui_fbsplash
OnResume 96 setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig

Add the following lines in /etc/hibernate/ram.conf:

Distribution fedora

Comment out the following lines in /etc/hibernate/ram.conf:

# EnableVbetool yes
# VbetoolPost yes

Make the following changes (i.e. comment out the two vbetool lines, and add the return 0 line in the resume_video function) in /etc/pm/functions-intel:

resume_video()
{
(
        # /usr/sbin/vbetool post
        # /usr/sbin/vbetool vbestate restore < /var/run/vbestate
        return 0
) >/dev/null 2>&1
}

Force the use of suspend2 by editing the appropriate lines in /etc/sysconfig/pm:

HIBERNATE_METHOD="suspend2"
HIBERNATE_RESUME_POST_VIDEO="no"

Problems with a black screen after resuming can sometimes be fixed by adding the following line to the device section in /etc/X11/xorg.conf:

Option "VBERestore" "true"

Add the following file /etc/pm/hooks/40wacom:

#!/bin/sh
setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig

Tablet Buttons

Activate mappings for the tablet buttons by adding the following lines to /etc/rc.d/rc.local:

# Map tablet hardware buttons
setkeycodes 6e 109 6d 104 69 28 6b 1 6c 120

Fingerprint Reader

The fingerprint reader is supported through the BioAPI framework. The BioAPI framework and the UPEK fingerprint reader driver can be installed as follows:

wget http://www.cs.cornell.edu/~saikat/libbiometrics-1.2.2-1.sg.i386.rpm
wget http://www.cs.cornell.edu/~saikat/libbiometrics-tfmess-1.0-1.sg.i386.rpm
yum localinstall libbiometrics-1.2.2-1.sg.i386.rpm libbiometrics-tfmess-1.0-1.sg.i386.rpm
NOTE!
This is still work-in-progress. Currently you can enroll fingerprints, and verify them through a test application. Integrating

this support into pam (and therefore logins, gdm, screensaver etc.) is in the works. Those interested in developing biometrics applications

can install libbiometrics-devel-1.2.2-1.sg.i386.rpm. SRPMS for the above are available here.

To try out enrollment and verification, run: # useraddbio

Harddrive Active Protection System (HDAPS)

Harddrive active protection system requires the hdaps kernel module (included in stock Fedora kernels), and a kernel capable of parking disks (patch included in kernel-suspend2 RPMs from the Hibernation section above). It also requires a userspace daemon to monitor the accleration sensor and park the disk head when excessive motion is detected. To install the userspace daemon, do the following:

Hint:
This requires kernel support for hdaps and head parking. Install kernel-suspend2-2.6.16-1.2084_2 or higher
# wget http://www.cs.cornell.edu/~saikat/hdapsd-20060326cvs-1.sg.i386.rpm
# yum localinstall hdapsd-20060326cvs-1.sg.i386.rpm

If software suspend is enabled, add the following line to /etc/hibernate/hibernate.conf

UnloadModules hdaps

To install the Gnome panel applet that monitors the state of the harddisk, install:

# wget http://www.cs.cornell.edu/~saikat/gnome-applet-hdaps-20060120cvs-1.sg.i386.rpm
# yum localinstall gnome-applet-hdaps-20060120cvs-1.sg.i386.rpm
NOTE!
SRPMS for the above are available here.

Software

Network, Power Management, OSD

Some useful software is not installed by default. These include:

  • tpb — On screen display for thinkpad buttons
  • Network Manager — Manages wireless and wired networks automatically
  • Gnome Power Manager — Manages ACPI power events

To install them execute:

# yum install tpb NetworkManager gnome-power-manager
# chkconfig NetworkManager on

Check your gnome-session-manager is configured to automatically start the panel applets that control Network Manager and Gnome Power Manager. Ensure the following entries are present under System > Preferences > More Preferences > Sessions > Startup Programs:

 nm-applet --sm-disable
 gnome-power-manager --sm-disable

Java 1.5

Install Sun's JRE 1.5. This is required for the jarnal program below.

  • Download the build: $ wget http://mirrors.dotsrc.org/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm
  • Create the build environment: # rpm -Uvh java-1.5.0-sun-1.5.0.05-1jpp.nosrc.rpm
  • Download the JVM from Sun's Java page and download jdk-1_5_0_06-linux-i586.bin to /usr/src/redhat/SOURCES
  • Build the RPMs: # rpmbuild -ba /usr/src/redhat/SPECS/java-1.5.0-sun.spec
  • Install the JVM: # yum localinstall /usr/src/redhat/RPMS/i586/java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm
  • Install the fonts: # yum localinstall /usr/src/redhat/RPMS/i586/java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm

Note: This is tailored for the latest JVM as of writing this article. Substitute the latest version numbers if this doesn't work.

Jarnal Note-Taking

Install the Jarnal note-taking application:

# wget http://www.cs.cornell.edu/~saikat/jarnal-8.14-1sg.noarch.rpm
# yum localinstall jarnal-8.14-1sg.noarch.rpm
NOTE!
SRPMS for the above are available here

External Sources