Quick'n Dirty: Sony Ericcson F3507g als GPS-Device unter Linux

anomander

New member
Themenstarter
Registriert
5 Jan. 2011
Beiträge
152
DISCLAIMER:
Das Skript muss in der vorliegenden Version als root ausgeführt werden!
Root kann machen viel kaputt!
Auf Copy&Paste Fehler achten!
Am besten ist ihr versteht was das Ding macht! ;)

ANWENDUNG AUF EIGENE GEFAHR!


Da ich hier nichts dazu gefunden habe, stelle ich nach fleißiger Lektüre des ThinkWiki ein Qick-and-Dirty-Skript zur Nutzung der F3507g als GPS-Device unter Linux vor (sollte eigentlich mit fast jeder Distribution funktionieren).

Am einfachsten speichert man es in einem Verzeichnis ab, dass in $PATH enthalten ist (z.B. als /usr/sbin/wwan-gps) und macht es ausführbar (chmod a+x /usr/sbin/wwan-gps).
Dann kann man die GPS-Funktion mit:
Code:
wwan-gps start
bzw.
Code:
wwan-gps stop
als root an- bzw. abschalten.

Vorher muss gpsd installiert sein.

Jedes Programm das gpsd nutzt kann dann auf die Positionsdaten zugreifen - es dauert aber eine Weile (bis zu ein paar Minuten) bis die Daten zur Verfügung stehen, da sich das Mopped erst orientieren muss. Danach hat mir navit allerdings zuverlässig gezeigt wo ich wohne ;)

Die device-Bezeichnungen (/dev/ttyACM?) sind im Skript "hard coded" und müssen ggf. angepasst werden. Allerdings scheinen die Bezeichnungen in der Regel bei allen Thinkpads gleich zu sein, d.h. es sollte normalerweise ohne Anpassungen funkionieren.

Hier also das Skript:
Code:
#/bin/bash

case $1 in 
        start)
                ###Sicherstellen, dass Karte aktiviert ist + Wartezeit zur Einbindung ins System
                echo 0 > /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state   
                echo 1 > /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state
                sleep 10

                ###Falls eine PIN notwendig ist, wird mit diesem Befehl die Karte entsperrt
                #chat "" "at+cpin="\"PIN\"" > /dev/ttyACM1 < /dev/ttyACM1
                #sleep2

                ###Power up + Wartezeit
                chat "" "at+cfun=1" > /dev/ttyACM1 < /dev/ttyACM1
                sleep 8

                ###GPS aktivieren (NMEA-Stream + DGPS; Aktualisierung alle 2 Sek)
                chat "" "AT*E2GPSCTL=1,2,1" > /dev/ttyACM1 < /dev/ttyACM1

                ###Ausgabe der NMEA Daten auf ttyACM2
                chat "" "AT*E2GPSNPD" > /dev/ttyACM2 < /dev/ttyACM2

                ###Aktivierung des gpsd
                gpsd /dev/ttyACM2
                ;;
        stop)
                ###gpsd töten
                killall gpsd
                
                ###Karte komplett abschalten
                chat "" "at+cfun=0" > /dev/ttyACM1 < /dev/ttyACM1
                ;;
        *)      echo "usage start|stop"

esac
exit 0

Sollte die SIM-Karte mit PIN geschützt sein, muss man die entsprechende Passage "entkommentieren" und anstelle von "PIN" die Ziffernfolge eintragen.
Diese Codezeile ist ungetestet sollte aber eigentlich funktionieren

Die Startzeit ist relativ lang, weil auf das Device und die Initialisierung "gewartet" wird, dass heißt es findet keine Kontrolle statt, ob die vorhergehende Befehle abgearbeitet sind, sondern einfach genug Puffer eingebaut. (Ja, ich weiß, dass ist kein guter Stil, aber es funktioniert - i like it quick'n dirty :P)

Wenn das GPS mit "wwan-gps stop" ausgeschaltet wird, wird die Karte komplett deaktiviert.
Sollte man danach mit ihr "surfen" wollen, muss man im Anschluss den RF-Killswitch aus- und anschalten, oder die Karte mittels
Code:
echo 0 > /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state   
echo 1 > /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state
als root wieder anschalten.


Für die Archer unter euch hab ich die Geschichte ein bißchen sauberer als Daemon umgesetzt und im Archlinux-Forum zur Verfügung gestellt.
Obacht: das Skript "wwan-gps" im Arch-Forum ist ein anderes, als das hier vorgestellte.


Das Skript ist unschön, unflexibel und wirklich nur ein Workaround zum testen, aber vielleicht hilft es ja trotzdem dem ein oder anderen :)
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben