wusel
Stamm-User
- 232
Wie man einen USB-GPS-Empfänger an unseren RK29xx Tablets mit Hilfe von UsbGps4Droid ans Rennen bekommt wurde ja schon von fluxflux in diesen Thread erklärt; nun habe ich aber noch eine alternative Lösung gefunden die eine vollwertige GPS-API anbietet (die UsbGps4Droid leider nicht bietet) sodaß Apps wie GPS Status oder GPS Test auch die Anzahl verwendeter Satelliten sowie deren Signalstärke anzeigen können. Diese Lösung erfordert entweder ein system-rw (ext3, ext4) was wohl die meisten mittlerweile verwenden, oder man kann auch alternativ die benötigte Lib in eine cramfs Firmware integrieren und dann flashen. Bei meinen Tests zeigte sich dass (zumindest mit meinem GPS-Receiver) keine weiteren Scripte mehr nötig sind und auch kein UsbGps4Droid mehr wenn der richtige Kernel-Treiber geladen wurde; es wird dann über die interne Android-API der Status abgefragt und auch das übliche GPS-Activity-Symbol in der Statusbar angezeigt (siehe Screenshots) ...
ich habe diese gps.serial.so Lib erfolgreich mit Loox, Cosmo und Xpress getestet sowohl mit Stock-FW als auch gemoddet und es lief immer soweit ...
wie man den nötigen Kernel-Treiber laden kann (z.B. mit inotitfyd oder fix in init.rc) wird schon genau in fluxflux' Thread erklärt; ob inotifyd Sinn macht weiss ich nicht weil es mir zumindest mit dem cp210x.ko dass ich für mein USB-GPS benötige nicht gelungen ist das Kernel-Modul wieder zu entladen (Resource busy) ...; es wäre wünschenswert wenn man es wieder entladen könnte da nach Entfernen und erneutem Anstecken ein neues Device erstellt wird das hochgezählt wird, also ttyUSB0, ttyUSB1, usw. ...
aber da diese Problematik grundsätzlich (also auch bei Verwendung von UsbGps4Droid) auftritt müsste man mal forschen ob man den Location-Service killen kann um damit das Modul wieder zu befreien ...
im angehängten Archiv findet man mit Pfaden diese Dateien:
man muss entweder mit der local.prop oder mit den setprop-Befehlen aus dem Shell-Script diese Properties setzen:
Credits: Aiah (die Lib stammt aus seinem Archiv fview-bt.zip)
Aiah schreibt auch dass diese Lib ebenfalls mit Bluetooth klappen soll - habe ich aber nicht weiter getestet.
Das angehängte Archiv kann man wie üblich entpacken mit:
wenn man mit den Pfaden zufrieden ist; ansonsten einfach in einen Ordner extrahieren und die Dateien selbst an gewünschte Pfade kopieren ...
ACHTUNG: diese Anleitung funktioniert nur mit Android 2.3! Für ICS werden andere Kernelmodule benötigt, und die gps.rk29board.so scheint auch nicht zu funktionieren; sowbald ich da was habe was funktioniert werde ich das in einem neuen Post packen ...
ich habe diese gps.serial.so Lib erfolgreich mit Loox, Cosmo und Xpress getestet sowohl mit Stock-FW als auch gemoddet und es lief immer soweit ...
wie man den nötigen Kernel-Treiber laden kann (z.B. mit inotitfyd oder fix in init.rc) wird schon genau in fluxflux' Thread erklärt; ob inotifyd Sinn macht weiss ich nicht weil es mir zumindest mit dem cp210x.ko dass ich für mein USB-GPS benötige nicht gelungen ist das Kernel-Modul wieder zu entladen (Resource busy) ...; es wäre wünschenswert wenn man es wieder entladen könnte da nach Entfernen und erneutem Anstecken ein neues Device erstellt wird das hochgezählt wird, also ttyUSB0, ttyUSB1, usw. ...
aber da diese Problematik grundsätzlich (also auch bei Verwendung von UsbGps4Droid) auftritt müsste man mal forschen ob man den Location-Service killen kann um damit das Modul wieder zu befreien ...
im angehängten Archiv findet man mit Pfaden diese Dateien:
Code:
/system/lib/hw/gps.rk29board.so # die gps.serial.so Lib
/system/lib/modules/cp210x.ko # usb2serial Modul
/system/lib/modules/pl2303.ko # usb2serial Modul
/system/lib/modules/cdc-acm.ko # usb2serial Modul
/data/local/home/usbserial.sh # Beispiel Shell-Script
/data/local.prop # Beispiel local.prop
Code:
ro.kernel.android.gps=ttyUSB0
gps.device=ttyUSB0
gps.baud=9600
gps.accuracy=6
Aiah schreibt auch dass diese Lib ebenfalls mit Bluetooth klappen soll - habe ich aber nicht weiter getestet.
Das angehängte Archiv kann man wie üblich entpacken mit:
Code:
/system/bin/busybox mount -wo remount /system
/system/bin/busybox tar xvzf /sdcard/serialgps.tar.gz -C /
ACHTUNG: diese Anleitung funktioniert nur mit Android 2.3! Für ICS werden andere Kernelmodule benötigt, und die gps.rk29board.so scheint auch nicht zu funktionieren; sowbald ich da was habe was funktioniert werde ich das in einem neuen Post packen ...
Anhänge
Zuletzt bearbeitet: