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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Навигация

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2023, 21:35   #1411
Gennik
Новый Пользователь
 
Регистрация: 12.02.2023
Регион: 36
Сообщений: 12
Gennik is on a distinguished road
По умолчанию

ABCh-спасибо Вам за помощь! Пока вк-162 нет если все же надумаю купить к Вам придется опять обратиться! дело происходит в Воронежской области, то, возможно, где-то неподалеку глушат сигнал gps.-Я и живу рядом с энтим местом!!!!По этому все может быть!!!
Gennik вне форума   Ответить с цитированием
Старый 27.07.2023, 14:05   #1412
denbon
Новый Пользователь
 
Регистрация: 21.02.2021
Регион: 01
Сообщений: 14
denbon is on a distinguished road
По умолчанию

Всех приветствую!
Подскажите пожалуйста, хочу запустить 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
:/data/data/com.termux/files/home # cat /dev/ttyACM0
$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50

$GPTXT,01,01,02,HW  UBX-G70xx   00070000 *77

$GPTXT,01,01,02,ROM CORE 1.00 (59842) Jun 27 2012 17:43:52*59

$GPTXT,01,01,02,PROTVER 14.00*1E

$GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20

$GPTXT,01,01,02,ANTSTATUS=OK*3B

$GPTXT,01,01,02,LLC FFFFFFFF-FFFFFFFD-FFFFFFFF-FFFFFFFF-FFFFFFF9*53

$GPRMC,095037.00,V,,,,,,,270723,,,N*76

$GPVTG,,,,,,,,,N*30

$GPGGA,095037.00,,,,,0,00,99.99,,,,,,*6E

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,01,23,,,28*73

$GPGLL,,,,,095037.00,V,N*42

$GPRMC,095038.00,V,,,,,,,270723,,,N*79

$GPVTG,,,,,,,,,N*30

$GPGGA,095038.00,,,,,0,00,99.99,,,,,,*61

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,01,23,,,28*73

$GPGLL,,,,,095038.00,V,N*4D

$GPRMC,095039.00,V,,,,,,,270723,,,N*78

$GPVTG,,,,,,,,,N*30

$GPGGA,095039.00,,,,,0,00,99.99,,,,,,*60

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,01,23,,,28*73

$GPGLL,,,,,095039.00,V,N*4C

$GPRMC,095040.00,V,,,,,,,270723,,,N*76

$GPVTG,,,,,,,,,N*30

$GPGGA,095040.00,,,,,0,00,99.99,,,,,,*6E

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,01,23,,,28*73

$GPGLL,,,,,095040.00,V,N*42

$GPRMC,095041.00,V,,,,,,,270723,,,N*77

$GPVTG,,,,,,,,,N*30

$GPGGA,095041.00,,,,,0,00,99.99,,,,,,*6F

$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30

$GPGSV,1,1,01,23,,,27*7C

$GPGLL,,,,,095041.00,V,N*43

$GPRMC,095042.00,V,,,,,,,270723,,,N*74
Помогите разобраться?
denbon вне форума   Ответить с цитированием
Старый 28.07.2023, 00:25   #1413
softlander
Новый Пользователь
 
Регистрация: 18.01.2023
Возраст: 40
Город: Брусничный
Регион: 11
Машина: Daewoo Damas
Сообщений: 17
softlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to all
По умолчанию

Android-прошивка для вашей платы собрана с подедржкой GPS?
Вот, например, для Odroid я смотрю описание прошивок, там четко написано - есть, а здесь не нахожу. Эта поддержка добавляется только, если на вашей плате есть встроенный модуль GPS, но здесь его нет.
Есть какие-нибудь файлы с именем gps в директориях system или vendor?
Значит поддержки нет.

* Нужно взять исходники Android для вашей платы, взять какой-нибудь GPS Serial драйвер с github и пересобрать прошивку с поддержкой. (В Android 9 можно было докинуть недостающие файлы из других прошивок, но в след. версиях опять все переделали и теперь это не сработает - только пересобирать прошивку).
* Использовать программу фиктивных местоположений, но будет ли она работать на Android 12.
* Взять другой одноплатник, где поддержка уже заявлена (например, ODROID-N2).
softlander вне форума   Ответить с цитированием
Старый 28.07.2023, 23:50   #1414
denbon
Новый Пользователь
 
Регистрация: 21.02.2021
Регион: 01
Сообщений: 14
denbon is on a distinguished road
По умолчанию

Цитата:
Сообщение от softlander Посмотреть сообщение
Есть какие-нибудь файлы с именем gps в директориях system или vendor?
Есть только файл gps_debug.conf в папке /system/etc

