Доброго дня!
Как и многие, в ряде районов города с неуверенным приемом GPS столкнулся с тем, что любой навигатор начинает очень жестко тупить, но только когда смартфон подключен к Android Auto.
Если смартфон от автомобиля отключить, практически сразу в том же самом месте навигация начинает работать идеально. С CarPlay ситуация аналогичная на нескольких смартфонах.
Android Auto — беспроводной Galaxy S23 (проводной там не работает сейчас), CarPlay — по проводу и без, айфоны 13/14.
Спойлер, решение: кодировка некоторых параметров 75 блока, а на Андроиде дополнительно отключить доступ к местоположению для АА.
Обновлено: если используете беспроводной АА/Карплей, включайте/включайте с осторожностью, и только Dead_reckoning_position_transmission, другие не трогайте, иначе он начинает вылетать каждый час: www.drive2.ru/l/650836667682276924/
На что еще может повлиять, тоже не понятно, как минимум перестают отображаться на магнитоле координаты при экстр. вызове, поэтому совет один: лучше не трогать что-либо кроме Dead_reckoning_position_transmission
Поиск решений в Интернете результата не дал, встречаются лишь редкие советы отключить AA доступ к местоположению и проверить настройки энергосбережения. Учитывая, что проблема известна как минимум полгода, проявляется одновременно и на CarPlay, и на Android Auto — оперативных фиксов от Apple/Google можно не ждать. Переходим к действиям.
В одну прекрасную ночь, когда делать было нечего, попался на пути район с неустойчивым приемом GPS, где проблема воспроизводилась идеально. Там остановился и провел ряд тестов.
1. Без АА навигатор определяет положение верно
2. После подключения к АА — перекидывает на 300-500м в сторону
3. Установил программу GPS Fix: play.google.com/store/app…?id=com.androidlab.gpsfix
Она позволила понять корень проблемы.
Смартфон Android получает данные о местоположении с различных источников (GPS, сотовая сеть и тд). А Google Play Services обрабатывают, объединяют эту информацию, и предоставляют приложениям уже готовый набор данных. Именно с этим набором все и работают, включая навигаторы. Никто напрямую с данными датчика GPS не работает.
4. Так вот, без подключения к АА картина выглядит так (не подождал для скриншота, пока спутники прогрузятся, не суть — см на позицию по сервисам Google Play)

5. А сразу после подключения к АА — так!

И навигатор перекинул именно туда, куда показывают сервисы Google Play.
Главный вывод: смартфон как видел хорошо свою позицию по GPS, так и видит, как видел себя довольно точно на карте по данным сотового оператора — так и видит. А вот Google Play Services начинают эту информацию обрабатывать неправильно, и итоговая точка отличается от верной. Можно предположить, что после подключения к АА появляется некий дополнительный источник данных от автомобиля, который и путает Google Play Services. Навигаторы и качество приема сигнала самим смартфоном здесь не при чем!
6. Запрет доступа к местоположению для АА не помогает
7. Отключение опции "Более точное определение местоположения" в Google Play Services тоже не помогает
8. Даже в районе с уверенным приемом GPS подключение к АА ухудшает навигацию, в GPS Fix точность с 3м падает до 35м, после отключения от АА сразу возвращается — что удобно для тестов и экспериментов.
Переходим к кодированию! У меня OBDeleven
В блоке 5F (Multimedia) не нашел ничего интересного. Рапид 2g получает данные геопозиции, вероятно, по CAN, а не ethernet4, поэтому в данном блоке ловить особо нечего.
А вот в блоке 75 ждала находка. В разделе 0E38 (Navigation receiver GNSS configuration) есть ряд интересных параметров: GPS=on; Glonass=on, GPS_output_on_CAN=on, Dead_reckoning_position_transmission=on
Важно: после любых кодирований нужно полностью перезагрузить магнитолу, подержав кнопку выключения до исчезновения музыки и появления логотипа. Иначе изменений не увидите.
1. Первым делом, конечно же, отключил GPS_output_on_CAN. Ничего не поменялось, как ни странно. В определенном месте так вообще все было и оставалось плохо.
2. Отключил Dead_reckoning_position_transmission — после этого подключение к АА перестало влиять на позицию в Google Play Services, она всегда оставалась верной в GPS Fix. Прокатился — в том самом месте месте снова навигация сильно лагала.
3. Отключил GPS и Glonass (перевел в Off). Запретил АА доступ к местоположению. Теперь стало идеально. Даже в том самом месте все четко, как будто подключения к АА и нет.
4. Ради интереса около дома вернул АА доступ к местоположению — и вокруг точки в навигаторе появился ореол, говорящий о слабом GPS. Убрал доступ — в навигаторе снова все стало четко.
5. На всякий случай также сделал: Gnss_data_rate=5, источник www.drive2.ru/l/539475381242037012/ (узнал отсюда www.drive2.ru/l/567316664924766682)


Никаких ошибок на автомобиле не появилось.
Пока не тестировал полноценно, как буду в центре — расскажу.
В местах, где ранее ловил проблемы, сейчас все ок.
На мой взгляд, сделан шаг в понимании этой темы.
А, возможно, проблема и решена.
Протестировал и АА, и Карплей — пока все хорошо! Больше не воспроизводится баг "без АА все супер, с АА лагает". Также подтвердилась необходимость запретить доступ к местоположению для АА. В поездке лагало только там, где глючит и без АА: в gps fix это видно как определение местоположения по данным сотового оператора с точностью 600м.

Также заметил интересный факт: если во время навигации начать ползать по меню магнитолы (уйти с экрана АА), то при возврате иногда могут начаться глюки, которые лечатся только реконнектом к АА.
Кроме того, бывают глюки и самого Яндекс Навигатора (хотя права все выданы и оптимизация батареи выкл), тогда в GPS Fix все нормально, и в других приложениях тоже (например, 2гис). Однажды Яндекс Навигатор настолько потерялся, что выдавал сбой за сбоем, и вообще отказался стартовать. Включил 2гис и доехал без отключения от АА — навигация не глючила.


Комментарии 4
Такая же фигня, только нет в авто глонаса, стоит gps антенна, как подключаю телефон так теряет местоположение
Исправили?)
Не помню уже😂
1. Первым делом, конечно же, отключил GPS_output_on_CAN. Ничего не поменялось, как ни странно. В определенном месте так вообще все было и оставалось плохо.
Их там несколько. Думаю в этом и проблема. Но эти данные обновляются после изменений, когда машина минут 10 заглушенная постоит.