Zaurus Tipps und Tricks
back
Hinweise zur Nutzung dieser Tipps und Tricks Liste
- Diese Tipps und Tricks richten sich an etwas erfahrenere Anwender
- Der erste Schritt für die Anwendung meiner Tipps sollte die Installation einer aktuelleren Busybox sein, die von Sharp ist arg alt und unvollständig.
- Alles was hier steht bezieht sich auf das Standard Sharp ROM. Keine Ahnung, ob die Tipps auch unter OpenZaurus funktionieren.
- Einige Tipps verweisen auf Tools, die nachträglich installiert werden müssen. Hier sind die Quellen, aus denen ich mich meistens bediene:
Zaurus Software Index
IpkgFind - Paketsuche
Debian ARM Feed
Weitere Links zu Zaurus Quellen finden Sie in meiner Link-Liste
Einige Leute haben mehr oder weniger indirekt zur Entstehung dieser Liste beigetragen. Ihnen gilt mein Dank und ich hoffe noch viele gute Tipps an dieser Stelle sammeln zu können
Neues (nur mit C860 getestet)
- Meine Compact Flash GPS Karte läuft nicht mit Cacko ROM
-
Viele GPS Karten melden sich leider als "CF CARD", "GENERIC". Das trifft auch auf Bluetooth Karten zu. Man kann das sehr leicht in der Konsole mit dem Kommando
cardctl ident
überprüfen. Im Cacko ROM werden in so einem Fall automatisch die Bluetooth Treiber geladen und die Schnittstelle wird auf 100000 Baud gestellt. Viel zu viel für eine GPS Karte (4800 Baud). Wenn man Bluetooth weiterhin benutzen will, kann man sich mit einem Trick behelfen:
- Möglicherweise braucht man für meinen Trick einen anderen serial_cs.o Treiber - ich habe meinen Workaround ohne diesen Treiber noch nicht ausprobiert.
- In
/etc/bluetooth/serial
muß ans Ende der Zeile, die mit "CF CARD", "GENERIC" beginnt spd_cust divisor 24 angehängt werden, die Zeile sollte dann so aussehen:
"CF CARD", "GENERIC", "", "":baud_base 1000000 spd_cust divisor 24
- In der GPS Software muß nun 38400 Baud, statt 4800, für den gpsd eingestellt werden
Dieser Trick hat einen Seiteneffekt - man kann Bluetooth Karten nicht mehr mit 38400 Baud betreiben - was sicher zu verschmerzen ist...
Wer wissen will, warum das funktioniert:
Durch den Parameter "spd_cust divisor 24" wird der Uart angewiesen, die Baudrate auf 4800 Baud runterzustellen, sobald Software 38400 Baud anfordert. Ist wohl ein alter Hack im setserial Kommando, der aber noch immer funktioniert.
- Ich benutze den Workaround für meine GPS Karte, aber qpegps bekommt keinen GPS Fix
- Erstens - den gpsd bitte nicht manuell starten! Dann qpegps ohne Karte starten und die Warnmeldung mit "Ignore" wegklicken. Nun die Karte reinstecken, in das Eingabefeld für gpsd klicken und Enter Taste drücken. Nun wird der qpsd gestartet und es kann beim ersten Mal mehr als 10 Minuten (genaugenommen 12,5 Minuten) bis zum GPS Fix dauern.
- Mein Bluetooth Karte funktioniert nur einmal, beim zweiten Verbindungsaufbau passiert nichts.
- Einige Karten werden beim Auflegen in den Resume Modus versetzt. Man kann das Problem einfach mit einem Trick umgehen (Cacko ROM) - einfach ans Script
/etc/ppp/ip-down
folgende Zeilen anhängen:if [ "$2" == "/dev/rfcomm0" ] ; then
cardctl eject 0
sleep 1
cardctl insert 0
fi
Altes (nur mit SL5500 getestet) Das meiste gilt aber auch für CXX Zauri
- SDL Spiele rotieren, sodaß Rechtshänder besser spielen können.
- SDL basierte Programme, wie der EGO Shooter PR Boom oder Crimson Fields, lassen sich auch rotieren, indem man sie von der Shell aus startet und zuvor die Rotation mit "export SDL_QT_INVERT_ROTATION=1" aktiviert.
- QTopia komplett rotieren, um besser mit externen Tastaturen arbeiten zu können.
- Wenn die Rotation aktiviert wurde und QTopia neu gestartet wird, ist auch der QTopia Desktop rotiert. Das erfordert natürlich die Installation der Pakete qt-embedded-rotation und qpe-rotation
- Programm dauerhaft rotieren.
- Dazu muß man einfach die desktop-Datei eines Programmsymbols öffnen (in
/opt/QtPalmtop/apps
) und einen Eintrag
Rotation=XYZ
erzeugen - setze für XYZ die Zahl 270 ein für eine Rotation, die für externe Tastaturen geeignet ist. Das erfordert natürlich die Installation der Pakete qt-embedded-rotation und qpe-rotation
- KPackman stürzt mit der Meldung "No schemes selected" ab.
- Beruht auf einen Fehler im Installationspaket. Einfach die Datei kpacman.conf ins Homeverzeichnis kopieren, dann klappt's wieder.
- VNC Client mit Zoom.
- Den Opie-VNC Client aus den OpenZaurus Feeds nehmen, der läuft auch mit dem Sharp ROM und bietet eine ZOOM Funktion an.
- Ich brauche eine einzelne Datei aus dem Backup.
- Die Backup Datei ist ein ganz normales Tar-Archiv. Eine Datei kann von der Kommandozeile aus per
tar -xf backupfilename filename
ausgepackt werden.
- Ich brauche die Datei XYZ aus einem ipk-File
- ipk-Files sind ganz gewöhnliche tar gz- oder ar-Archive, man kann sie also in der Konsole entpacken und findet dann ein tar gz-Archiv
data.tar.gz
, in dem die gewünschte Datei enthalten ist. Neuere OpenZaurus ipk-Pakete sind meistens ar-Archive. ar findet man in allen neueren Busyboxen.
- Einige Konsolen Befehle funktionieren nicht so, wie ich es von Linux her kenne.
- Viele Befehle wurden aus Platzgründen in einem Programm zusammengefasst - der sogenannten
Busybox
, tatsächlich existieren sie alle nur als Symlinks auf dieses eine Programm. Die Busybox Varianten vieler Befehle (awk, tar) sind aber meist stark abgespeckt. Wenn Platz kein Problem darstellt, empfiehlt es sich deshalb immer, zusätzlich die kompletten Kommandos zu installieren, die findet man oft im Debian ARM Feed.
- Programme aus dem Debian ARM Feed installieren
- deb-Dateien sind ganz ähnlich wie ipk-Dateien aufgebaut. Es sind ar-Archive, die das eigentliche Programm in einem data.tar.gz Archiv enthalten. Im ebenfalls enthaltenen control.tar.gz findet man das Installationsskript, was man aber meistens nicht zwingend benötigt. Eventuelle Abhängigkeiten kann man leicht mit Hilfe des
ldd
Kommandos ermitteln - sofern man sich dieses beschafft hat - gibts hier. Das data.tar.gz Archiv entpackt man in einem beliebigen Verzeichnis (zB. /tmp/auspack
, dabei entsteht die komplette Verzeichnishierarchie des Programms. Meistens kann man die 1:1 ins root Verzeichnis kopieren, manchmal muß man aber kleine Anpassungen machen - zB. /bin durch /usr/bin ersetzen, weil ersteres im Sharp ROM read only ist. Oft sind auch man Pages mit enthalten, die man auf dem Zaurus leider nicht verwenden kann (ein Problem, an dem ich schon eine Weile arbeite), die sollte man sich also aus Platzgründen sparen.
- LAN oder WLAN Karte reagiert nicht auf umount Anforderung.
- Wenn man NFS Verzeichnisse gemountet hat, läßt sich die Karte nicht per umount entfernen. Man sollte unbedingt alle Netzwerk-Mounts aufheben, bevor man die Karte aushängt.
- Zu wenig Speicher frei.
- Mit Hilfe dieses Skripts kann im
/tmp
Verzeichnis ein Swapfile angelegt oder jederzeit geändert werden. Man ruft das Skript einfach mit der gewünschten Megabyte Größe auf. Es wird awk benötigt (neuere Busybox oder auch einzeln erhältlich). Wird das Skript mit 0 aufgerufen, wird das swapfile wieder gelöscht.
- Swapfiles nicht im Backup sichern.
- Wenn man ein Swapfile in /tmp ablegt, wird es nicht im Backup gesichert. Dadurch werden Backups erheblich kleiner. Allerdings rechnet das Backup Programm die Größe trotzdem mit ein, sodaß auf dem Backup-Medium entsprechend viel Platz frei sein muß.
- Samba Server startet nicht.
- Oft fehlt der eigene Hostname in der
/etc/hosts
Datei. Damit der Samba Server starten kann, müssen Hostname und IP Nummer in der hosts Datei eingetragen sein.
- Samba Freigaben funktionieren nicht.
- Ein Grund kann sein, daß man die Freigaben in der falschen Konfigurationsdatei eingetragen hat. Wenn man Samba Server und Client installiert hat, befinden sich diverse smb.conf Dateien auf dem Zaurus. Es empfiehlt sich, nur eine smb.conf Datei zu behalten und per Symlinks dort zu spiegeln, wo vorher die anderen Dateien lagen.
- Samba Freigaben funktionieren nicht - Benutzer oder Passwort unbekannt.
- Damit ein Benutzer auf Samba Freigaben zugreifen kann, muß er dem Samba Server bekannt sein. Dazu legt man mit
adduser
einen Benutzer an und aktiviert ihn für Sambazugriff mit /usr/local/samba/bin/smbpasswd
- Samba Freigaben sind umständlich zu handhaben.
- Im Debian ARM Feed gibt ein Paket swat. Das funktioniert auch auf dem Zaurus, wenn man in der /etc/inetd.conf Datei swat mit -a als Parameter einträgt. Swat vereinfacht die Konfiguration des Samba Servers erheblich, allerdings gibt es kein Passwortschutz, sodaß jeder konfigurieren kann, weshalb es sich empfieht, swat nur bei Bedarf zu aktivieren.
- Aktuelle IP Nummer an der Konsole ermitteln.
- Mit
ifconfig
an der Konsole kann man sich die IP Nummer ansehen. Wer grep, tr und awk hat (neuere Busybox) kann auch dieses Skript aufrufen - es extrahiert die aktuelle IP Nummer und gibt sie aus.
- Akkustand an der Konsole ermitteln.
- Mit
cat /proc/apm
an der Konsole kann man sich den aktuelle Akkustand ansehen. Ist aber recht ungenau. Wer awk hat (neuere Busybox oder auch einzeln erhältlich) kann auch dieses Skript aufrufen - es extrahiert den aktuellen Stand und gibt ihn aus.
- Programm XYZ startet nicht
- Erster Schritt ist, das Programm von der Konsole aus aufzurufen. Meist sieht man dann eine Fehlermeldung, die die Ursache schnell klärt. Für Härtefälle muß man sich das Programm strace besorgen, damit das Sorgenkind aufrufen und hoffen, daß man aus den ettlichen Textzeilen, die dann erscheinen, eine Ursache herauslesen kann. Hilfreich ist auch
ldd
(muß besorgt werden) - es ermittelt die benötigten Libraries und zeigt an, von wo diese angezogen werden.
- tar kann keine gz-Archive erzeugen
- Besorgen Sie sich das tar aus dem Debian ARM Feed. Es beherrscht das Packen - gepackte tar-Files können dann per
tar -czf tarname filelist
erzeugt werden, das ist allemal komfortabler als die zweite mögliche Lösungsvariante - das Pipelining mit gzip.
- Ich möchte ein beschreibbares ext2 Image auf einer VFAT formatierten CompactFlash Karte anlegen
- Mit Hilfe dieses Skripts kann man ein ext2 Image erzeugen und mounten - auf diese Weise kann man auch auf VFAT formatierten Medien symbolische Links erzeugen und Dateirechte einsetzen. Im Skript ist
/mnt/cf/ramdisk.img
als Ziel vorgegeben, kann aber leicht geändert werden. Das Skript wird einfach mit der gewünschten Megabyte Zahl (zB. 16 für 16 Megabyte) aufgerufen, 0 löscht das Image. Wird das Skript ohne Parameter aufgerufen, wird das Image gecheckt und anschließend gemountet.
- Ein Programm läßt sich nicht starten (es hängt) und ich kann kein weiteres Programm starten (dann friert QTopia ein) um das hängende Programm abzuschießen.
- Dieses Problem kann nur umgangen werden, indem man einen Taskmanager per Fastload Option dauerhaft im Speicher hält. Den besten fastload fähigen Taskmanager, den ich zurzeit kenne, gibt es hier - Sysinfo.
- Kann kein FTP auf meinen Zaurus machen
- Das ist ein Geschenk des ROM Updates 2.38 - hier kann ein gescheiter FTP Server gezogen werden.
- Nach dem Einstecken einer CompactFlash und/oder SD Karte hängt mein Zaurus
- Da ist oft der Dokumenten-Tab dran schuld und das kann leicht behoben werden: gehe ins Verzeichnis /etc, kopiere mtab nach mtab.tmp, lösche mtab und benenne mtab.tmp in mtab um. Nun kann die mtab Datei mit einem Editor geöffnet werden, es sollten dann alle Verweise auf die CompactFlash- und SD-Karte entfernt werden. Von da an geht das Mounten und Unmounten von Karten blitzschnell und der Dokumenten-Tab enthält nur noch Dateien aus dem home-Verzeichnis. Einzelne auf einer Karte liegende Dokumente können mit Hilfe dieses Programms weiterhin auf das Dokumenten-Tab gelegt werden. Einen Nachteil will ich nicht verschweigen: Das Backup Programm funktioniert dann nicht mehr - also vor einem Backup ist die mtab wiederherzustellen - bzw. ich habe einfach die Karten mit einem # auskommentiert und lösche das # für ein Backup.
- GPRS Einwahl mit Siemens Handy S45i bei O2 (Viag Interkom)
- Dazu mit dem "Netzwerk & Sync" Programm einen neuen IrDA - PPP Eintrag erzeugen, Benutzername "internet", Kennwort "internet", Telefon "*99***1#" erzeugen, erster DNS Server ist 195.182.96.28, zweiter DNS Server ist 195.182.96.61. Nun aus
~/Applications/Network/modules
das neu entstandene conf-Skript öffnen, in dem steht in der "id"-Zeile, welches PPP-Skript aus /etc/ppp/peers
für die Einwahl verwendet wird. Dieses PPP-Skript öffnet man in einem Editor und ersetzt die "connect" Zeile hierdurch:
connect ´/usr/sbin/chat -s -v ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "BUSY" "" AT+CGDCONT=1,"IP","internet"^M^M OK ATD*99***1# CONNECT´
Von da an sollte es klappen. Allerding funktioniert die Einwahl nicht immer, manchmal kann keine IrDA Verbindung zum Handy aufgebaut werden, in so einem Fall mal das Handy aus- und wieder anschalten und nochmal versuchen. Diese Anleitung sollte auch mit anderen GPRS Handys funktionieren.
- Compact Flash Modem mit terminalbasierten Programmen wie minicom und efax verwenden
- Ein CF Modem ist unter /dev/ttyS3 zu finden, normalerweise wird auch automatisch ein Link /dev/modem erzeugt. Um es zu aktivieren, müssen zwei Dinge berücksichtigt werden:
- Der pppd muß angehalten werden, weil er sonst womöglich die Schnittstelle belegt. Dazu ist etwas Handarbeit vonnöten. An den Anfang der Datei
/etc/sync/serialctl
muß fogende Warteschleife eingebaut werden.
while [ -f /var/lock/modem ]; do
sleep 60
done
- Dann legt man mittels
touch /var/lock/modem
eine Dummy-Datei an und killt denn pppd anschließend mit
killall pppd
Von da an bleibt der pppd solange inaktiv, bis man die Dummy-Datei wieder löscht.
- Mit
cardctl resume
muß das Modem aktiviert werden.
- Netzwerk für Wartungarbeiten herunterfahren
- Herunterfahren so :
ifconfig eth0 down
Herauffahren so :
ifconfig eth0 up
- dabei wird, sofern DHCP verwendet wird, der DHCP Lease neu angefordert.
- Mal eben schnell die IP Nummer ändern
- Ganz einfach :
ifconfig eth0 xxx.xxx.xxx.xxx
- Die MAC Adresse der Netzwerkkarte ändern (geht womöglich nicht mit allen Karten)
- Netzwerk herunterfahren -
ifconfig eth0 down
Neue MAC Adresse eingeben -
ifconfig hw ether XX:XX:XX:XX:XX:XX
- NFS Mounts brauchen lange
- Einfach die Mountoption
nolock
hinzufügen, dann flutscht es gradezu.
- Zaurus hängt nach Reboot - beide LEDs leuchten permanent
- Ein ärgerlicher Fehler im Sharp ROM. Das kann man umgehen, indem man den Zaurus zwischen den Reboots mal ausschaltet.