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)

dm66 21.05.2015 22:37

В итоге за 2 дня мучений дошел вот до чего:

посмотрел командой ls /sys/bus/usb/devices/ какое у меня устройство.

долго не мог понять как вычислить какое мне нужно выудить устройство из списка
1-0:1.0
2-0:1-0
2-1
2-1.1
2-1.1:1.0
2-1.2
2-1.2:1.0
2-1.3
2-1.3:1.0
2-1.3:1.1
2-1:1.0
usb1
usb2
в итоге выдернул USB GPS шнурок из хаба и сделал повтор той же команды, в результате увидел, что пропало из списка, воткнул обратно, увидел что появилось! Как то об этом нигде не упоминается....ну да ладно, это видимо для всех очевидно, мне нет.
Далее.... пошёл по пути создания скрипта 01myscript в папке /system/etc/init.d, оговорюсь, что данная папка у меня уже была, там создал только сам скрипт 01myscript:

#!/system/bin/sh
echo -n "2-1.1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
sleep 30
chmod 644 /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

далее, не мог перемонтировать раздел /system в RW, в итоге вычитал в интернете как при помощи Total Commander (а я пользуюсь им) сделать специальную кнопку на панели задач для перемонтирования разделов. Кнопку сделал, раздел /system перевел в RW.
Далее запустил скрипт 01myscript вручную с помощью терминала командой sh /system/etc/init.d/01myscript
команда прошла и всё заработало!
НО после перезагрузки вижу, что скрипт не запускается вообще! более того обратил внимание, что раздел /system стал опять видимо только R вместо RW, при этом в свойствах папки /system вижу права 755, т.е. что R что RW = 755?! При этом кнопка на панели задач тотала четко отображает R. В итоге опять перемонтировал в RW и запустил скрипт вручную, заработало.

Так же для меня пока не ясен вопрос с переводом Unix строк - что это значит???? Я сделал все скрипты с помощью блокнота в Windows, затем всё это скопировал в свой свисток MK802IV. При открытии созданных в Windows файлов скриптов обратил внимание на пробелы в конце каждой строки команд, удалил их.
Ещё момент, у меня в терминале свистка все команды выполняются только если предварительно ввести команду SU, таким образом всё же непонятно, нужно писать SU вначале команд в скриптах или нет?!

Как делал скрипт по инструкции с этого сайта:
1. создал preinstall.sh по пути (его там не было) /system/bin/preinstall.sh. А ВОТ КАКИЕ ЗДЕСЬ Д.Б. ПРАВА - 755?
2. Добавляем в него стоку.
#!/system/bin/sh
exec /system/bin/logwrapper busybox run-parts -a start /system/etc/init.d

3. Папка init.d уже была, поэтому не создавал /system/etc/init.d
сделал ей права 755
chmod 755 /system/etc/init.d

4. Далее по пути /system/etc/init.d создал файл, назвав его 01myscript без расширения!
сделал ему права 755
chmod 755 /system/etc/init.d/01myscript

Что делать со скриптом и как перемонтировать на постоянку ума не приложу.

Как проверить, что система вообще пытается грузить скрипт?

Очень требуется Ваша помощь!

ABCh 22.05.2015 12:05

Цитата:

Сообщение от dm66 (Сообщение 328648)

посмотрел командой ls /sys/bus/usb/devices/ какое у меня устройство.

долго не мог понять как вычислить какое мне нужно выудить устройство из списка
1-0:1.0
2-0:1-0
2-1
2-1.1
2-1.1:1.0
2-1.2
2-1.2:1.0
2-1.3
2-1.3:1.0
2-1.3:1.1
2-1:1.0
usb1
usb2
в итоге выдернул USB GPS шнурок из хаба и сделал повтор той же команды, в результате увидел, что пропало из списка, воткнул обратно, увидел что появилось!

Вам нет особой нужды заморачиваться с этими файлами, один из них является ссылкой на устройство. Эти цифры отражают адресацию на шине USB.
Цитата:

Сообщение от dm66 (Сообщение 328648)

