10.06.2012

Garmin GPSmap 60CSx unter Kubuntu 12.04 LTS

Eine wahre Odyssee. Auslöser war das Auslesen der auf dem GPS gespeicherten Tracks und die Anzeige via Google Earth. Leider ist mein Lieblingstool EasyGPS ausschließlich unter Windows verfügbar.

Die leichteste Übung ist natürlich nun, dass man via VirtualBox das ganze unter Windows 7 nutzt und dann importiert. Ist aber umständlich und nicht wirklich schön.

Daher war eine Nutzung unter Kubuntu das Ziel. Tool der Wahl sollte GPSBabel sein, da damit viele Konvertierungen und Exporte möglich sind.

Die Installation mittels:
  • sudo apt-get install gpsbabel
war noch leicht und schnell erledigt. Das Nachladen der GUI mittels:
  • sudo apt-get install gpsbabel-gui
war ebenfalls schnell erledigt. Soweit war die Software schon installiert.

Nach dem Anschließen des GPSvia USB wurde es auch direkt erkannt.


Sollte also alles ohne Probleme funktionieren. Leider hat allerdings GPSBabel nach dem Start und einem ersten Abrufversuch den folgenden Fehler gebracht:

Claim interfaced failed: could not claim interface 0: Device or resource busy

Das liegt normalerweise daran, dass das Modul garmin_gps bereits das Interface für sich beansprucht und belegt hat. Dies lässt sich umgehen, indem man das Modul entlädt:
  • modprobe -r garmin_gps
 und auf die Black-List der Module setzt. Für das Bearbeiten der Black-List wird die Datei /etc/modprobe.d/blacklist bearbeitet und die folgende Zeilen ergänzt:

# prevent garmin_gps from being loaded so generic USB can be used instead
blacklist garmin_gps

Das führt dazu, dass der generische Treiber von GPSBabel genutzt werden kann und nicht das standardmäßig mitgelieferte Modul genutzt werden muss.
Mit diesen Aktionen wird verhindert, dass garmin_gps zwischen die Initialisierung funkt und der generische Treiber nicht nutzbar ist. Fehlen nur noch die Rechte, damit auch auf das GPS ohne Superuser-Rechte zugegriffen werden kann.

Den entscheidenden Hinweis habe ich im OpenStreet Map Wiki gelesen, danke dafür. 
Eine Erweiterung des Rulesets war mir klar, aber welche Zeile genau eingetragen werden muss eher nicht. Die Konfiguration, die bei mir geholfen hat, ist die folgende:

ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0666", GROUP="plugdev"

Wichtig war vor allem der Zusatz GROUP="plugdev", alle anderen Angaben sind auch so in diversen Blogs und FAQs zu finden. Das ganze wird in der Datei /etc/udev/rules.d/51-garmin.rules abgespeichert.

Danach wird die Konfiguration nur noch mittels:
  • sudo udevadm control --reload-rules
neu eingelesen und schon kann das GPS (eventuell nach einem Reconnect, wenn es angeschlossen war) mit GPSBabel ausgelesen werden.

Schwere Geburt ;-)

Keine Kommentare:

Kommentar veröffentlichen