Installationsanweisung für Psion / Linux Verbindung
von Thomas Gaertner
Daß die Installation der plptools (Psion Link Protocol) bei mir nicht sofort funktionierte, lag an meinem alten, selbstgebastelten Kernel. Irgendeine Option fehlte darin. Es ist also auf jeden Fall zu empfehlen, bei der Installation einen Standardkernel zu verwenden und diesen erst nach erfolgreicher Installation anzupassen, wenn eine Anpassung überhaupt noch erforderlich ist.
Als weiteres Problem stellte sich heraus, daß alle notwendigen Pakete aus einem RedHat Linux System stammen. Für andere Distributionen können individuelle Anpassungen erforderlich sein. Meine Installation basiert auf der SuSE 6.3 Distribution.
Hier nun meine Vorgehensweise ausführlich zum Nachmachen:
Zuerst habe ich mir folgende RedHat RPM Pakete aus dem Internet heruntergeladen:
ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/chkconfig-1.0.6-1.i386.rpm
ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/readline-2.2.1-5.i386.rpm
ftp://ftp.to.com/pub/psion/RPMS/plptools-0.6-1.i386.rpm
Die Pakete habe ich mit Hilfe von kpackage installiert. Bei der Installation von »readline« wurde eine nicht aufgelöste Abhängigkeit festgestellt. Nachdem ich mich davon überzeugt hatte, daß install-info doch existierte, habe ich diesen Fehler ignoriert und die Installation ohne Abhängigkeitsprüfung fortgesetzt. Alle anderen Abhängigkeiten sollten mit der SuSE Distribution aufgelöst werden können.
Im nächsten Schritt habe ich unter SuSE 6.3 einen Standardkernel installiert. Der vorkonfigurierte Kernel »Pentium optimiert« enthält bis auf ISDN alles was ein gutes Netzwerksystem ausmacht. Nach dem Neustart folgten auf die Meldung »Starting Psion Support« Fehlernachrichten, die darauf schließen ließen, daß das Startscript nicht systemkonform ist.
Dieses Script /etc/rc.d/psion ist auf RedHat Linux abgestimmt und muß auf anderen Distributionen umgeschrieben werden. Für SuSE habe ich dies anhand des Startscriptes für den Druckerdaemon lpd getan. So habe ich den RH Befehl daemon durch den äquivalenten SuSE Befehl startproc ersetzt. Außerdem habe ich die Variable START_NCPD=yes in die Datei /etc/rc.config eingebaut. In dieser Systemkonfigurationsdatei legt SuSE fest, welche der Dienste (Daemon) beim Bootvorgang gestartet werden sollen. Der große Vorteil von plptools ist die Möglichkeit, die Daemon schon beim Booten zu starten, ohne daß der Psion bereits angeschlossen sein muß.
Der Daemon ncpd stellt die Verbindung zum Psion über COM Port her. Standardmäßig wird /dev/modem als serielle Schnittstelle verwendet. Das kann zu Konflikten führen, wenn man gleichzeitg ein Modem angeschlossen hat. Bei mir ist das Device /dev/modem auf /dev/ttyS1 den 25-poligen COM2 Port gelinkt, da /dev/ttyS0 mein 9-poliger COM Anschluss für den Psion ist. Durch eine Option beim Aufruf von ncpd kann man den Standard Anschluß ändern:
startproc /usr/sbin/ncpd -s /dev/ttyS0
Der Daemon plpnfsd mounted dann die Laufwerke des Psion über NFS in das Filesystem. Standardmäßig wird der Mount Point /mnt/psion benutzt. Da ich den Mount Point /mnt auch für andere Mounts verwende, habe ich einen eigenen Mount Point /Psion im Wurzelverzeichnis erzeugt, um Konflikte auszuschließen. Diesen kann man dann beim Aufruf des Daemon ebenfalls mitgeben:
startproc /usr/sbin/plpnfsd -d /Psion
Das so modifizierte Startscript für die SuSE Distribution lautet:
#!/bin/sh # # psion Starts ncpd/plpnfsd. # # chkconfig: 2345 30 70 # description: This facility enables connectivity to a Psion series 5. . /etc/rc.config base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && START_NCPD=yes test "$START_NCPD" = "yes" || exit 0 return=$rc_done case "$1" in start) echo -n "Starting Psion support: " startproc /usr/sbin/ncpd -s /dev/ttyS0 startproc /usr/sbin/plpnfsd -d /Psion sleep 1 echo touch /var/lock/subsys/psion ;; stop) echo -n "Shutting down Psion support: " killproc /usr/sbin/plpnfsd -HUP sleep 10 # allow plpnfsd flushing it's cache killproc /usr/sbin/ncpd echo rm -f /var/lock/subsys/psion ;; restart|reload) $0 stop && $0 start || return=$rc_failed ;; status) checkproc /usr/sbin/plpnfsd && echo OK || echo No proces checkproc /usr/sbin/ncpd && echo OK || echo No proces ;; *) echo "Usage: psion {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0
Ja und wenn alles richtig gemacht ist, sollten nach dem Neustart keine Fehlermeldungen mehr erscheinen:
Starting Psion Support:
Nachdem der Psion am COM Port angeschlossen worden ist und auf dem Psion die Kommunikation auf »Kabel / 115200« eingestellt ist, nimmt der ncpd Daemon bei der ersten Anforderung die Verbindung automatisch auf. Die Laufwerke des Psion erscheinen dann im KDE Filemanager wie folgt:
Die Daten können dann per Drag und Drop kopiert werden. Eine Konvertierung der Daten wie unter PsiWin ist nicht möglich. Auch schien mir der KDE Filemanager noch nicht stabil genug mit dieser NFS Verbindung über COM Port zu arbeiten. Ich mußte die Daemon des öfteren neu starten:
#>/sbin/init.d/psion restart
Für eine komplette Sicherung der Daten auf eine LS120 Diskette oder ein ZIP-Laufwerk bieten sich die Programme Kbackup und Taper an. Beide Programme habe ich kurz getestet, sowohl das Backup als auch den Restore.
Eine weitere, stabilere Methode die Daten zu kopieren ist das Tool plpftp , bei dem man mit Hilfe von FTP bekannten Befehlen arbeiten kann.
Probleme:
Mir ist aufgefallen, daß z.B. die SIS Dateien auf der CD ROM des Streetplaners unter Linux alle schreibgeschützt sind. Das heißt nach dem Kopieren muß der Schreibschutz auf dem Psion noch aufgehoben werden, bevor man die SIS Datei installieren kann. Das Problem gab es allerdings nicht, wenn ich die SIS Dateien mit plpftp kopiert habe.
Schaltet sich der Psion auf Grund seiner Einstellung automatisch ab, während der KDE Filemanager gerade eine Operation auf dem Psion Laufwerke ausführt, so hängt sich der KDE Filemanager auf. Ein Neustart des X Servers ist meist notwendig.