Далее.... пошёл по пути создания скрипта 01myscript в папке /system/etc/init.d, оговорюсь, что данная папка у меня уже была, там создал только сам скрипт 01myscript:

#!/system/bin/sh
echo -n "2-1.1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
sleep 30
chmod 644 /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

Далее запустил скрипт 01myscript вручную с помощью терминала командой sh /system/etc/init.d/01myscript
команда прошла и всё заработало!

К содержимому скрипта замечаний нет, тем более, что при ручном запуске все работает.
Цитата:

Сообщение от dm66 (Сообщение 328648)

НО после перезагрузки вижу, что скрипт не запускается вообще! более того обратил внимание, что раздел /system стал опять видимо только R вместо RW, при этом в свойствах папки /system вижу права 755, т.е. что R что RW = 755?! При этом кнопка на панели задач тотала четко отображает R. В итоге опять перемонтировал в RW и запустил скрипт вручную, заработало.

Права доступа можно посмотреть здесь https://ru.wikipedia.org/wiki/Chmod
Цитата:

Сообщение от dm66 (Сообщение 328648)
Так же для меня пока не ясен вопрос с переводом Unix строк - что это значит???? Я сделал все скрипты с помощью блокнота в Windows, затем всё это скопировал в свой свисток MK802IV. При открытии созданных в Windows файлов скриптов обратил внимание на пробелы в конце каждой строки команд, удалил их.

в Windows строка завершается 2-мя служебными символами "возврат каретки" 0x0A и "перевод строки" 0x0D, в Unix - только "перевод строки". Но присутствие символа 0x0A не мешает работе.

Цитата:

Сообщение от dm66 (Сообщение 328648)
Ещё момент, у меня в терминале свистка все команды выполняются только если предварительно ввести команду SU, таким образом всё же непонятно, нужно писать SU вначале команд в скриптах или нет?!

Еще раз повторю, в скрипте не нужно использовать команду su, поскольку скрипт инициализации исполняется под правами пользователя root, а при работе в терминале эти права нужно сначала получить с помощью этой команды.
Цитата:

Сообщение от dm66 (Сообщение 328648)
Как делал скрипт по инструкции с этого сайта:
1. создал preinstall.sh по пути (его там не было) /system/bin/preinstall.sh. А ВОТ КАКИЕ ЗДЕСЬ Д.Б. ПРАВА - 755?

При загрузке исполняется скрипт init.rc, расположенный в корне файловой системы устройства. Уже из него производятся вызовы все прочих скриптов. На моем устройстве у сервиса, которым вызывается /system/bin/preinstall.sh, установлена опция disabled, и он не исполняется автоматически при загрузке. Возможно, у Вас то же самое. У меня все действия производятся в скрипте /system/etc/install-recovery.sh

Farman 31.05.2015 13:12

u-blox 7m-c с либом из шапки нормально не работает. Скорость и направления не передается до андройда. До этого подключал другой гпс модуль (от navibi) - всё было хорошо. У кого есть либ для ю-блокс?

voodik 31.05.2015 13:30

Цитата:

Сообщение от Farman (Сообщение 329463)
u-blox 7m-c с либом из шапки нормально не работает. Скорость и направления не передается до андройда. До этого подключал другой гпс модуль (от navibi) - всё было хорошо. У кого есть либ для ю-блокс?

Можете эту попробовать ? Мне интересно с чем работает с чем нет.
http://pccar.ru/showpost.php?p=328033&postcount=696

Farman 31.05.2015 18:33

Проверил ваш либ, не поднимается. У меня Radxa Rock Pro rk3188. Можно собрать для rockchip?

oledv 31.05.2015 21:40

Цитата:

Сообщение от Farman (Сообщение 329496)
Проверил ваш либ, не поднимается. У меня Radxa Rock Pro rk3188. Можно собрать для rockchip?

Все прекрасно работает http://www.pccar.ru/showpost.php?p=312523&postcount=622

Farman 31.05.2015 23:21

Я по этому инструкции подключил свой старый gps.

С u-blox понял в чем дело. По дефолту u-blox передаёт данные ГПС каждый секунд. Почему то при секундом задержки скорость до андройд не доходят. Если снизить скорость до 500мс, скорость появляется. Я так понимаю - в либе есть максимальный таймаут для переменного скоростя который жизненный цикл меньше чем 1 секунд. Подправите если не прав.

DaveMF 02.06.2015 00:01

Цитата:

Сообщение от oledv (Сообщение 329509)
Все прекрасно работает http://www.pccar.ru/showpost.php?p=312523&postcount=622

Библиотека из шапки не дружит с ублоксами, не показывает в навителе скорость и направление, только точку. Поэтому еще и карта не вращается...

Farman 02.06.2015 00:25

Вот вот. А в чем причина? Скорость показывает если снизить рефреш рейт на ниже 600мс. Но одно большое НО - позиция и скорость сильно отстаёт от реальности, где то на секунд 8-10

licki 02.06.2015 00:34

А ещё либу из шапки не удалось запустить на чипе RK3288 (стик MK903V с ядром 3.10.0). Через костыли с mock location координаты ест, но естественно без спутников.

Rage2 02.06.2015 01:08

Народ, может кто нибудь компильнуть и проверить...
https://github.com/kconger/android-serial-gps-driver

pine 03.06.2015 12:52

Цитата:

Сообщение от licki (Сообщение 329627)
А ещё либу из шапки не удалось запустить на чипе RK3288 (стик MK903V с ядром 3.10.0). Через костыли с mock location координаты ест, но естественно без спутников.

Версия ядра не та. У самого RK3288. Если не возиться с пересборкой, то работает вариант с pl2303drv, который запускается просто как процесс в фоне с перенаправлением всего вывода в /dev/null. Скачать можно здесь в теме.

Andrew@ 04.06.2015 07:09

Цитата:

Сообщение от DaveMF (Сообщение 329624)
Библиотека из шапки не дружит с ублоксами, не показывает в навителе скорость и направление, только точку. Поэтому еще и карта не вращается...

И какие варианты подключения чтобы все показывалось?
Кстати, как под андроидом переключать свисток из GPS в Глонасс? Под виндой в U-center каждый раз галочки менять напряжно, а под андроид эта софтина из маркета не полезла- говорит не поддерживается.
A10 Андроид 4.0.3 ядро 3.0.8+ внутреннего GPS нет.

Mirey 04.06.2015 10:19

Цитата:

Сообщение от Rage2 (Сообщение 329629)
Народ, может кто нибудь компильнуть и проверить...
https://github.com/kconger/android-serial-gps-driver

Напиши, как собрать модуль. Я ни одного внятного мануала не видел. Более-менее есть только информация по сборке самой среды для компиляции системы или ядра, сборка отдельно стоящих модулей из стороннего кода для меня пока что туманна...

Mirey 04.06.2015 10:25

Цитата:

Сообщение от Andrew@ (Сообщение 329879)
И какие варианты подключения чтобы все показывалось?
Кстати, как под андроидом переключать свисток из GPS в Глонасс? Под виндой в U-center каждый раз галочки менять напряжно, а под андроид эта софтина из маркета не полезла- говорит не поддерживается.
A10 Андроид 4.0.3 ядро 3.0.8+ внутреннего GPS нет.

u-blox 7-ой версии что ли?

Andrew@ 04.06.2015 11:51

Цитата:

Сообщение от Mirey (Сообщение 329899)
u-blox 7-ой версии что ли?

Именно.
Тут уже писалось на тему ublox, но под другую платформу.
http://pccar.ru/showthread.php?p=326...ox7#post326204
Судя по всему драйвер для него нужен cdc-acm.ko, но в архиве usb_serial_for_A10_3.0.8+.zip его не оказалось. С имеющимися порт не появляется, хотя в USB есть.
Может где еще есть?

Mirey 04.06.2015 13:32

Цитата:

Сообщение от Andrew@ (Сообщение 329922)
Именно.
Тут уже писалось на тему ublox, но под другую платформу.
http://pccar.ru/showthread.php?p=326...ox7#post326204
Судя по всему драйвер для него нужен cdc-acm.ko, но в архиве usb_serial_for_A10_3.0.8+.zip его не оказалось. С имеющимися порт не появляется, хотя в USB есть.
Может где еще есть?

Дурацкий вариант. Покупал себе такой же модуль и USB-UART переходник под него. Т.к. совместной работы GPS и ГЛОНАСС он не поддерживает, а ГЛОНАСС-спутников на практически всех устройствах (навиаторы, телефоны) цепляется раза в 3-4 меньше, чем GPS, то смысла переключаться на моно режим ГЛОНАСС нет никакого.
Через u-center под виндой проще всего настроить сам модуль, а уже потом подключать его к android.

licki 04.06.2015 19:39

Pine, я ж про либу написал, а не про драйвер !? Драйвер у меня запущен именно как "вариант с pl2303drv" и ничего перенаправлять не понадобилось. Или я что-то не до понял ?

Andrew@ 05.06.2015 06:25

Цитата:

Сообщение от Mirey (Сообщение 329934)
Дурацкий вариант. Покупал себе такой же модуль и USB-UART переходник под него. Т.к. совместной работы GPS и ГЛОНАСС он не поддерживает, а ГЛОНАСС-спутников на практически всех устройствах (навиаторы, телефоны) цепляется раза в 3-4 меньше, чем GPS, то смысла переключаться на моно режим ГЛОНАСС нет никакого.
Через u-center под виндой проще всего настроить сам модуль, а уже потом подключать его к android.

НЕ сильно смущает педальное переключение между системами.
Рабочий свисток есть, а вот нужного драйвера нет :(
Хотя на сайте производителя чипов формально заявлено что есть под Андроид:
Package Version Last modified
Android GNSS driver 3.10 May 31, 2015
типа обращайтесь дадим, но молчат как партизаны.

pine 05.06.2015 11:45

Цитата:

Сообщение от licki (Сообщение 329960)
Pine, я ж про либу написал, а не про драйвер !? Драйвер у меня запущен именно как "вариант с pl2303drv" и ничего перенаправлять не понадобилось. Или я что-то не до понял ?

Тогда странно, потому что либа отлично работает на моем 3288. еще можно попробовать прописать настройки в build.prop, но кажется и без них все работать должно.

licki 05.06.2015 22:55

Может и должно, но не работает. А как можно посмотреть распознал и загрузил ли андроид эту либу, т.е. её текущее состояние в системе?

licki 06.06.2015 01:12

pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)

alex_spb 06.06.2015 17:48

Цитата:

Сообщение от licki (Сообщение 330087)
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)

Поделитесь пожалуйста что и как делать, такой же стик. Умучился уже.

licki 08.06.2015 14:14

Легко. В моём случае приёмник на чипе PL2303 и получен рут. Поэтому первое - это драйвер. Вот отсюда http://pccar.ru/showpost.php?p=321632&postcount=35 качаете архив и из него вытаскиваете файл pl2303drv. Его копируете на стик в папку /data. Затем в файле на стике /system/etc/install-recovery.sh пишем две строчки:/data/pl2303drv /dev/ttyUSB0 4800 и busybox stty -F /dev/ttyUSB0 4800 . Второе - это либа. С первой страницы топика качаете файл new_gps.sun4i.so.zip. Из него вытаскиваете gps.sun4i.so и переименовываете его в gps.default.so . Далее полученный gps.default.so копируете на стик в папку /system/lib/hw. Потом в файле /system/build.prop ищете строчку ro.factory.hasGPS=false и правите на true. И ниже дописываете строчку ro.kernel.android.gps=ttyUSB0 . Перегружаете стик и наслаждаетесь работой GPS. :)
P.S. Не забывать везде про права доступа.

pine 08.06.2015 18:31

Цитата:

Сообщение от licki (Сообщение 330087)
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)

Для init.d на 3288 я использую Universal init.d
https://play.google.com/store/apps/d...iversal.init.d

Хотя это и оффтопик в данной теме)

Andrew@ 09.06.2015 15:05

Цитата:

Сообщение от licki (Сообщение 330233)
Легко. В моём случае приёмник на чипе PL2303 и получен рут. Поэтому первое - это драйвер. Вот отсюда http://pccar.ru/showpost.php?p=321632&postcount=35 качаете архив и из него вытаскиваете файл pl2303drv. Его копируете на стик в папку /data. Затем в файле на стике /system/etc/install-recovery.sh пишем две строчки:/data/pl2303drv /dev/ttyUSB0 4800 и busybox stty -F /dev/ttyUSB0 4800 . Второе - это либа. С первой страницы топика качаете файл new_gps.sun4i.so.zip. Из него вытаскиваете gps.sun4i.so и переименовываете его в gps.default.so . Далее полученный gps.default.so копируете на стик в папку /system/lib/hw. Потом в файле /system/build.prop ищете строчку ro.factory.hasGPS=false и правите на true. И ниже дописываете строчку ro.kernel.android.gps=ttyUSB0 . Перегружаете стик и наслаждаетесь работой GPS. :)
P.S. Не забывать везде про права доступа.

А если вообще нет строки ro.factory.hasGPS= ? Добавить?
На что она влияет?

licki 10.06.2015 13:08

На что влияет точно не знаю - это надо доки андроида изучать. Но по смыслу, должна говорить операционке, что есть в девайсе GPS. У меня такая строчка была.
Прошивка правда модифицированная.

Andrew@ 10.06.2015 14:50

После безуспешных попыток подобрать драйвер удалось поднять консоль с Ublox7 через:
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id
с соответствующими VID/PID.
Сразу появились /dev/ttyUSB0 и /dev/ttyUSB1 правда поток шел на ttyUSB1, что не помешало подключиться к нему через ExtGps.
Вопрос: есть ли принципиальное отличие для библиотеки откуда получать поток данных- через это или через драйвер ?

Andrew@ 15.06.2015 12:33

Ну короче вариант подключения без драйвера и костылей, для добавления в шапку темы.
Имеем Ublox7 + китайский планшет на А10 родная прошивка 4.0.3 ядро 3.0.8+ внутреннего GPS нет зато есть поддержка свистков 3G. Среди архивов темы подходящего для свистка и платформы драйвера типа cdc-acm.ko не нашлось.
Вместо компиляции по опыту прикручивания неподдерживаемых 3G свистков найден альтернативный путь, без специфичного драйвера.
Под рутом идем сюда /sys/bus/usb-serial/drivers/option1/ видим файл new_id
Дальше втыкаем свисток, 1546 - VID свистка, 01А7 - PID
Проверяем в терминале:
su
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id
cat /dev/ttyUSB1 или cat /dev/ttyUSB0
видим поток NMEA.

А дальше все как уже писалось, для автостарта.

Добавляем в /system/build.prop строки
ro.factory.hasGPS=true
ro.kernel.android.gps=ttyUSB1 (или ttyUSB0)

Кладем в \system\etc\permissions android.hardware.location.gps.xml
Заменяем либу gps.XXXX.so (у меня gps.exDroid.so) в /system/lib/hw и выставить права 644

Делаем файл (в конце строк unix-завершения!) /system/etc/install-recovery.sh:
#!/system/bin/sh
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id

Скорость ttyUSB1 и права выставлять не потребовалось.

И все, после рестарта или засыпания/переконнекта свистка gps поднимается автоматом, без танцев в терминале.

Осталось выяснить как под андроидом на ходу переключать GPS/Glonass в свистке Ublox7, нужно видимо сунуть какие-то команды в терминал, по аналогии с U-center под Win, которая кстати есть в маркете и под андроид, но конфигуратора свистка в нем нет.

Shadow007 21.06.2015 15:12

Здравствуйте уважаемые форумчани! Прошу у вас помощи! Уже 5-ую по счету неделю бьюсь с GPS модулем Holux M-215+ и не как не могу подружить свой андроид с ним. Перечитал не однократно всю эту тему, но все ровно не могу понять почему не хотят дружит M-215+ и мой андроид. Покупал тут! (не реклама)
Прошу меня извинить может за полную предоставленную информацию т.к я только начинаю понемногу вникать в эту тему. В общем суть такая:
1) Андроид у меня RK3066 3.0.8+. Рут на борту присутствует #SuperSU
2) Установил соответствующий драйвер или который более менее мне подходит – это pl2303.ko, в /system/lib/modules. Дал права 644 через Root Explorer.
3) Holux M-215+ определился как ttyUSB0
4) Пока работаю без ХАБА.
5) Сделал не однократно все по инструкции как в теме USB GPS for Android пост №1
6) Установил следующий софт для теста Holux M-215+:
-PLUartMultiSimpleTest
-You Are Here GPS
-UsbGPS4Droid_alpha5
-BusyBox+Pro+28_src_zipalign_sign
-Root+Explorer+v3.3.5+Patched+Proper
-Терминал_1.0.70
7) Поместил скрипт install-recovery.sh в /system/etc, дал права 775. В самом скрипте прописано следующее:
#! /system/bin/sh
su
rmmod pl2303
echo -n " 2-1:1.0" > /sys/bus/usb/drivers/option/unbind
rmmod pl2303
insmod /system/lib/modules/pl2303.ko
sleep 2
busybox chmod 666 /dev/ttyUSB0
busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0
sleep 1
setprop "ro.kernel.android.gps" "ttyUSB0"
busybox chmod 666 /dev/ttyUSB0
8) Поместил ЛИБУ в /system/lib/hw, переименовал в gps.default.so т.к у меня ядро RK3066 3.0.8+, дал права 644.
9) Перезагрузился…
10) Далее с помощью команды lsmod проверил загрузку драйвера pl2303.ko, все ОК! Загружен!
11) Проверил через команду busybox stty -F /dev/ttyUSB0 параметры скорости это у нас 4800, все ОК! Скорость 4800!
12) Через терминал проверил командой cat /dev/ttyUSB0 данные NMEA. Бегут, да еще как бегут. Далее проверил через PLUartMultiSimpleTest на 4800 и You Are Here GPS данные NMEA, все также бегут строчки с данными!
13) Захожу в Навител или GPSTest спутников нет, даже не моргают (хотя и этому был бы очень рад)
14) Holux M-215+ лежит на подоконнике. Если подключить через комп, находит сразу 8-10 спутников.
15) Добавил строчки в build.prop:
ro.kernel.android.gps=ttyUSB0
ro.kernel.android.gps.speed=4800
Андройд перестал грузится, то есть постоянная загрузка. Пришлась откачивать.
16) В общем вопросы такого характера…
-Все делал строго по иструкциям и советам этой темы…Подскажи, где я допустил ошибку? Я уже измучился 5 недель заниматься этой затеей.
-Я так понял сам модуль определился в андроиде, но не передает данные с Holux M-215+ на андроид и вот из-за чего не видно спутники в прогах. Как можно вылечить или какой можно вставить костыль?
-Если у кого есть точно такой же модуль Holux M-215+ прошу поделитесь рабочими дровами на него для андроида. Перепробовал все дрова из шапки, пока помог мне как я понял только pl2303.ko
Заранее огромное всем спасибо!

ABCh 21.06.2015 15:33

Shadow007
1. Как называется ваше устройство?
2. В Настройки/Информация о местоположении имеется ли возможность выбрать gps?
3. Пробовали ли Вы запускать Навител вместе с You Are Here GPS или UsbGPS4Droid_alpha5 без установки драйвера pl2303? Отмечалась ли при этом позиция на карте при нулевом количестве спутников?

Shadow007 21.06.2015 17:24

Цитата:

Сообщение от ABCh (Сообщение 331069)
Shadow007
1. Как называется ваше устройство?
2. В Настройки/Информация о местоположении имеется ли возможность выбрать gps?
3. Пробовали ли Вы запускать Навител вместе с You Are Here GPS или UsbGPS4Droid_alpha5 без установки драйвера pl2303? Отмечалась ли при этом позиция на карте при нулевом количестве спутников?

