![]() |
ABCh-спасибо Вам за помощь! Пока вк-162 нет если все же надумаю купить к Вам придется опять обратиться! дело происходит в Воронежской области, то, возможно, где-то неподалеку глушат сигнал gps.-Я и живу рядом с энтим местом!!!!По этому все может быть!!!
|
Всех приветствую!
Подскажите пожалуйста, хочу запустить GPS модуль на Orange PI5 (rockchip rk3588) в операционной системе Android 12 поставляемой с ней. Нашел похожий мануал, правда на другую плату, но с аналогичным чипом, но выполнив все как там написано потоки данных идут с GPS приемника, но программы его не видят. Согласно мануалу в файле /vendor/build.prop меняем ro.factory.hasGPS=false на ro.factory.hasGPS=true далее как по мануалу написано изменить значение SERIAL_DEVICE и SERIAL_BAUD_RATE в файле /system/etc/u-blox.conf Но этого файла нет в этой директории Выполнив команду ls /dev/tty* видно, что USB GPS приемник подключился к ttyACM0 Отправляю команду cat /dev/ttyACM0 Получаю ответ Код:
~ $ su |
Android-прошивка для вашей платы собрана с подедржкой GPS?
Вот, например, для Odroid я смотрю описание прошивок, там четко написано - есть, а здесь не нахожу. Эта поддержка добавляется только, если на вашей плате есть встроенный модуль GPS, но здесь его нет. Есть какие-нибудь файлы с именем gps в директориях system или vendor? Значит поддержки нет. * Нужно взять исходники Android для вашей платы, взять какой-нибудь GPS Serial драйвер с github и пересобрать прошивку с поддержкой. (В Android 9 можно было докинуть недостающие файлы из других прошивок, но в след. версиях опять все переделали и теперь это не сработает - только пересобирать прошивку). * Использовать программу фиктивных местоположений, но будет ли она работать на Android 12. * Взять другой одноплатник, где поддержка уже заявлена (например, ODROID-N2). |
Цитата:
Выше ABCh писал: Цитата:
|
Цитата:
2. Для того чтобы пользоваться неким мануалом, нужно быть на 100% уверенным, что он имеет отношение к Вашей прошивке, поскольку описанные в нем настройки могут просто быть неактуальными. 3. Для поддержки gps-приемника обязательно должен присутствовать файл с именем gps."что-нибудь".so в /system/lib/hw либо /vendor/lib/hw для 32-битной ОС, или, соответственно, в /system/lib64/hw либо /vendor/lib64/hw - для 64-битной ОС. 4. Начиная с 8-й версии андроида, для работы геопозиционирования необходимо наличие службы fused location provider. Проверить наличие можно консольной командой: Код:
ps -A | grep gnss Код:
gps 1501 1 22916 6160 binder_thread_read 0 S android.hardware.gnss@1.0-service Код:
ro.kernel.android.gps=ttyACM0 |
Вот интересная статья про организацию систему навигации в современных версиях Андроид.
Еще сложность в том, что начиная с Андроид 10 изменили концепцию системы и структуру разделов, была переделана система безопасности. И теперь такие разделы, как system и vendor доступны только для чтения даже при наличии рут. Насколько понимаю, теперь нет возможности непосредственного доступа к файлам, и все идет через какую-то виртуальную прослойку. Невозможно простым способом вносить изменения и правки в системные файлы как раньше. По крайней мере так сообщает Гугл. А как на самом деле обстоит дело, вот автор пишет, что внес изменения в build.prop ... К сожалению, не сталкивался с Андроидом старше 9 версии. DaveMF писал в статье, что пришлось драйвер тоже переписывать (у него плата khadas vim). |
Вложений: 1
Вот инструкция для добавления поддержки GPS и Глонасс в прошивки для медиабоксов на Amlogic-процессоре с Андроид 9. Проверял на x96 stick и Beelink gt mini. Проверял только 32-бит версию.
Используем USB GPS M8N модуль от Ublox со встроенным micro-usb разъемом, разпознается как ttyACM. Если у вас другой модуль и он распознается как ttyUSB, то с приложенным сюда драйвером он работать не будет. Вот почему: gps-драйвер ищет модуль самостоятельно по vendor.id и product.id, сканируя все доступные tty в выбранном диапазоне (ro.kernel.android.gps) в файлах /sys/class/tty/{ro.kernel.android.gps}n/device/uevent cdc-acm заполняет все данные полностью, а драйвера ядра pl2303 и ftdi_sio - нет. Для полной поддержки требуется внести правки в gps-драйвер и его перекомпилировать, но пока нет возможности это сделать. Вот здесь эта проблема описана, там же есть исправленная версия драйвера, но только для 64-битной версии. ------------------------------- Прежде чем мы внесем изменения, чтобы иметь возможность откатиться назад, если не получится, необходимо убедиться, что:
В оригинальный файл изменения не вносить, чтобы можно было откатиться назад. Выставить этому файлу права, такие же как у оригинального файла - 644. Теперь у нас manifest.xml (оригинальный) и manifest_with_gps.xml (измененный) лежат рядом в директории /system/vendor/etc/vintf/. Чтобы запустить поддержку GPS, нужно переименовать manifest.xml в manifest_origin.xml, а manifest_with_gps.xml в manifest.xml и перезагрузить. Если все сделали правильно, то Андроид подгрузит службу GNSS, а она в свою очередь - драйвер. Программы GPS будут показывать вместо No GPS - No Fix, в настройках пункт Местоположение будет нормально работать. Если что-то пойдет не так, система просто не загрузится и повиснет на бутанимации, мы перезагрузимся, удерживая кнопку, зайдем в Recovery, попадем в TWRP, смонтируем раздел Vendor, проводником доберемся до директории /system/vendor/etc/vintf/ и переименуем обратно файл manifest.xml в manifest_with_gps.xml, а manifest_origin.xml в manifest.xml. Все вернется к изначальному варианту. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
adb -s ххх.ххх.хх.ххх:хххх root adb -s ххх.ххх.хх.ххх:хххх remount Цитата:
|
Часовой пояс GMT +4, время: 13:13. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot