Добавлю немного технической информации.
После множества экспериментов и переписки с производителями GPS-модулей на чипе MTK3333 удалось выяснить следующую информацию. Вот что сообщили из Навиа:
Проблема модулей МТ3333 кроется в том, что 18 апреля 2016 года Медиатек тихонько, не оповещая об этом, поменял механизм обновления данных о спутниках. Все программы, выпущенные до этого, имели одну особенность – они не были готовы к новому формату сообщений QZSS.
После того, как 15 сентября вступил в работу новый спутник QZSS #194, обновление информации стало нерегулярным, в ряде случаев вообще не обновлялись эфемериды. Результат – через несколько часов полностью пропадали спутники, терялась навигация.
Наиболее подвержены этому явлению оказались районы, в которых QZSS спутники хоть как-то видны. То есть вся центральная и восточная части России, иногда и западные районы. В Москве то есть проблема, то нету.
Начиная с 18 апреля 2017 все новые версии ПО для МТ3333 применяют обновленный механизм работы со спутниками и не имеют дефектов.
Теперь об экспериментах. Эксперименты проводились с модулем SIM68E и SIM68V.
Первый эксперимент предполагал переключение на группировку ГЛОНАСС. Это помогало. Спутники перестали пропадать, но работа модуля в этом режиме неудовлетворительна.
Второй эксперимент предполагал посылку команды PMTK_CMD_COLD_START или PMTK_CMD_FULL_COLD_START:
Результат - такой же, как и при обычном сбросе питания: резкое восстановление количества спутников с переходом на "пилу" по их количеству.
Третий эксперимент - отключение QZSS. К слову, было замечено, что чем ниже сигнал от единственного спутника QZSS, тем меньше спутников видит модуль. Для отключения приёма QZSS в чипах MTK используется команда PMTK_API_SET_STOP_QZSS. В документации по SIM68 на этот счёт есть противоречие насчёт этой команды, но удалось выяснить, что команда к модулю должна быть такая:
В ответ на команду модуль высылает подтверждение. К сожалению, несмотря на приём подтверждения, команда игнорируется, спутники QZSS продолжают использоваться, что видно по списку используемых спутников(продолжает быть виден спутник 0xC1 = 193, что относится к группировке QZSS), а также продолжают пропадать спутники. Команда посылалась как однократно, так и раз в полчаса, результат одинаковый.
Сделано предположение, что пока GPS + QZSS используется, отключить его нельзя. Перед выключением QZSS было произведено переключение на ГЛОНАСС. Последовательно отправлено три команды:
$PMTK353,0,1 - переключение на ГЛОНАСС,
$PMTK352,1*2A - отключение QZSS
$PMTK353,1,1 - переключение на ГЛОНАСС/GPS
После этой последовательности команд спутники QZSS из списка используемых исчезли. Эксперимент проводится на 10 приборах в разных условиях и в разном месте. Результат пока положительный, спутники QZSS не были замечены в списке используемых
Вероятно, такую последовательность надо отправлять каждый раз после включения питания модуля GPS(скорее всего он не запоминает команды, но информация не точная).
Кроме того, была проанализирована работа новой прошивки прибора ADM. Не удалось найти такой прибор с MTK-модулем, поэтому я заменил модуль ML8088 на SIM68E. Модуль автоматически детектируется прибором, и при включении питания проходит несколько команд, включая команды на выключение QZSS, без перещёлкивания режима ГЛОНАСС - ГЛОНАСС/GPS. Та же команда(выключение QZSS) посылается после команды Cold Start. С моим модулем SIM68E такой алгоритм неработоспособен, работает ли он на MTK модулях ADM - не знаю.
Если на форуме присутствуют производители оборудования, прошу сообщить, как вы исправили данную проблему