ABCh большое спасибо что откликнулись!
1)Newsmy Android-box:
• Процессор Rockchip RK3066 2x1.6 ГГц
• GPU: Mali-400 (4 ядра)
• ОЗУ: 1024 Мб
• ОС: Android 4.1.1
• Встроенный Wi-Fi стандарта 801.11 b/g/n
• 1 порт USB для подключения накопителей и периферии
• 1 порт mini-USB для подключения к ПК с поддержкой OTG
• Слот для полноразмерных карт SD
• Разъем mini-HDMI для вывода картинки на внешний источник
https://e-a.d-cd.net/b09cce8s-480.jpg
2) В пункте поиск местоположении стоят 3 галочки по WIFI, GPS, GOOGLE
3) Пробовал, но при этом результат абсолютно 0! NMEA данные не бегут, спутников тоже нет! Да и сами проги не дают включить GPS
Заметил такую особенность(как я понял это не сам GPS модуль работает). Если включить WIFI и оставить галочки WIFI, GPS, GOOGLE то данные о местоположении в Навителе появятся и 0 спутников. Но эти данные берутся через домашнюю WIFI сеть, это совсем не то. Так что всю работу произвожу с отключенным WIFI.

ABCh 21.06.2015 17:54

Установите https://play.google.com/store/apps/d...n.logcat&hl=ru
Запустите Навител или GPSTest, запустите CatLog и отфильтруйте в нем сообщения по строке gps.
Для работы с You Are Here GPS или UsbGPS4Droid_alpha5 нужно запретить в Настройки/Информация о местоположении работу с gps, и в Опции разработчика установить галочку в Разрешить фиктивные местоположения
Повторите запуск Навител и CatLog.

Shadow007 22.06.2015 01:48

Вложений: 1
Цитата:

Сообщение от ABCh (Сообщение 331082)
Установите https://play.google.com/store/apps/d...n.logcat&hl=ru
Запустите Навител или GPSTest, запустите CatLog и отфильтруйте в нем сообщения по строке gps.
Для работы с You Are Here GPS или UsbGPS4Droid_alpha5 нужно запретить в Настройки/Информация о местоположении работу с gps, и в Опции разработчика установить галочку в Разрешить фиктивные местоположения
Повторите запуск Навител и CatLog.

Прикладываю лог CatLog. Сделал все так как вы написали! Если что то не так, то готов повторить/переделать. Спасибо вам большое!

ABCh 22.06.2015 08:19

И так, что удалось увидеть в CatLog:
Цитата:

06-21 21:49:09.580 V/UsbGPS (2561): Device is readable: /dev/ttyUSB0
06-21 21:49:09.590 V/UsbGPS (2561): will set devive spped: 4800
06-21 21:49:09.980 V/UsbGPS (2561): connecting to socket
06-21 21:49:09.980 D/UsbGPS (2561): connected to socket
06-21 21:49:09.980 V/UsbGPS (2561): starting socket reading task
06-21 21:49:09.980 V/UsbGPS (2561): socket reading thread started
06-21 21:49:09.980 D/UsbGPS (2561): data: not ready 1434912549989
06-21 21:49:10.480 D/UsbGPS (2561): data: not ready 1434912550490
06-21 21:49:10.980 D/UsbGPS (2561): data: not ready 1434912550990
06-21 21:49:11.480 D/UsbGPS (2561): data: not ready 1434912551491
06-21 21:49:11.980 D/UsbGPS (2561): data: not ready 1434912551991
06-21 21:49:12.480 D/UsbGPS (2561): data: not ready 1434912552492
То есть, UsbGPS обнаружил наличие файла устройства /dev/ttyUSB0, скорость обмена данными 4800, но не получает из него данные. Вероятная причина - устройство уже захвачено какой-то другой программой. Попробуйте отключить загрузку драйвера pl2303 и повторить подключение UsbGPS напрямую к приемнику.

DaveMF 22.06.2015 09:43

Shadow007,
Если в скрипте оставить только:
#! /system/bin/sh
su
rmmod pl2303
echo -n " 2-1:1.0" > /sys/bus/usb/drivers/option/unbind
rmmod pl2303
insmod /system/lib/modules/pl2303.ko
sleep 2
busybox chmod 666 /dev/ttyUSB0

то при каждой загрузке данные в порт идут или нет??? проверяем cat /dev/ttyUSB0

Shadow007 22.06.2015 10:26

Цитата:

