Показать сообщение отдельно
Старый 25.11.2023, 16:06   #496
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. В процессе тестирования выяснилось, что прием нарушается, если запустить какую-нибудь программу навигации и погасить экран. Если сразу экран включить, то проблема не наблюдается, а вот если через минуту и больше, прием зависает и помогает только перезагрузка.

Проблема заключается в правах доступа к файлам, которые создает драйвер GPS в процессе работы. Эти файлы создаются с недостаточными правами и система просто не может получить к ним доступ после того как вы выводите планшет из сна. Драйвер должен был после создания файлов изменить права доступа к ним командой chmod, но он этого не делает. Это явная недоработка производителя, а драйвера предоставлены самой NVidia, исходников нет. Я пробовал вручную менять права, но это решало проблему только частично.

Запуск службы GPS происходит в файле init.qc750.rc (строка 427), но отредактировать просто файл мы не можем, изменения не сохранятся, поскольку в этой версии Андроида сам файл физически находится в boot.img и для сохранения изменений нужно разбирать его, вносить правки, собирать заново, прошивать измененный boot.img обратно на планшет.

Можно сделать проще.

Файл /system/bin/navd переименуем во что-нибудь другое, например, navd_server
Теперь здесь же создадим файл с именем navd с таким содержимым:

PHP код:
#!/system/bin/sh
umask 000
/system/bin/navd_server $* 
Нужно выставить права на этот файл (такие же как и у других файлов в этой директории) 755

После этого проблема зависания исчезла.

Но GPS все равно работает как-то тормознуто, поэтому вторая доработка - это изменение режима работы, будем вносить правки в файл /etc/gps/config/GpsConfigFile.txt

gps_mode:autonomous_mode: нужно заменить на gps_mode:msbased_mode: (координаты будут только с GPS) или на gps_mode:autosupl_mode: (если вам нужна поддержка agps, если вы хотите также получать координаты из сети или от модема).
Параметр response_time выставить так response_time:40000:
Теперь прием просто очень быстрый.

Ну и наконец третья доработка, это заменить либу /system/lib/hw/gps.tegra.so на такую же от Archos 9. Наша либа просто забивает лог диагностическими сообщениями, разработчики видимо забыли отключить их. /system/lib/hw/gps.tegra.so переименуйте (чтобы сохранить ее на всякий случай), загрузите на ее место приложенную, выставьте права 644.
Вложения
Тип файла: zip gps.tegra.so.zip (10.9 Кб, 58 просмотров)
softlander вне форума   Ответить с цитированием