Tablet PC LIFEBOOK T4210 und Debian/Lenny

Neulich habe ich als „Arbeitsnotebook“ einen LIFEBOOK T4210 von Fujitsu Siemens bekommen. Das war für mich die Gelegenheit, gleich mal damit Debian/Lenny auszuprobieren. Hier der recht ausführliche Erfahrungsbericht nach 2 Wochen Einsatz.

Übersicht

t4210-bild1Der Lifebook kommt in folgender Ausstattung daher:

  • Dual Core CPU Intel T2400
  • Intel 945 GM Chipsatz
  • 2 GB RAM
  • 80 GB Hard-Disk
  • Bildschirm (convertible) umklappbar für Tablet-PC-Betrieb mit 1024×768 und integriertem Wacom-Tablet
  • WLAN mit Intel 3945
  • Marvell Gigabit Ehternet Controller
  • Smart Card Reader 02Micro
  • Finperprint-Sensor AES2501
  • SD-Card Reader
  • ICH7 mit Audio
  • (Bluetooth wäre möglich, ist aber nicht bestückt)

Installation und grundlegende Konfiguration

Die Installation von Debian/Lenny erfolgte via Netinstall-CD. Damit ging das ganze sehr flott von der Hand und danach war das Basissystem lauffähig.

Was anfangs Probleme machte ist die Default-Partitonierung des Lenny Installers, die reserviert für das Root-Directory nämlcih nur knapp 7 GB und die werden dann recht schnell knapp. Also hier besser selbst eingreifen, ich habe das dann auf 30GB für Software und 50 GB für /home gesetzt.

X-Server-Konfiguration

Nachdem das Grundsystem „oben“ war ging es ans Eingemachte. Zunächst mal die Konfiguration von Bildschirm und Tablet-Treiber. Die /etc/xorg.conf beginnt wie üblich mit der Deifinition der gängigen Eingabegeräte:

Danach kommen wir zur Definition des Wacom-Tablets. Diese habe ich von teilweise von meinem alten Tablet-PC (LIFEBOOK T3010) abgeguckt, teilweise auch aus einer Testinstallation von openSUSE 11. SUSE hat vor einigen Jahren mit Danny Kurkawa eine Diplomarbeit zum Thema „Tablet-PC“ durchgeführt und die Früchte dieser Arbeit finden sich heute in der Distribution die sogar via SAX das Tablet konfigurieren kann. Das Tablet ist an der internen serillen Schnittstelle angeschlossen. Hier die notwendigen Zeilen in der xorg.conf:

Weiter geht es mit den üblichen Monitor-Sektionen und der Definition des Intel-Treibers.

Damit ist die xorg.conf fertig. Wenn der Notebook damit gestartet wird funktioniert erst m al alles „out-of-the-box“. Alles? Na ja, fast alles…


Tablet-Mode konfigurieren

Was man beim Tablet-PC natürlich haben will ist, ihn auch als Tablet zu nutzen. Also Bildschirm umklappen und das Ding im Hochformat wie einen normalen Notizblock betreiben. Ich kann mich noch gut an die Zeit erinnern als die ersten Versuche mit Linux auf dem Tablet-PC liefen. Damals hatte Debian noch XFree86 als X-Server und man konnte theoretisch drehen, aber dazu mußte dann der X-Server jedesmal neu gestartet werden. Später ging es dann schon ein wenig einfacher mit dem Umklappen und Intel hat für uns dann den Graphiktreiber so programmiert, daß auch ein „on-the-fly“ Drehen möglich ist ohne jedesmal den X-Server neu starten zu müssen.

Schön wäre es natürlich, wenn dieses Drehen automatisch beim Umklappen des Bildschirms passiert. Ging früher nur über Menüs und das war haarig, denn dummerweise wußte der Wacom-Stifttreiber ja nix davon, daß jetzt das Tablet gedreht war.

Mittlerweile gibt es aber einen Daemon namens fscd der genau das kann und nebenbei auch noch die fsc_btns implementiert um damit dann die Sonderfunktionstasten am Display abzufragen. Diese Tasten sind intern über den SM-Bus angeschlossen und emittieren keine Tastatur-Scan-Codes, dank fscd und fsc_btns sind sie aber trotzdem nutzbar.

Der fscd Daemon wird wie üblich mit ./configure übersetzt und mit „make install“ installiert. Damit er automatisch gestartet wird habe ich die Desktop-Datei die im Dateibaum zu finden ist in den KDE-Autostart-Ordner kopiert. Damit läuft fscd im Hintergrund wenn ich meine KDE-Sitzung laufen habe. Das gleiche funktioniert natürlich auch für andere Desktopmanager.

Die Probe aufs Exempel zeigt. Klappe ich den Schirm um auf Tablet-Betrieb dann dreht sich das Bild des X-Servers auf Hochformat und ich könnte hier munter auf dem Bildschirm mit dem Stift schreiben. Könnte? Ja, da fehlt noch eine Kleinigkeit. Der Wacom-Treiber zeigt sich relativ unbeeidruckt von der Dreherei und hat weiterhin ein Koordinatensystem in dem die X-Koordinate die der breiteren Bildschirmseite ist, obwohl sie nach der Drehung ja der Schmalseite zugeordnet sein müsste.

Auch hier hilft der fscd Daemon weiter. Im /home-Verzeichnis muß man dazu ein (verstecktes) Verzeichnis „.fscd“ anlegen. Dort können dann Skripte abgelegt werden die fscd startet wenn er die jeweilige Aktion macht. Ich habe zwei Skripte hier (die Namen sind wichig):

fscd-rotate-normal:

#!/bin/bash
xsetwacom set Cursor Rotate none
xsetwacom set Stylus Rotate none
xsetwacom set Eraser Rotate none

und

fscd-rotate-tablet:

#!/bin/bash
xsetwacom set Cursor Rotate cw
xsetwacom set Stylus Rotate cw
xsetwacom set Eraser Rotate cw

Wichtig ist, daß die Skripte genau diese Dateinamen haben (mit denen ruft sie fscd auf) und daß sie als ausführbar markiert sind (chmod). Damit werden die entsprechenden Devices (Cursor,Stylus und Eraser) gedreht oder in Normalorientierung gebracht, abhängig davon was fscd gerade eingestellt hat. Das ganze funktioniert tadellos und damit kann man nun wirklich auch mit dem Stift auf einem gedrehten Display arbeiten.


Sonstige Hardware konfigurieren

WLAN

Das 3945 WLAN-Modul des Notebooks funktioniert eigentlich „out-of-the-box“, allerdings muß man dazu das Paket „firmware-iwlwifi“ aus der non-free Sektion von Debian installieren. Danach funktioniert WLAN einfach so und kann mit dem Networkmanager auch recht komfortabel an die jeweilige Umgebung angepasst werden.

Fingerprint-Sensor

Der Notebook kommt mit einem AES2501-Fingerprint-Reader der mittlerweile recht gut durch das fprint-Projekt unterstützt wird. Ich habe mir mal den Treiber, die Demo-Software und das PAM-Modul gezogen uns selbst übersetzt. Ein wenig haarig waren die Abhängigkeiten, der configure-Prozess meckerte immer eine fehlende cryptolib an. Irgendwann bin ich dann auf den Trichter gekommen, daß ich hierfür das Paket „openssl-dev“ für Debian brauche.

Mit der PAM-Konfiguratiion kann man einen Fingerabdruck als „Paßwortersatz“ einrichten. Dieser ist im Home-Verzeichnis des jeweiligen Nutzers gespeichert. Da ich KDM als Displaymanager nutze habe ich das ganze mal für KDM konfiguriert, die Datei /etc/pam.d/kdm sieht dann so aus:

#
# /etc/pam.d/kdm – specify the PAM behaviour of kdm
#
auth required pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
auth sufficient pam_fprint.so
@include common-auth
session required pam_limits.so
@include common-account
@include common-password
@include common-session

Die rot markierte Zeile ruft das PAM-Modul für die Fingerabdruckerkennung auf. Man kann zwar alle 10 Finger im lokalen Profil abspeichern, aber ich habe bei meinen Experimenten noch keinen Mechanismus gefunden, wie ich PAM sagen kann welcher Finger jetzt zur Authentifizierung hergenommen werden soll.

Smartcard-Reader

Der LIFEBOOK T4210 hat einen O2Micro PCMCIA Smartcard-Reader. Dafür gibt es hier Trieiber die jedoch nicht besonders ausgereift sind. Mein Job brachte mir schon eine neuere Version dieser Treiber direkt von O2Micro ein, aber die sind momentan auch nicht stabiler.

Um mit Smartcards arbeiten zu können braucht man dann noch den PC SC Daemon und natürlich eine Applikation. Zum Ausprobieren habe ich mir den GSM Phone Card Viewer +bersetzt, der funktioniert mit meiner Handy-SIM-Karte ganz ordentlich. Mit einem selbstgebauten GTKCard kann ich sogar sehen, daß mein Firmenausweis irgendwelche Security-Tokens enthält, aber so richtige Smartcard-Anwendungen gibt es unter Linux leider nicht.

Kabelgebundenes LAN

Die „normale“ LAN Karte im Tablet-PC ist von Marvell und benötigt den sky2 Treiber. Vorbei sind die Zeiten als sky2 mit Interrupt-Stürmen um sich geworfen hat und damit einen Core einer Dual-Core-CPU ausgelastet hat. Lenny hat Kernel 2.6.24 bei der Installation und nach dem ersten Update dann 2.6.25, und dort funktioniert die LAN-Karte ohne Stress.

SD-Card-Reader

An der Frontseite des Tablet-PCs befindet sich ein SD-Card-Reader der mit Lenny einfach ohne Probleme funktioniert.

Soundkarte

Die Soundkarte funktioniert soweit, daß man damit durchaus Klänge abspielen kann. In der Default-Konfiguration ist das Ding allerdings recht leise, hier kann man aber im BIOS-Setup die Lautstärke um eine Stufe anheben.

Was bislang nicht funktioniert sind die beiden eingebauten Mikrofone. Dieses Problem findet sich vielfach im Netz, allerdings habe ich noch keine Lösung dafür gefunden.

Save to Disk, Save to RAM

Die Powermanagement-Funktionen laufen leider auch nicht so rund. Save to RAM funktioniert und kann so konfiguriert werden, daß es beim Zuklappen des Deckels automatisch ausgelöst wird.

Save to disk macht hingegen Probleme. Zunächst kämpft man relativ erfolglos gegen eine Splashy-Fehlermeldung die immer beim Auslösen des s2disk auftritt und behauptet, der Framebuffer wäre nicht konfiguriert. Hochfahren und Runterfahren tut die Kiste hingegen mit Splashy ohne Probleme.
Das schlimmere Problem ist allerdings, daß auch nach Abwürgen von Splashy der s2disk-Prozess nur ein paar mal auf die Platte zugreift und das System dann mit der Meldung „snapshotting system“ hängen bleibt. Also vorerst mal kein s2disk.


Anwendungssoftware

In Sachen Anwendungssoftware für Tablet-PCs unter Linux hat sich in den letzten Jahren auch unheimlich viel getan. Ein Pionier war damals Jarnal als java-baiserte „note-taking-app“, mittlerweile bietet Debian/Lenny aber schon einiges an guter Software.

xournal

Um handschriftliche Notizen im Tablet-Mode zu erfassen habe ich nun xournal aus dem Debian-Repository instaliiert. Man merkt dem Ding an, daß es arg zum früheren Jarnal verwandt ist. Es hat alles, was man so zum schnellen „Kritzeln“ braucht und meine Tochter leiht sich jetzt gerne den Tablet-PC aus um damit Bilder am Bildschirm zu malen.

Besonders schön in xournal ist auch, daß der Stift des Wacom-Tablets dann als Radierer funktioniert wenn man ihn umdreht und mit dem Ende auf dem Bildschirm „radiert“.

xournal kann das Geschriebene auch problemlos als PDF-Dateien exportieren, d.h. nach einer Besprechung könnte man die handschriftlichen Notizen gleich per Mail verteilen.

cellwriter

Ein weiterer Problempunkt der in der Vergangenheit war die Handschrift-Erkennung auf dem Tablet. Es gab Ansätze wie XStroke zur Gesten-Erkennung (ähnlich Grafitti auf dem Palm), aber so eine „richtige“ Schrifterkennung gab es nicht.