Сообщение от ABCh (Сообщение 331107)
И так, что удалось увидеть в CatLog:
То есть, UsbGPS обнаружил наличие файла устройства /dev/ttyUSB0, скорость обмена данными 4800, но не получает из него данные. Вероятная причина - устройство уже захвачено какой-то другой программой. Попробуйте отключить загрузку драйвера pl2303 и повторить подключение UsbGPS напрямую к приемнику.

ABCh, сделал все как вы сказали, отключил загрузку драйвера pl2303 и проверил через терминал, включил программу UsbGPS в ответ на запрос получил …data: not ready… Как только подрубаю на самом андроиде “Настройки/Информация о местоположении/работа только с gps” данные начинают поступать, но в GPSTest и Навителе спутников опять же нет. Прочитал рекомендации в инструкции, и добавил следующую строчку в файл android.hardware.usb.host.xml (располагается он в /system/etc/permission) параметр:
Цитата:




Теперь в момент подключения к андроиду к USB разъемам, выскакивает предложение какую прогу выбрать по умолчанию для работы с тем или иным USB разъемом. Без этого параметра весь софт которые я указал в сообщении #751 не работал.
Вопрос! ABCh может этот параметр как то влияет на захват и вот почему нет спутников? В самом софте не включал работу и работу по умолчанию с usb, включаю только тогда-когда начинаю тестить саму работу GPS модуля…
P/S ABCh спасибо вам большое за помощь!

Shadow007 22.06.2015 10:53

Цитата:

Сообщение от DaveMF (Сообщение 331111)
Shadow007,
Если в скрипте оставить только:
#! /system/bin/sh
su
rmmod pl2303
echo -n " 2-1:1.0" > /sys/bus/usb/drivers/option/unbind
rmmod pl2303
insmod /system/lib/modules/pl2303.ko
sleep 2
busybox chmod 666 /dev/ttyUSB0

то при каждой загрузке данные в порт идут или нет??? проверяем cat /dev/ttyUSB0

Да, идут! Но тут надо дописать busybox stty -F /dev/ttyUSB0 speed 4800

ABCh 22.06.2015 11:25

Shadow007
Давайте по очереди разберемся с 2-мя разными способами передачи данных от gps-приемника к навигационному приложению.
1. использование источника фиктивных местоположений (mock location provider).
Это программы You Are Here GPS или UsbGPS. Они обращаются напрямую к устройству на шине usb, для этого необходимо разрешение, задаваемое через

При этом UsbGPS может также брать данные из файла устройства /dev/ttyUSB0, что может препятствовать нормальной работе, если этот файл монопольно занят какой-либо другой программой. Поэтому надо отключить загрузку драйвера pl2303, чтобы не создавался файл /dev/ttyUSB0 и проверить в самой программе UsbGPS поступление данных. После этого убедиться, что разрешена работа с фиктивными местоположениями, отключить внутренний gps и определение местоположения по сети, и попробовать Навител. Количество спутников при этом будет всегда 0, поскольку механизм mock location provider не предусматривает передачу состояния спутников, через него передаются только координаты и скорость. GPSTest не работает с mock location provider.
2. использование встроенного в систему gps location provider.
Для этого нужны:
- драйвер pl2303 или программа pl2303drv, создающие файл устройства /de/ttyUSB0,
- библиотека ("либа") /system/lib/hw/gps.default.so и ее настройки, задаваемые через команду setprop, причем нужно сначала посмотреть в /system/lib/hw имеющиеся файлы вида gps.*.so и записать новую библиотеку вместо имеющегося файла. Меня смущает ваша фраза:
Цитата:

8) Поместил ЛИБУ в /system/lib/hw, переименовал в gps.default.so т.к у меня ядро RK3066 3.0.8+, дал права 644.
Была ли у вас изначально библиотека с именем gps.default.so?

DaveMF 22.06.2015 11:50

Цитата:

Сообщение от Shadow007 (Сообщение 331118)
Да, идут! Но тут надо дописать busybox stty -F /dev/ttyUSB0 speed 4800

Если все срабатывает каждый раз, то тогда дальше в личку за новой библиотекой!


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

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