PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Навигация (http://pccar.ru/forumdisplay.php?f=176)
-   -   USB GPS for Android (http://pccar.ru/showthread.php?t=18871)

kazanova 26.09.2017 13:44

Попробовал понизить частоту до 1Гц 9600. Подключился при помощи YAH GPS. Прога - не вариант, т.к. после спячки или перезагрузки надо жать в ней "Connect". Вернул обратно управление GNSS Commander. Пропало или нет отставание - пока не проверял (дома сижу), но определенно разобрался, почему проги теряют позицию. Андроид спустя какое-то время выгружает из памяти GNSS Commander, соответственно информация о позиции становится недоступна. Если переключиться на Commander, то позиция становится активной.

Как запретить андрюше выгружать из памяти GNSS Commander не имея рута - не знаю. В меню батареи и приложений таких пунктов не нашел :( Уже руки опускаются. Сдать нахрен обратно в магазин это уродство и взять что-то гарантировано рутуемое?..

maxymike 29.09.2017 02:50

Помогите,пожалуйста,разобраться с gnss commander-твбокс x96,приемник ublox 8. В настройках устройства стоит generic. Если к боксу подключен только ublox-все хорошо,если имеются другие usb типа флешки или звуковой карты,прога пытается подключиться к ним. Если все лишние usb убрать-снова все ок. Как быть?

kazanova 29.09.2017 15:30

Need help!
 
Друзья, очень нужна помощь... Уже неделю безуспешно ломаю гаджет :be:

Рутовать планшет не выходит. Через ADB он подключается в режиме root, позволяет менять некоторые системные файлы, но файлик su заменить/удалить не дает. Т.о. девайс рута не имеет, но есть рутовая консоль. Я пробовал разным бинарникам выставлять SUID, чтобы они запускались от рута. Команда выполняется, ошибок нет, но права остаются неизменными.

Короче говоря, рут права у меня есть только в шелл и только при подключении к ПК через ADB. Соответственно, для подключения к ПК приходится отключать USB-GPS-приемник, чтобы освободить порт.

Сейчас стоит задача понять, видит ли он приемник и на какой девайс назначает. Выполнить "ls /dev" можно только рутом (хотя "r" и "x" права на директорию выставлены для всех). Т.е. при подключенном приемнике это никак не выполнить. Для dmesg тоже нужен рут. Я пробовал такой трюк: подключаю приемник, потом сразу отключаю, девайс подключаю к ПК. Там захожу в шелл, делаю "dmesg > /sdcard/mesg.txt" и потом смотрю на его содержимое :) Там я нахожу вот это:

Код:

[ 1249.560194] usb 1-1: new high-speed USB device number 6 using sunxi_hcd_host0
[ 1249.702569] hub 1-1:1.0: USB hub found
[ 1249.704475] hub 1-1:1.0: 4 ports detected
[ 1249.980212] usb 1-1.2: new full-speed USB device number 7 using sunxi_hcd_host0

И все. Я так понимаю, драйвер не установлен? lsusb устройство видит и определяет так:

Код:

Bus 001 Device 003 ID 067b:2303
При попытке сделать "cat /dev/ttyUSB0" или "cat /dev/ttyACM0" мне отвечает "No such file or directory". При подключении к ПК листинг /dev находит несколько ttyGS*, ttyS* устройств. Но даже если выставить на них права 644, с девайса они не открываются: Permission denied.

Пробовал закачать модуль pl2303.ko из шапки. При попытке его загрузить ругается на формат бинарника. Видимо не подходит под мое ядро 3.4.39 или архитектуру (Проц A33, ARMv7). Пробовал запускать прогу pl2303drv, указав ей девайс /dev/bus/usb/001/003, но она приемник не нашла (возможно просто нет доступа, т.к. не рут).

На оф. сайте производитель предлагает SDK, содержащий драйвера под девайс на java, которые не требуют рута. Только как их поставить, я не понял. Поставил их прогу "pl2303 USB-UART", она приемник видит и читает. Как ее подружить с ядром системы - хз.

Либу установил, обозвал ее gps.default.so. Пункт меню для определения позиции по GPS открыл. Кому-то этих процедур достаточно, мне - нет. Проги спутники не видят. Видимо нужны дрова.

Я близок к отчаянию, но пока не сдаюсь :wallbash:

Прошу помощи! Как мне поставить дрова и как найти путь к устройству, если подключая устройство я не могу быть рутом? :huh2:

ABCh 29.09.2017 16:02

kazanova,
adb через wi-fi не пробовали запускать?

kazanova 29.09.2017 16:32

ABCh,
Спасибо за наводку! Я и не знал, что так можно)) Подключил ADB по вафле, теперь могу сидеть в ADB с подключенным приемником. Только вот реакции на его подключение нет: в /dev/ ничего не меняется при его подключении/отключении. Нужны драйвера? Где их брать? pl2303.ko из шапки не подошли

ABCh 29.09.2017 19:22

Вложений: 1
Попробуйте из этого архива.

kazanova 30.09.2017 00:03

ABCh,
Девайс остался в гараже, попробую позже. Но в деле появились кое-какие сдвиги. Я запустил прогу pl2303drv. В шапке не хватает описания, как ей пользоваться. Я когда первый раз ее запускал, думал что ей нужно указывать девайс, откуда брать данные. Оказывается наоборот: какой девайс создать чтобы туда данные шли (логично, это ведь драйвер, но сразу не допер). В общем случайно получилось узнать, набрал на дурака "pl2303drv /dev/ttyUSB0 9600" и прога пошла (антенну пока прошил под скорость 9600). Появился девайс ttyUSB0, читается при помощи cat, все здорово. Прикрутить его к ядру пока не вышло. Для автозапуска я создал папку /system/etc/init.d вот по этой инструкции, в ней скрипт с именем "gps" вот такого содержания:

Код:

#!/system/bin/sh
pl2303drv /dev/ttyUSB0 9600
busybox stty -F /dev/ttyUSB0 speed 9600
setprop ro.kernel.android.gps ttyUSB0

Перезагрузил аппарат, но проги спутники не видят. При этом /dev/ttyUSB0 наверное существует, т.к. "cat /dev/ttyUSB0" выдает "Permission denied", а не "No such file or directory". Однако прочитать его я не могу, т.к. чтобы подключиться с рутом, мне надо переткнуть планшет к ПК даже если соединяться по WiFi. А после перетыкания антенны прога, вроде как, ее обратно не подцепляет. Завтра продолжу ломать :bax: не переключайтесь :smoke1:

ABCh 30.09.2017 11:13

Строка
Код:

busybox stty -F /dev/ttyUSB0 speed 9600
нужна только для "настоящего" драйвера, то есть модуля ядра. Каков будет от нее эффект для софтового драйвера, я не знаю.

kazanova 01.10.2017 02:20

Цитата:

Сообщение от ABCh (Сообщение 392780)
Попробуйте из этого архива.

Все одно: ругается на формат файла, так что облом :( А подо что они скомпилены?

Похоже автозапуск через init.d не работает. Я поправил свой скрипт:

Код:

#!/system/bin/sh
date > /sdcard/date
pl2303drv /dev/ttyUSB0 9600
setprop ro.kernel.android.gps ttyUSB0

По идее после перезапуска должен появиться файлик /sdcard/date, содержащий дату/время перезапуска. Но он не появляется. Так же после перезапуска программа pl2303drv остается не запущенной, устройство /dev/ttyUSB0 отсутствует, т.к. "cat /dev/ttyUSB0" все таки возвращает "No such file or directory" (ранее я писал иначе - что-то попутал видимо).

Еще я поправил build.prop, прописал туда путь к GPS, скорость и max_rate. После перезапуска аппарата, проги спутники не видят - оно и понятно, pl2303 не запущен, ttyUSB0 отсутствует. Запуск программы pl2303drv ничего не меняет - возможно она должна быть запущена до загрузки системы - хз.

Подскажите, можно ли как-то проверить работоспособность либы gsp.defaul.so? Может она тоже под мой проц не подходит, как и все pl2303.ko, что мне попадались?

ABCh 01.10.2017 09:17

Цитата:

Сообщение от kazanova (Сообщение 392853)
Все одно: ругается на формат файла, так что облом :( А подо что они скомпилены?

Я собирал эти модули для своего первого проекта на планшете DEXP Ursus A170i JOY 4Гб. В нем процессор A23 и ядро версии 3.4.39. Похоже, в вашем планшете ядро собрано с другим набором опций. Если существует файл /proc/config.gz, отправьте его мне.
Цитата:

Сообщение от kazanova (Сообщение 392853)

Похоже автозапуск через init.d не работает.

По идее после перезапуска должен появиться файлик /sdcard/date, содержащий дату/время перезапуска. Но он не появляется. Так же после перезапуска программа pl2303drv остается не запущенной, устройство /dev/ttyUSB0 отсутствует, т.к. "cat /dev/ttyUSB0" все таки возвращает "No such file or directory" (ранее я писал иначе - что-то попутал видимо).

Я использовал для настроек запуска файл /etc/install-recovery.sh Вот его рабочий вариант для pl2303drv:
Код:

#!/system/bin/sh
if [ -e /dev/gps ]; then
    /system/bin/busybox rm /dev/gps
fi
/system/lib/hw/pl2303drv /dev/gps 115200 &
/system/bin/setprop "ro.kernel.android.gps" "gps"

Здесь создается файл с именем /dev/gps, чтобы не было конфликта с /dev/ttyUSBx от 3g модема, который я подключал к планшету.
В скриптах инициализации прописывайте полный путь до исполняемых команд (файлов) начиная от /system. Возможно, в этом причина Ваших проблем, поскольку переменная PATH на этапе исполнения этих скриптов может быть еще не определена.


Часовой пояс GMT +4, время: 13:17.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot