EDV:Linux auf Laptops/hardy auf IBM X41 Tablet

From KIP Wiki
Revision as of 10:29, 29 May 2008 by Weis (talk | contribs)
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽

IBM X41 Tablet

ThinkPadX41Tablet.jpg

Standard Features

  • Intel Pentium M (Dothan), L2 2 MB cache
    • 1.2GHz ULV (753)
    • 1.5GHz LV (758)
    • 1.6GHz LV (778)
  • Intel Graphics Media Accelerator 900
    • 12.1" TFT display with 1024x768 resolution
  • 256 or 512MB PC2-4200 memory standard (non-removable)
    • one additional, unpopulated slot for a maximum of 1280 or 1536MB
  • 40 or 60GB Hitachi Travelstar (C4K60 (1.8" drive)) ATA/IDE HDD (Model HTC4260xxG9AT00, where xx stands for the Capacity) producer page
  • AD1981B AC'97 Audio controller
  • Broadcom Gigabit (10/100/1000) Ethernet controller
  • CDC slot with one of the following:
    • IBM Integrated 56K Modem (MDC-2)
    • IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)
  • MiniPCI slot with one of the following:
    • IBM 11a/b/g Wireless LAN Mini PCI Adapter II
    • Intel PRO/Wireless 2200BG Mini-PCI Adapter
    • Intel PRO/Wireless 2915ABG Mini-PCI Adapter
  • IBM Embedded Security Subsystem 2.0
  • IBM Active Protection System
  • SD Card slot with IO support
  • CardBus slot (Type 2)
  • Integrated Fingerprint Reader on select models
  • Wacom Serial Tablet PC Stylus
  • Tablet Hardware Buttons


Einige Links

1. kubuntu hardy installieren

Dazu verwende ich kubuntu-8.04-alternate-i386.iso

Wie immer ist es wichtig danach erst einmal das System zu aktualisieren. In diesem Fall mit 'Adept-Aktualsierer'.

Danach hat sofort funktioniert:

  • SD-Karten-Slot
  • Grafik (erst mal ...)
  • Ethernet-Controller
  • WLAN
  • Sound

etwas Software

Aktiviere backports und partner in /etc/apt/sources.list

aptitude install openssh-server kedit nedit vim-gtk


Grafik

xorg.conf

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
	Option		"XkbOptions"	"lv3:ralt_switch"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
EndSection

Section "InputDevice"
	Identifier	"Synaptics Touchpad"
	Driver		"synaptics"
	Option		"SendCoreEvents"	"true"
	Option		"Device"		"/dev/psaux"
	Option		"Protocol"		"auto-dev"
	Option		"HorizEdgeScroll"	"0"
EndSection

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

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

Section "Device"
	Identifier	"Configured Video Device"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice	"Synaptics Touchpad"
       InputDevice    "cursor"

InputDevice "stylus"

EndSection


in /usr/share/apps/kxkb/ubuntu.xmodmap hinzufügen:

keycode 139 = XF86RotateWindows

Damit wird der 'Rotate' Knopf definiert


#!/bin/sh
#/etc/acpi/x41tsdown.sh
echo 'Rotating screen...'
if [ "`/usr/bin/xrandr -o right -v | grep -i 'randr' | wc -l`" -ne "1" ]
then
    echo '!! Something went wrong...'
    export DISPLAY=":0.0"
    export XAUTHORITY=/var/lib/gdm/\:0.Xauth
    /bin/xset -display $DISPLAY dpms
    echo 'Trying to rotate again...'
    /usr/bin/xrandr -o right
fi
echo 'Rotating stylus...'
/usr/bin/xsetwacom set stylus rotate 1
echo 'Starting keyboard...'
/usr/bin/xvkbd&
#!/bin/sh
#/etc/acpi/x41tsup.sh
echo 'Unrotating screen...'
if [ "`/usr/bin/xrandr -o normal -v | grep -i 'randr' | wc -l`" -ne "1" ]
then
    echo '!! Something went wrong...'
    export DISPLAY=":0.0"
    export XAUTHORITY=/var/lib/gdm/\:0.Xauth
    /bin/xset -display $DISPLAY dpms
    echo 'Trying to unrotate again...'
    /usr/bin/xrandr -o normal
fi
echo 'Rotating stylus...'
/usr/bin/xsetwacom set stylus rotate 0
echo 'Killing keyboard...'
killall xvkbd

Then run:

sudo chown root.root /etc/acpi/x41tsdown.sh
sudo chmod 755 /etc/acpi/x41tsdown.sh
sudo chown root.root /etc/acpi/x41tsup.sh
sudo chmod 755 /etc/acpi/x41tsup.sh

If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely ed), it's fairly obvious that they're located in /etc/acpi/ as x41tsdown.sh and x41tsup.sh. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.

sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down
# /etc/acpi/events/x41t-swivel-down
# called when tablet head swivels down
event=ibm/hotkey HKEY 00000080 00005009
action=/etc/acpi/x41tsdown.sh
EOF
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up
# /etc/acpi/events/x41t-swivel-up
# called when tablet head swivels up
event=ibm/hotkey HKEY 00000080 0000500a
action=/etc/acpi/x41tsup.sh
EOF

Now, awaken your inner ACPI daemon with the following commands:

sudo /etc/init.d/acpid force-reload 
sudo /etc/init.d/acpid restart

And swivel down your LCD to make sure it works.