Dann habe ich im Debian-Repository das Paket cellwriter entdeckt. Cellwriter stellt ein kleines Input-Window bereit das immer „on top“ ist und in das man mit dem Stift schreiben kann. Damit die Schrift erkannt wird gibt es einen „Training-Mode“ indem man jedes Zeichen einmal von Hand scrhreiben muß damit Cellwriter die Handschrift des Nutzers lernt. In schwierigen Situationen kann man auch statt der Eingabefelder auf ein kleines „On-Screen-Keyboard“ umschalten. Das ist jedoch nur mit englischem Layout und ohne Umlaute verfügbar, die Handschrifterkennung beherrsch aber auch Umlaute.

Betrieb als Tablet mit xournal und cellwriter Fenster "on top"

Betrieb als Tablet mit xournal und cellwriter Fenster "on top"

Ich habe mich richtig mit Cellwriter angefreundet. Es funktioniert recht gut wenn man mal ein paar Dinge irgendwo eingeben muß, z.B. in Terminal-Windows oder Dialogboxen. Natürlich würde ich diese Blog kaum mit Cellwriter schreiben, aber z.B. Chatten im IRC geht damit recht gut.

xrandr

Das Tool xrandr ist eigentlich nix besonders neues, ich führe es hier aber trotzdem auf weil es sehr nützlich ist, wenn man mit dem Notebook mal eine Präsentation machen muß. Dann möchte man einen Beamer an den 15-poligen VGA-Ausgang anschließen und einfach beamen. Das wollte ich auch, aber ich mußte dann lernen, daß es so einfach nicht ging.

Der erste Versuch ging schief, denn nach Anstecken des Beamers zeigte dieser kein Bild. Also habe ich dann mal den X-Server mit — neu gestartet. Als Belohnung gab es nun ein Bild auf Beamer und LCD, allerdings war das Bild am Notebookdisplay abgeschnitten und die Stiftkoordinaten passten nicht mehr. Ein Test mit xwininfo zeigt, daß der Notebook da auf 1152×768 Pixel Auflösung stand und damit zu hoch eingestellt war.

Ich habe daraufhin im Labor dann einiges mit einem externen Monitor rumexperimentiert und festgestellt, daß man mit xrandr das externe Display zum Leben erwecken kann oder aber wieder abschalten kann. Also genau das was ich wollte. Also flugs zwei Menüeinträge ins Kmenü, einen zum Einschalten mit „xrandr –output VGA –auto“ und einen zum Abschalten mit „xrandr –output VGA –off“. Hat an meinem Labormonitor auch schön funktioniert.

Bei der nächsten Beprechung kam dann die Ernüchterung. Beamer angesteckt, meinen Menüeintrag zum Aktivieren des Beamers aufgerufen und geärgert. Ich hatte zwar ein Beamer-Bild, aber da nur in 800×600.
Die Erkenntnis war, daß bei aktivem X-Server und nachträglich angestecktem Beamer dieser wohl nur 640×480 und 800×600 als Auflösungen meldet, fahre ich mit angestecktem Beamer hoch ist die Auflösung 1152×768 und das nützt mir auch nix.

Beheben kann man diese Verhalten allerdings, wenn man zum Aktivieren des Beamers zwei Befehle absetzt:

Damit macht man erst mal den Mode 1024×768 für den externen Monitor bekannt (sonst würde xrandr beim zweiten Befehl motzen) und danach stellt man den VGA-Ausgang auf eben diese 1024×768 ein. Bingo, schon funktioniert die Präsentation am Beamer genausogut wie auf dem Notebookdisplay.


Zusammenfassung

Den neuen Tablet-PC habe ich seit 2 Wochen im Einsatz.Und zwar nicht nur als „Notebook“ sondern eben auch als echtes Tablet, was dank weiterentwickelter Software nun recht komfortabel möglich ist. Nebenbei bemert ist er auch der große Renner bei meiner Tochter,die auch so einen PC haben will.

Ein paar Baustellen trüben die Freude noch geringfügig, aber ich werde weter versuchen diese Probleme zu beheben:

  • Save to Disk funktioniert nicht
  • Das eingebaute Mikrofon funktioniert nicht

Die Umschaltung zwischen LVDS-Schirm und Notebook-Display sollte über die Tastenkombination – funktionieren, tut das aber auch noch nicht. Dafür habe ich ja schon den Workaround über die Menüeinträge die dann xrandr aufrufen. Damit kann man auch leben.

Im Alltagseinsatz auf der Terasse zeigt sich dann aber auch, daß das Display bei großer Umgebungshelligkeit schwer ablesbar ist.