Выше ABCh писал:
Цитата:
Сообщение от ABCh Посмотреть сообщение
VK-162 поддерживается модулем ядра acm. Если ядро содержит файл конфигурации, что можно проверить
Код:
su
ls -l /proc/config.gz
если есть, то смотрим
Код:
zcat /proc/config.gz | grep -i acm
если видим CONFIG_USB_ACM=y, то нужный модуль есть.
Я ввел эти команды и у меня есть этот параметр CONFIG_USB_ACM=y
denbon вне форума   Ответить с цитированием
Старый 30.07.2023, 19:47   #1415
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 64
Город: Челябинск
Регион: 74
Сообщений: 409
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от denbon Посмотреть сообщение
хочу запустить 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 Но этого файла нет в этой директории
1. Из того, что приведено, видно, что gps-приемник поддерживается ядром, что уже хорошо.
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
Если условия 3 и 4 выполнены, остается только подобрать параметр в /vendor/build.prop, указывающий порт gps-приемника, например
Код:
ro.kernel.android.gps=ttyACM0
либо так, как указано в Вашем мануале.
ABCh вне форума   Ответить с цитированием
Старый 07.08.2023, 21:51   #1416
softlander
Новый Пользователь
 
Регистрация: 18.01.2023
Возраст: 40
Город: Брусничный
Регион: 11
Машина: Daewoo Damas
Сообщений: 17
softlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to all
По умолчанию

Вот интересная статья про организацию систему навигации в современных версиях Андроид.

Еще сложность в том, что начиная с Андроид 10 изменили концепцию системы и структуру разделов, была переделана система безопасности. И теперь такие разделы, как system и vendor доступны только для чтения даже при наличии рут. Насколько понимаю, теперь нет возможности непосредственного доступа к файлам, и все идет через какую-то виртуальную прослойку. Невозможно простым способом вносить изменения и правки в системные файлы как раньше. По крайней мере так сообщает Гугл. А как на самом деле обстоит дело, вот автор пишет, что внес изменения в build.prop ... К сожалению, не сталкивался с Андроидом старше 9 версии. DaveMF писал в статье, что пришлось драйвер тоже переписывать (у него плата khadas vim).
softlander вне форума   Ответить с цитированием
Старый 07.08.2023, 23:04   #1417
softlander
Новый Пользователь
 
Регистрация: 18.01.2023
Возраст: 40
Город: Брусничный
Регион: 11
Машина: Daewoo Damas
Сообщений: 17
softlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to allsoftlander is a name known to all
По умолчанию

Вот инструкция для добавления поддержки 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-битной версии.

-------------------------------

Прежде чем мы внесем изменения, чтобы иметь возможность откатиться назад, если не получится, необходимо убедиться, что:
  • у вас есть полноценный работающий Recovery (TWRP), в который вы можете попасть при загрузке, зажав определенную кнопку.
  • вы можете в нем смонтировать раздел Vendor и проводником добраться до файла /system/vendor/etc/vintf/manifest.xml.
  1. файл android.hardware.location.gps.xml
    поместить в /system/vendor/etc/permissions/
    выставить права 644
  2. файлы android.hardware.gnss@1.0-impl.so и gps.amlogic.so
    поместить в /system/vendor/lib/hw/
    выставить права 644
    для 64-битной версии: еще потребуется из папки vendor-lib64-hw файлы поместить в /system/vendor/lib64/hw/
    выставить права 644
  3. файл android.hardware.gnss@1.0-service
    поместить в /system/vendor/bin/hw/
    выставить права 755
  4. файл android.hardware.gnss@1.0-service.rc
    поместить в /system/vendor/etc/init
    выставить права 644
  5. Важно правильно указать productid и vendorid нашего USB GPS, драйвер находит tty именно по ним.
    (ro.kernel.android.gps указываем без цифры, драйвер сам просканирует все указанные нами tty и найдет нужный)
    (опять же в драйвере есть недоработка - не находит устройство, если productid или vendorid начинается на "0" - 01a8, нужно указывать без первого "0" - 1a8)
    добавить в файл /system/vendor/build.prop
    Код:
    # USB GPS Ublox [M6:1546-1a6, M7:1546-1a7, M8:1546-1a8]
    ro.gps.id.vendor=1546
    ro.gps.id.product=1a8
    ro.kernel.android.gps=ttyACM
    ro.kernel.android.gps.speed=9600
    ro.kernel.android.gps.max_rate=1
  6. (чтобы драйвер смог получить доступ к потоку данных, tty нужны правильные права - по умолчанию ставятся 600, которых недостаточно)
    добавить в файл /system/vendor/ueventd.rc
    Код:
    #GNSS USB GPS Ublox
    /dev/ttyACM*       0666 gps gps
  7. (самый важный пункт, чтобы все это подгрузилось системой)
    здесь содержится список компонентов, которые Андроид подгружает в текущей сборке.
    добавить в файл /system/vendor/etc/vintf/manifest.xml
    после любого </hal>
    Код:
        <hal format="hidl">
          <name>android.hardware.gnss</name>
          <transport>hwbinder</transport>
          <version>1.0</version>
          <interface>
            <name>IGnss</name>
            <instance>default</instance>
          </interface>
          <fqname>@1.0::IGnss/default</fqname>
        </hal>
Файл сохранить под именем manifest_with_gps.xml.
В оригинальный файл изменения не вносить, чтобы можно было откатиться назад.
Выставить этому файлу права, такие же как у оригинального файла - 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.
Все вернется к изначальному варианту.
Вложения
Тип файла: zip USBGPSDriversForAmlogicAndroid9.zip (128.5 Кб, 220 просмотров)
softlander вне форума   Ответить с цитированием
Старый 08.08.2023, 08:26   #1418
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 64
Город: Челябинск
Регион: 74
Сообщений: 409
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от softlander Посмотреть сообщение
Еще сложность в том, что начиная с Андроид 10 изменили концепцию системы и структуру разделов, была переделана система безопасности. И теперь такие разделы, как system и vendor доступны только для чтения даже при наличии рут. Насколько понимаю, теперь нет возможности непосредственного доступа к файлам, и все идет через какую-то виртуальную прослойку. Невозможно простым способом вносить изменения и правки в системные файлы как раньше. По крайней мере так сообщает Гугл.
Достаточно всего лишь перемонтировать соответствующий раздел на чтение-запись и обычным образом внести изменения в файлы. Работает на всех версиях Андроида .
Цитата:
Сообщение от softlander Посмотреть сообщение
А как на самом деле обстоит дело, вот автор пишет, что внес изменения в build.prop ... К сожалению, не сталкивался с Андроидом старше 9 версии. DaveMF писал в статье, что пришлось драйвер тоже переписывать (у него плата khadas vim).
Возможно, у него были какие-то иные резоны делать это, о которых он не пишет.
ABCh вне форума   Ответить с цитированием
Старый 08.08.2023, 08:41   #1419
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 64
Город: Челябинск
Регион: 74
Сообщений: 409
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от softlander Посмотреть сообщение
Вот инструкция для добавления поддержки 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-битной версии.
Не рекомендую использовать этот gps hal модуль, который почему-то некорректно называется драйвеорм. Он написан из предположения, что в системе имеется всего одно устройство ttyACM. Если имеется еще одно, например, какое-нибудь Arduino на чипе 32u4, то gps работать не будет. Мне было лень править и отлаживать этот модуль для Khadas VIM3 и я просто заменил его на старый добрый референсный gps hal.
ABCh вне форума   Ответить с цитированием
Старый 20.08.2023, 17:10   #1420
denbon
Новый Пользователь
 
Регистрация: 21.02.2021
Регион: 01
Сообщений: 14
denbon is on a distinguished road
По умолчанию

Цитата:
Сообщение от softlander Посмотреть сообщение
Вот интересная статья про организацию систему навигации в современных версиях Андроид.

Еще сложность в том, что начиная с Андроид 10 изменили концепцию системы и структуру разделов, была переделана система безопасности. И теперь такие разделы, как system и vendor доступны только для чтения даже при наличии рут. Насколько понимаю, теперь нет возможности непосредственного доступа к файлам, и все идет через какую-то виртуальную прослойку. Невозможно простым способом вносить изменения и правки в системные файлы как раньше. По крайней мере так сообщает Гугл. А как на самом деле обстоит дело, вот автор пишет, что внес изменения в build.prop ... К сожалению, не сталкивался с Андроидом старше 9 версии. DaveMF писал в статье, что пришлось драйвер тоже переписывать (у него плата khadas vim).
Все верно, в новых версиях Андроида не получится просто так внести изменения, но в Андроиде 12 для OPI5 можно подключить Android по ADB, и выполнив две команды, можно сделать чтобы корневой раздел Андроида был доступный для записи, до первой перезагрузки

adb -s ххх.ххх.хх.ххх:хххх root
adb -s ххх.ххх.хх.ххх:хххх remount

Цитата:
Сообщение от ABCh Посмотреть сообщение
Достаточно всего лишь перемонтировать соответствующий раздел на чтение-запись и обычным образом внести изменения в файлы. Работает на всех версиях Андроида .

Возможно, у него были какие-то иные резоны делать это, о которых он не пишет.
Хочу интегрировать OPI5 в авто, и без GPS никуда. Но беда в том, что как заставить работать GPS приемник малой кровью. Исходники Андроида есть, но добавить драйвер у меня не хватает знаний. Подскажите, есть ли мануал по этой теме.
denbon вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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