Zaurus Tipps und Tricks

  • back
  • Hinweise zur Nutzung dieser Tipps und Tricks Liste

    1. Diese Tipps und Tricks richten sich an etwas erfahrenere Anwender
    2. 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.
    3. Alles was hier steht bezieht sich auf das Standard Sharp ROM. Keine Ahnung, ob die Tipps auch unter OpenZaurus funktionieren.
    4. 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:
    1. Möglicherweise braucht man für meinen Trick einen anderen serial_cs.o Treiber - ich habe meinen Workaround ohne diesen Treiber noch nicht ausprobiert.
    2. 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
    3. 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:
    1. 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
      
    2. 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.
    3. 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.