Показать сообщение отдельно
Старый 19.03.2013, 19:17   #1
Rage2
Banned
 
Регистрация: 06.11.2009
Возраст: 38
Город: Nizhniy Novgorod
Регион: 52
Машина: Ford Focus III
Сообщений: 1,776
Rage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant future
По умолчанию USB GPS for Android

Инструкция для подключения внешнего USB GPS к андройд девайсам.

Предисловие:
p.s. by tsynik
Цитата:
GPS состоит из драйвера и C-либы Андройд, которые независимы. Драйвер отвечает за физическое unix-устройство (/dev/ttyACMxxx /dev/ttyUSBxxx), если оно появляется - в терминале достаточно (и обычно даже не обязательно) установить скорость и читать поток NMEA (cat /dev/ttyUSBxxx). Далее, нужно передать эти данные системе через MOCK LOCATIONS (множество вариантов софта в маркете и в сети типа USBGPS4Droid), либо использовать C+ либу (завязана на версию андроид, может как иметь, так и не иметь настраиваемых параметров имени устройства и скорости порта).
Драйвера (модули)

-Для GlobalSat BU-353(SiRF Star III) и их семейства необходим модуль моста PL2303, => pl2303.ko 4800\9600
-Для Locosys LS23030 (MTK3339), LS23030-G(MTK3333), GlobalSat BU-353G(MTK3333) необходим модуль моста PL2303, => pl2303.ko
-Для Locosys LS23090, Locosys LS23030 и других (noname) GPS на чипах MediaTek (MTK3329), => cdc-acm.ko 115200
-Для Holux M-1000B, необходим адаптер FT232RL, => ftdi_sio.ko
-Так же может стоять модуль моста CP2102, => cp210x.ko

Нужные вам модули кидаем в папку "/system/lib/modules/"
Права на них выставить 644:
Код:
chmod 644 /system/lib/modules/ваш_модуль.ko
Для загрузки, выполняем команду:

Код:
insmod /system/lib/modules/ваш_модуль.ko
Если модуль успешно загрузился, можно посмотреть его наличие в памяти командной lsmod

В дальнейшем добавляем загрузку модуля в скрипт автозагрузки. (init.d или install-recovery.sh способом)


Софтовая версия модуля pl2303.
Которая не зависит от версии ядра и устройства. Должна работать у всех.
http://pccar.ru/showpost.php?p=321632&postcount=35

NEW! Версия pl2303drv с исправленной ошибкой "only position independent executables (PIE) are supported". thx DelleTenebre!
http://pccar.ru/showpost.php?p=392461&postcount=1072


"Библиотека" (Либа)

(в архиве new_gps.sun4i.so.zip)
Это обновленная версия либы, теперь в ней исправлен глюк с рестартом. Т.к раньше после сна или переключения устройства, приходилось постоянно ее перезагружать...была проблемма с переинициализацией.

Установка.
1. Кинуть с заменой файлов по пути /system/lib/hw и выставить права 644:
Только возможно потребуется переименовать. Смотрите gps.XXXX.so, где XXXX - название вашей.
gps.glofish.so -не трогать.

Например:
устройства на А10, -это gps.sun4i.so (для стока), gps.exDroid.so (кастом СМ9)
устройства на RK3066, RK3188, Amlogic 8726-MX -это gps.default.so

2. Добавить в автозагрузку команду
Код:
busybox stty -F /dev/ttyUSB0 speed 4800   или   busybox stty -F /dev/ttyUSB0 4800
setprop ro.kernel.android.gps ttyUSB0
где:
4800 - рабочая скорость устройства. (4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200)
ttyUSB0 - это имя вашего устройства GPS в /dev.
Название может быть другим, например ttyACM0, ttyACM1,....2,3 и т.д.

3. Не забываем выставлять права доступа на gps устройство в /dev !!!!
Код:
 chmod 666 /dev/ttyUSB0
Решение некоторых проблем...

1. Проверяем текущую скорость порта командой "busybox stty -F /dev/ttyUSB0"
Потом, выставляется ли скорость командой "busybox stty -F /dev/ttyUSB0 speed 4800"
Бывает такое(зачастую на rk3066), что модуль pl2303.ko уже вкомпилен в ядро, и система не дает изменить скорость....ошибка "cannot perform all requested operations"
Решение нашел и описал подробно macau...читаем инструкцию

2. Если после ввода "cat /dev/ttyUSB0", побежали NMEA данные, либа на месте, но нави-софт не видит спутники:
-Проверяем есть ли пункт: "Настройки -> Местоположения -> По спутникам"
Что бы его добавить нужно:
Создать отсутствующий элемент android.hardware.location.gps.xml в папке \system\etc\permissions со следующим содержимым:
Код:
<?xml version="1.0" encoding="utf-8"?>
<!-- These are the location-related features for devices that include GPS. -->
<permissions>
<feature name="android.hardware.location" />
<feature name="android.hardware.location.network" />
<feature name="android.hardware.location.gps" />
</permissions>
3. Выключаем сообщение Navitel Navigator 8.0 о безопасном включении:
-для этого добавляем в скрипт автозагрузки
Код:
#
# Navitel Safe Start fix
#
busybox sed -i 's/SafeExit = 0/SafeExit = 1/g' /data/data/com.navitel/settings.001.ini

ЧИТАЕМ ТЕМУ !!! НЕ ЛЕНИМСЯ !! Здесь есть ответы на 98% ваших проблем !!!
Вложения
Тип файла: zip new_gps.sun4i.so.zip (6.2 Кб, 4856 просмотров)
Тип файла: zip usb_serial_for_RK3066_3.0.8+.zip (46.0 Кб, 3982 просмотров)
Тип файла: zip usb_serial_for_A10_3.0.36+.zip (237.7 Кб, 1979 просмотров)
Тип файла: zip usb_serial_for_A10_3.0.36+_v2.zip (41.1 Кб, 1769 просмотров)
Тип файла: zip usb_serial_for_A10_3.0.62+_v2.zip (41.1 Кб, 1739 просмотров)
Тип файла: zip usb_serial_for_A10_3.0.8+.zip (175.8 Кб, 2159 просмотров)
Тип файла: zip usb_serial_for_RK30xx_3.0.36+.zip (47.5 Кб, 1962 просмотров)
Тип файла: zip pl2303.ko_for_A13_3.0.8+.zip (77.3 Кб, 2376 просмотров)
Тип файла: zip MT3329_Linux_Driver_Installation_Guide.pdf.zip (790.2 Кб, 2304 просмотров)
Тип файла: zip LS2303x-G_datasheet_v1.0.pdf.zip (344.7 Кб, 1972 просмотров)
Тип файла: zip LS2303x_mtk3329_datasheet_v1.1.pdf.zip (290.8 Кб, 1814 просмотров)
Тип файла: zip LS2303x_mtk3339_datasheet_v1.2.pdf.zip (341.1 Кб, 2791 просмотров)
Тип файла: zip BU353_UsersGuide-V2.3.pdf.zip (324.9 Кб, 1879 просмотров)
Тип файла: zip BU-353G_User_Manual_Rus.pdf.zip (592.8 Кб, 2105 просмотров)
Тип файла: zip usb_serial_for_RK3188_3.0.36+.zip (49.1 Кб, 2629 просмотров)
Тип файла: zip usb_serial_modules_ Rockchip_3.0.36+_new.zip (48.1 Кб, 2032 просмотров)

Последний раз редактировалось basurman; 26.11.2017 в 21:33.
Rage2 вне форума   Ответить с цитированием