![]() |
В итоге за 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 Что делать со скриптом и как перемонтировать на постоянку ума не приложу. Как проверить, что система вообще пытается грузить скрипт? Очень требуется Ваша помощь! |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
u-blox 7m-c с либом из шапки нормально не работает. Скорость и направления не передается до андройда. До этого подключал другой гпс модуль (от navibi) - всё было хорошо. У кого есть либ для ю-блокс?
|
Цитата:
http://pccar.ru/showpost.php?p=328033&postcount=696 |
Проверил ваш либ, не поднимается. У меня Radxa Rock Pro rk3188. Можно собрать для rockchip?
|
Цитата:
|
Я по этому инструкции подключил свой старый gps.
С u-blox понял в чем дело. По дефолту u-blox передаёт данные ГПС каждый секунд. Почему то при секундом задержки скорость до андройд не доходят. Если снизить скорость до 500мс, скорость появляется. Я так понимаю - в либе есть максимальный таймаут для переменного скоростя который жизненный цикл меньше чем 1 секунд. Подправите если не прав. |
Цитата:
|
Вот вот. А в чем причина? Скорость показывает если снизить рефреш рейт на ниже 600мс. Но одно большое НО - позиция и скорость сильно отстаёт от реальности, где то на секунд 8-10
|
А ещё либу из шапки не удалось запустить на чипе RK3288 (стик MK903V с ядром 3.10.0). Через костыли с mock location координаты ест, но естественно без спутников.
|
Народ, может кто нибудь компильнуть и проверить...
https://github.com/kconger/android-serial-gps-driver |
Цитата:
|
Цитата:
Кстати, как под андроидом переключать свисток из GPS в Глонасс? Под виндой в U-center каждый раз галочки менять напряжно, а под андроид эта софтина из маркета не полезла- говорит не поддерживается. A10 Андроид 4.0.3 ядро 3.0.8+ внутреннего GPS нет. |
Цитата:
|
Цитата:
|
Цитата:
Тут уже писалось на тему ublox, но под другую платформу. http://pccar.ru/showthread.php?p=326...ox7#post326204 Судя по всему драйвер для него нужен cdc-acm.ko, но в архиве usb_serial_for_A10_3.0.8+.zip его не оказалось. С имеющимися порт не появляется, хотя в USB есть. Может где еще есть? |
Цитата:
Через u-center под виндой проще всего настроить сам модуль, а уже потом подключать его к android. |
Pine, я ж про либу написал, а не про драйвер !? Драйвер у меня запущен именно как "вариант с pl2303drv" и ничего перенаправлять не понадобилось. Или я что-то не до понял ?
|
Цитата:
Рабочий свисток есть, а вот нужного драйвера нет :( Хотя на сайте производителя чипов формально заявлено что есть под Андроид: Package Version Last modified Android GNSS driver 3.10 May 31, 2015 типа обращайтесь дадим, но молчат как партизаны. |
Цитата:
|
Может и должно, но не работает. А как можно посмотреть распознал и загрузил ли андроид эту либу, т.е. её текущее состояние в системе?
|
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)
|
Цитата:
|
Легко. В моём случае приёмник на чипе 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. Не забывать везде про права доступа. |
Цитата:
https://play.google.com/store/apps/d...iversal.init.d Хотя это и оффтопик в данной теме) |
Цитата:
На что она влияет? |
На что влияет точно не знаю - это надо доки андроида изучать. Но по смыслу, должна говорить операционке, что есть в девайсе GPS. У меня такая строчка была.
Прошивка правда модифицированная. |
После безуспешных попыток подобрать драйвер удалось поднять консоль с Ublox7 через:
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id с соответствующими VID/PID. Сразу появились /dev/ttyUSB0 и /dev/ttyUSB1 правда поток шел на ttyUSB1, что не помешало подключиться к нему через ExtGps. Вопрос: есть ли принципиальное отличие для библиотеки откуда получать поток данных- через это или через драйвер ? |
Ну короче вариант подключения без драйвера и костылей, для добавления в шапку темы.
Имеем 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, которая кстати есть в маркете и под андроид, но конфигуратора свистка в нем нет. |
Здравствуйте уважаемые форумчани! Прошу у вас помощи! Уже 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 Заранее огромное всем спасибо! |
Shadow007
1. Как называется ваше устройство? 2. В Настройки/Информация о местоположении имеется ли возможность выбрать gps? 3. Пробовали ли Вы запускать Навител вместе с You Are Here GPS или UsbGPS4Droid_alpha5 без установки драйвера pl2303? Отмечалась ли при этом позиция на карте при нулевом количестве спутников? |
Цитата:
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. |
Установите https://play.google.com/store/apps/d...n.logcat&hl=ru
Запустите Навител или GPSTest, запустите CatLog и отфильтруйте в нем сообщения по строке gps. Для работы с You Are Here GPS или UsbGPS4Droid_alpha5 нужно запретить в Настройки/Информация о местоположении работу с gps, и в Опции разработчика установить галочку в Разрешить фиктивные местоположения Повторите запуск Навител и CatLog. |
Вложений: 1
Цитата:
|
И так, что удалось увидеть в CatLog:
Цитата:
|
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 |
Цитата:
Цитата:
Вопрос! ABCh может этот параметр как то влияет на захват и вот почему нет спутников? В самом софте не включал работу и работу по умолчанию с usb, включаю только тогда-когда начинаю тестить саму работу GPS модуля… P/S ABCh спасибо вам большое за помощь! |
Цитата:
|
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 и записать новую библиотеку вместо имеющегося файла. Меня смущает ваша фраза: Цитата:
|
Цитата:
|
Часовой пояс GMT +4, время: 16:21. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot