Как ускорить gps на андроиде. Как ускорить подключение GPS и увеличить точность GPS на Андроид

17.03.2019

В данной статье вы узнаете как с помощью не сложных манипуляций в несколько десятков раз ускорить подключение GPS и увеличить и его точность на смартфонах и планшетах на ОС Android!

Теория

3. Компьютер

4. Установить на ПК текстовый редактор NotePad ++ (Windows), для Linux пользователей Gedit

Извлечь файл GPS.CONF

За работу GPS модуля в Android отвечает файл GPS.CONF, который необходимо извлечь из системного раздела. Находиться он по пути /system/etc/gps.conf и переместить во внутреную память или SD карту, чтобы в дальнейшем редактировать его на ПК.

Редактирование GPS.CONF

Чтобы ускорить подключение GPS и увеличить его точность необходимо изменить настройки GPS.CONF. Откройте его с помощью Notepad++. В зависимости от производителя вы можете увидеть различные внесенные настройки.

Настройка NTP сервера

Приступим к модернизации файла GPS.CONF! Первое что необходимо выполнить - это дописать или переписать NTP_SERVER . NTP - это это высокоточный сервер синхронизации времени. В зависимости от вашего место расположения необходимо изменять главный NTP сервер. Как вы можете видеть выше на скрине указан сервер north-america.pool.ntp.org , что явно не ускорит подключение к GPS если вы к примеру находитесь в Белоруссии, Украине, России. Поэтому необходимо прописать «местный» сервер:

Для Белоруссии идеальным NTP является: by.pool.ntp.org Для Украины идеальным NTP является: ua.pool.ntp.org Для России идеальным NTP является: ru.pool.ntp.org

Также можно воспользоватся общим сервером для Европы: europe.pool.ntp.org

Пример как должно быть записано :

NTP_SERVER=by.pool.ntp.org <-- Для Белоруссии NTP_SERVER=ua.pool.ntp.org <-- Для Украины NTP_SERVER=ru.pool.ntp.org <-- Для России

также можно дополнительно внести еще один сервер Европы, в случае не работы из одного из местных серверов

Пример:

NTP_SERVER=europe.pool.ntp.org NTP_SERVER=by.pool.ntp.org

Некоторые ромоделы кастомных прошивок вносят множество других NTP сервером, что не есть верно, так как, при этом подключение наоборот замедляется, из-за того что 5-6 серверов может не работать, а Android все равно будет тратить время на соединение.

Также существует альтернативные сервера XTRA их рекомендуется вписать и не выполнять никаких изменений



XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

Задействовать или не задействовать WI-FI

Для увеличения точности навигации, а также увеличения подключения к спутинкам GPS можно задействовать беспроводной протокол передачи данных WI-FI. Для этого необходимо вписать следущий параметр:

ENABLE_WIPER=

Значение 1 разрешит использовать WI-FI, значение 0 наоборот запретит

Например:

ENABLE_WIPER=1 <-- использовать WI-FI ENABLE_WIPER=0 <-- не использовать WI-FI

Отчет промежуточных позиций (точность GPS или скорость подключения)

Данный параметр отвечает за скорость и точность GPS, если больше скорость (холодный и горячий старт), то меньше точность

INTERMEDIATE_POS=

Значение 0 - точные данные, медленней подключение.

Значение 1 - менее точные данные (чем дольше проработает, тем точней будут в течение одной сессии), но быстрей подключение.

Например:

INTERMEDIATE_POS=0 <-- точно, но медленно INTERMEDIATE_POS=1 <-- не точно, но быстро

Порог точности промежуточных позиций (точность GPS)

Данный параметр, откидывает погрешности

INTERMEDIATE_POS=

Значение 0 - учитывать все данные

Значение 100, 200, 300, 1000, 5000 - удаляет погрешности

Например

INTERMEDIATE_POS=0 <-- все промежуточные позиции INTERMEDIATE_POS=5000 <-- игнорируются менее точные

Задействовать A-GPS (скорость, точность)

Параметр отвечает за то будет включен или отключен A-GPS (при включенном точней)

DEFAULT_AGPS_ENABLE=

Значение TRUE - использовать A-GPS

Значение FALSE - не использовать A-GPS

Например

DEFAULT_AGPS_ENABLE=TRUE <-- использовать DEFAULT_AGPS_ENABLE=FALSE <-- не использовать

Подключение к точки соединения (Supplicant)

Прописать такие значения если не указаны:

SUPL_HOST=supl.google.com
SUPL_PORT=7276

Тип использования передачи данных в A-GPS

Параметр отвечает за количество передаваемой информации, служебная «Control Plane» или широкая передача абонентских данных «User Plane» . Рекомендуется использовать «User Plane».

DEFAULT_USER_PLANE=

Значение TRUE - использовать User Plane

Значение FALSE - использовать Control Plane

Например:

DEFAULT_USER_PLANE=TRUE <-- User Plane DEFAULT_USER_PLANE=FALSE <-- Control Plane

Итоговый вариант файла GPS.CONF

NTP_SERVER=ua.pool.ntp.org
ENABLE_WIPER=1
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=0
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
ACCURACY_THRES=0
SUPL_PORT=7276
SUPL_HOST=supl.google.com

Отредактированный вариант файла GPS.CONF сохранить и забросить обратно в Android и перезагрузить его! Поздравляю вы смогли ускорить подключение GPS и увеличить его точность на вашем Android!

Легкий способ для Ленивых

Для тех кто не хочет экспериментировать и хочет положиться на чужой опыт, можете воспользоваться готовым, модифицированным файлом gps.conf . По заявлению авторов BlackIce Team подключения к GPS спутникам происходит практически мгновенно.

Все что вам нужно - это скачать gps.conf для своей страны и забросить его по пути /system/etc, после чего перезагрузить Android.

Скачать коллекцию оптимизированных GPS.CONF



Оригинал взят у mechanicuss в Ускорение работы GPS на Android - 2

В первой части статьи Ускорение работы GPS на Android я описывал программы и приемы, ускоряющие работу GPS на Android-устройствах. Там же был приведен пример альтернативного файла gps.conf , ускоряющего процесс определения координат.

Файл gps.conf находится в /system/etc/gps.conf , а не на карте памяти, где его обычно ищут начинающие пользователи. Для редактирования нужен root. Редактировать можно с помощью Root Explorer, либо ES Проводник (в меню настроек в разделе "Root-права" включите опцию "Root-эксплорер" и "Подключить системные папки").

Для сравнения - ранее у меня на HTC Inspire 4G спутники ловились единицы минут, после его применения - 30-60 секунд.

С тех пор много воды утекло, но я не прекращал поисков еще более быстрого решения. И вот сегодня могу представить вам синтезированный из нескольких найденных в Сети новый файл gps.conf, c которым процесс определения координат занимает 5-10 секунд . Т.е. к моменту завершения запуска программы навигации координаты уже определены. Файл адаптирован для Украины, но его легко переделать и для других стран Европы - в первых нескольких строках меняем "ua", например на "ru" - получаем файл для России, и т.п.

NTP_SERVER=ua.pool.ntp.org NTP_SERVER=0.ua.pool.ntp.org NTP_SERVER=1.ua.pool.ntp.org NTP_SERVER=2.ua.pool.ntp.org NTP_SERVER=3.ua.pool.ntp.org NTP_SERVER=europe.pool.ntp.org NTP_SERVER=0.europe.pool.ntp.org NTP_SERVER=1.europe.pool.ntp.org NTP_SERVER=2.europe.pool.ntp.org NTP_SERVER=3.europe.pool.ntp.org XTRA_SERVER_1=/data/xtra.bin AGPS=/data/xtra.bin AGPS=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin DEFAULT_AGPS_ENABLE=TRUE DEFAULT_USER_PLANE=TRUE REPORT_POSITION_USE_SUPL_REFLOC=1 QOS_ACCURACY=50 QOS_TIME_OUT_STANDALONE=60 QOS_TIME_OUT_agps=89 QosHorizontalThreshold=1000 QosVerticalThreshold=500 AssistMethodType=1 AgpsUse=1 AgpsMtConf=0 AgpsMtResponseType=1 AgpsServerType=1 AgpsServerIp=3232235555 INTERMEDIATE_POS=1 C2K_HOST=c2k.pde.com C2K_PORT=1234 SUPL_HOST=FQDN SUPL_HOST=lbs.geo.t-mobile.com SUPL_HOST=supl.google.com SUPL_PORT=7276 SUPL_SECURE_PORT=7275 SUPL_NO_SECURE_PORT=3425 SUPL_TLS_HOST=FQDN SUPL_TLS_CERT=/etc/SuplRootCert ACCURACY_THRES=5000 CURRENT_CARRIER=common

UPD - Помним о простых вещах - 2:


  • Перед тем как раскрыть вам очередной секрет, скажу что мой путь к его открытию был долгим. Когда смартфон долго не ловит спутники, а нужно вот прям сейчас, то работа мысли становится более интенсивной. И вот в один из таких моментов, ко мне пришла мысль: а не глушит ли чехол на смартфоне сигнал спутника? И хотя я использую классный чехол Speck , я решил проверить. Как только я снял чехол - спутники начали ловиться один за другим. Отсюда вывод - если нужно как можно быстрее поймать GPS - снимите со смартфона чехол .
  • Этот совет был продиктован теми же соображениями, что и предыдущий - "долго не ловит, а нужно вот прям сейчас". Попробуйте изменить ориентацию смартфона в пространстве . Я неоднократно замечал что если держать аппарат вертикально - спутники ловятся быстрее, чем если горизонтально. Возможно в различных моделях будет по разному, но попробовать стоит.
  • Каждый раз при запуске программы Статус GPS заходим в Меню -> Инструменты -> Данные A-GPS - > Сбросить.
    Выходим.
    Затем снова Меню -> Инструменты -> Данные A-GPS - > Загрузить.
  • Также в программе Статус GPS (это делается обычно один раз) заходим в Меню -> Настройки -> Датчики -> Фильтрация датчиков . И пробуем разные вариантыразных источниках рекомендуют пп.3 и 4, у меня обычно лучше работает с п.2):
    1) Без фильтрации
    2) Слабая
    3) Средняя
    4) Сильная

PS: вопросы вот такого типа я оставляю без ответа - я не конкурент Google:


  • можеш подробно описать как ты ето делал?
  • Где находится файл gps.conf? Чем его открыть? У меня нету /system/etc/ а только DCIM LOST.DIR
  • У меня проблема не могу сохранить изменённый файл gps.conf пробовал 3мя программами и не как в чем проблема подскажите где что настроить
  • В папке etc нет файла gps.conf, что сделать для улучшения?
  • А я не могу исправить сам фаил gps.conf. Выдаёт ошибку и пишет, что сохранение невозможно! Что мне делать? Как изменить фаил?
  • А что означают эти параметры: INTERMEDIATE_POS=0, ACCURACY_THRES=0 ? (и т.д. и т.п.)
  • У меня смартфон Huawei (или Acer Luqiud и т.д. и т.п.) и не ловится GPS - что мне делать?
  • Помогите! Купил тел а GPS не работает.
  • Я поменял аккумулятор на новый. Новый акум без металической плоскости, как старый, может в этом быть причина?
  • Я переформатировал SD и сбосил на заводские настройки. Теперь вообще GPS не видит спутников. Почему?
  • Я октрутил винты, приподнял не полностью заднюю крышку, вынул кнопку пуск, почистил ее.
    Поставил все на место, теперь работает нормально, но GPS сигнала нет - почему?

Сегодня в очередной раз задумался над темой плохого приема GPS сигнала на моем китайском смартфоне Jiayu G2. Но, неожиданно для меня, проблема решилась буквально за пару минут - «китаец» находит спутники в течение 20 секунд. А теперь обо всем по-порядку.

В октябре мне пришел китайский телефон, заказанный на Aliexpress. Телефон за такие деньги отличный, и все было бы идеально, но модуль GPS находил спутники очень-очень долго, примерно за час, не быстрее. И это при включенном Wi-Fi и установленных галочках A-GPS и GPS EPO assistance. Меня это совсем не радовало и пришлось вспоминать , советами из которого я пользовался настраивая еще свой первый смартфон на Android. Суть сводилась к редактированию gps.conf вспомогательными программами. «Китайскому приятелю» это помогло, но после первого (и пока последнего) сброса на заводские настройки GPS стал ловить еще хуже - оставлял на час на открытом воздухе в на поиск спутников и никакого результата. И вот сегодня я начал опять искать тот полезный пост в блоге livejournal и наткнулся на обновление в шапке поста:

«Фантастика!» подумал я и без промедления перешел по . По сравнению с первым постом в этот раз предлагались еще более конкретные действия, а именно заменить содержимое файла gps.conf (его можно найти по пути /etc/gps.conf , должны быть root -права) на следующие настройки:

NTP_SERVER=ua.pool.ntp.org
NTP_SERVER=0.ua.pool.ntp.org
NTP_SERVER=1.ua.pool.ntp.org
NTP_SERVER=2.ua.pool.ntp.org
NTP_SERVER=3.ua.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=2.europe.pool.ntp.org
NTP_SERVER=3.europe.pool.ntp.org
XTRA_SERVER_1=/data/xtra.bin
AGPS=/data/xtra.bin
AGPS=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1
QOS_ACCURACY=50
QOS_TIME_OUT_STANDALONE=60
QOS_TIME_OUT_agps=89
QosHorizontalThreshold=1000
QosVerticalThreshold=500
AssistMethodType=1
AgpsUse=1
AgpsMtConf=0
AgpsMtResponseType=1
AgpsServerType=1
AgpsServerIp=3232235555
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=lbs.geo.t-mobile.com
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common

Эти настройки рассчитаны на жителей Украины, но для жителей России их очень легко адаптировать заменив ua.pool на ru.pool .
Далее нужно перезагрузить Android, а затем запустить программу для работы с GPS и наслаждаться стабильным сигналом.
От себя могу добавить, что я пользуюсь приложением и после перезагрузки при первом запуске приложения я сделал сброс данных кэша: в программе вызываем меню, далее выбираем Tools , там Manage A-GPS state и жмем Reset , а затем Download .
Файл gps.conf находится в /system/etc/gps.conf , а не на карте памяти, где его обычно ищут начинающие пользователи. Для редактирования нужен root. Редактировать можно с помощью Root Explorer, либо ES Проводник (в меню настроек в разделе «Root-права» включите опцию «Root-эксплорер» и «Подключить системные папки»).

Для сравнения — ранее у меня на HTC Inspire 4G спутники ловились единицы минут, после его применения — 30-60 секунд.

С тех пор много воды утекло, но я не прекращал поисков еще более быстрого решения. И вот сегодня могу представить вам синтезированный из нескольких найденных в Сети новый файл gps.conf, c которым процесс определения координат занимает 5-10 секунд . Т.е. к моменту завершения запуска программы навигации координаты уже определены. Файл адаптирован для Украины, но его легко переделать и для других стран Европы — в первых нескольких строках меняем «ua», например на «ru» — получаем файл для России, и т.п.

NTP_SERVER=ua.pool.ntp.org NTP_SERVER=0.ua.pool.ntp.org NTP_SERVER=1.ua.pool.ntp.org NTP_SERVER=2.ua.pool.ntp.org NTP_SERVER=3.ua.pool.ntp.org NTP_SERVER=europe.pool.ntp.org NTP_SERVER=0.europe.pool.ntp.org NTP_SERVER=1.europe.pool.ntp.org NTP_SERVER=2.europe.pool.ntp.org NTP_SERVER=3.europe.pool.ntp.org XTRA_SERVER_1=/data/xtra.bin AGPS=/data/xtra.bin AGPS=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin DEFAULT_AGPS_ENABLE=TRUE DEFAULT_USER_PLANE=TRUE REPORT_POSITION_USE_SUPL_REFLOC=1 QOS_ACCURACY=50 QOS_TIME_OUT_STANDALONE=60 QOS_TIME_OUT_agps=89 QosHorizontalThreshold=1000 QosVerticalThreshold=500 AssistMethodType=1 AgpsUse=1 AgpsMtConf=0 AgpsMtResponseType=1 AgpsServerType=1 AgpsServerIp=3232235555 INTERMEDIATE_POS=1 C2K_HOST=c2k.pde.com C2K_PORT=1234 SUPL_HOST=FQDN SUPL_HOST=lbs.geo.t-mobile.com SUPL_HOST=supl.google.com SUPL_PORT=7276 SUPL_SECURE_PORT=7275 SUPL_NO_SECURE_PORT=3425 SUPL_TLS_HOST=FQDN SUPL_TLS_CERT=/etc/SuplRootCert ACCURACY_THRES=5000 CURRENT_CARRIER=common

UPD — Помним о простых вещах — 2:

  • Перед тем как раскрыть вам очередной секрет, скажу что мой путь к его открытию был долгим. Когда смартфон долго не ловит спутники, а нужно вот прям сейчас, то работа мысли становится более интенсивной. И вот в один из таких моментов, ко мне пришла мысль: а не глушит ли чехол на смартфоне сигнал спутника? И хотя я использую классный чехол Speck, я решил проверить. Как только я снял чехол — спутники начали ловиться один за другим. Отсюда вывод — если нужно как можно быстрее поймать GPS — снимите со смартфона чехол .
  • Этот совет был продиктован теми же соображениями, что и предыдущий — «долго не ловит, а нужно вот прям сейчас». Попробуйте изменить ориентацию смартфона в пространстве . Я неоднократно замечал что если держать аппарат вертикально — спутники ловятся быстрее, чем если горизонтально. Возможно в различных моделях будет по разному, но попробовать стоит.
  • Каждый раз при запуске программы Статус GPS заходим в Меню -> Инструменты -> Данные A-GPS — > Сбросить.
    Выходим.
    Затем снова Меню -> Инструменты -> Данные A-GPS — > Загрузить.
  • Также в программе Статус GPS (это делается обычно один раз) заходим в Меню -> Настройки -> Датчики -> Фильтрация датчиков . И пробуем разные варианты (в разных источниках рекомендуют пп.3 и 4, у меня обычно лучше работает с п.2):
    1) Без фильтрации
    2) Слабая
    3) Средняя
    4) Сильная

Перед процедурой выясните код инженерного меню Вашего аппарата - он Вам понадобится. - Точность работы GPS, и особенно скорость "захвата после холодного старта", сильнейшим образом зависят от точности установки времени на Вашем аппарате. Обычно у всех стоит в настройках "Даты и Времени", "синхронизировать время по сети". У меня тоже стояло. Но как выяснилось, при этом аппарат использует для установки времени сотовый сигнал оператора, который в некоторых случаях может давать точность установки времени хуже +-несколько минут, а в моем случае (Киев, опаратор Life) давал отличие от реального времени целых 3 секунды. В общем кал, а не "сигналы точного времени". Есть еще возможность "определять время по GPS", но если Вы не в деревне живете, то это будет жрать много батареи, а толку будет чуть - ни в квартире ни в метро ни в маршрутке, ни в офисе... Ну Вы поняли. - Поэтому озаботимся сначала утсановкой наиболее точного возможного времени. Для этого я поставил бесплатную программу ClockSync, вот отсюда: https://play.google.com/store/apps/details?id=ru.org.amip.ClockSync&hl=ru, можно еще взять отсюда: http://4pda.ru/forum/index.php?showtopic=171610. Также можете воспользоваться методикой, которую я описал здесь: http://vyacheslav.blogspot.com/2013/07/android-gps_12.html - она не требует установки дополнительных программ, но требует ручного редактирования нескольких системных конфигурационных файлов. - Далее, определяемся с опорным сервером точного времени, который будем использовать. Немаловажно, чтобы он был как можно ближе к Вам, и чтобы время пинга до него было минимальным. Для начала, адреса "пулов" - для Украины это ua.pool.ntp.org, для России ru.pool.ntp.org. Если Вы в другой стране, ищите вот здесь: http://www.pool.ntp.org/ru/. - Теперь запускаем терминал, и в нем комманду "ping ua.pool.ntp.org", и смотрим на время отклика. Делаем это раз 10 - каждый раз она будет обращаться к случайному серверу "пула", и обычно к другому. Даже для Украины время "отклика" для разных серверов колеблется от 5ти до 60мс (по наземке), что уж говорить о России с ее размерами. Соответственно выписываем IP адрес сервера, время отклика от которого минимально. Его и будем использовать. - Запускаем установленную программу ClockSync, Меню > настройки. Первый пункт "NTP сервер". Вписываем туда выбранный IP адрес. Далее, выставляем галочку "автоматическая синхронизация", потом выбираем "Интервал". Чем интервал" меньше - тем чаще будет проходить синхронизация, а это "немножко траффика и множко батареи", с другой стороны, мой аппарат за 3 часа "уходит" аж на 160-180 миллисекунд... Я остановился на 3х часах покачто. Далее галочка "точный интервал" - можете не ставить - чуть сохранит батарею, я лично поставил. "Режим высокой точности" - ставьте, тем более что синхронизация иногда будет идти через сотовую передачу данных с очень нестабильной скоростью (можете не ставить - точность упадет, зато существенно снизится расход батареи при синхронизации). Ставим также "определять часовой пояс",
- Выходим из меню настроек, жмем "меню", и выбираем "синхронизировать" - насколко Ваш аппарат идет "мимо времени" видно на экране. Да, в меню настроек через сутки сможете посмотреть насколько часы Вашего аппарата "спешат/опаздывают" в сутки (мой Fly IQ 450 на 9,21 сек в день). - PS автоматическая синхронизация времени возможна только на "рутованном" аппарате. Если у Вас не рутованный, там есть в программе "ручной режим", но точность уже будет совсем не та. - Примечание - добавлено позже. Также есть второй способ точной синхронизации времени, без установки дополнтилеьной программы, я его описал здесь: http://vyacheslav.blogspot.com/2013/07/android-gps_12.html. После сравнения результатов, я выбрал именно этот способ, но он требует некоторого редактирования конфигурационных файлов. - Также желательно, если у Вас рутованный аппарат, отредактировать файл /system/etc/gps.conf. А именно, в первой строке, после "NTP_SERVER=", заменить указанный там "дефолтовый", на более подходящий для Вашей страны - например для Украины на ua.pool.ntp.org, или даже на ранее определенный IP адрес, но это будет менее универсально и иногда чревато сбоями, если конкретный сервер не будет работать, поэтому ua.pool.ntp.org универсальнее, зато IP адрес в этом поле может еще больше ускорить начальный холодный старт. Редактирование можно делать с помощью "Root Explorer". - Со временем разобрались. Далее. - Идем в настройки телефона. Местоположение. Отмечаем пункты: "По координатам сети", "Спутники GPS", "Вспомогательные данные", "AGPS", остальное "по вкусу". теперь заходим в пункт "Параметры EPO". Выключаем "EPO" на время калибровки. Здесь все. - Запускаем Google Earth, в настройках переключаем его, чтобы показывал координаты в формате градусов и долей. Ищем поблизости место, где будем проводить калибровку. Это должно быть достаточно открытое место, например площадь. Выбираем точку где будем стоять при калибровке (выберите приметы, чтобы стать точно в нее потом), наводим на нее курсор, и записываем показанные координаты до последнего знака. Подготовка окончена - идем "в поле" :) с телефоном. - Если использовали п3 - становимся ТОЧНО в точку, которую ранее выбрали. Запускаем "root explorer", заходим в папку /data/misc, удаляем файл mtkgps.dat. Загружаем самые свежие данные AGPS - например через программу Статус GPS (меню>инструменты>Данные AGPS>Загрузить). Проверяем время, например программой ClockSync (несколько раз проверяем, смотрим типичное отклонение, и потом жмем синхронизировать - как пользоваться программой и где взять - см ранее в статье о калибровке времени). Заходим в инженерное меню, LocationBasedServices, выбираем в меню "GPS", и нажимаем кнопку "GPS" (надпись на ней сменится с OFF на ON). Переходим во "View". Ждем пока появится "фикс" (перестанет мигать индикатор GPS), и потом еще не менее 2х минут. После чего жмем RefPosition, и в появившихся окошках вписываем координаты, ранее выписаные с Google Earth" для точки где Вы проводите калибровку (там будут нули). Жмем "ОК". Снова переходим к экрану View, и ждем после "фикса" не менее 2х минут, лучше минут 5. Выходим назад в инженерное меню. Если п3 не выполняли - просто выбираем любое достаточно открытое место. Вынимание - даже не пытайтесь проделывать калибровку на балконе или "из окна" - сделаете только хуже. - Можете перед калибровкой еще проверить правильность выбора SIM карты для AGPS - если Ваш сотовый оператор "глюкало", а карты две и два оператора, то можно выбрать менее глючного, это в случае если был выбран "глюкавый", может существенно ускорить работу GPS, ато и "оживить" "неработающий напрочь GPS" процедура описана в самом конце заметки. - Заходим в "Инженерное меню" (для моего FLY IQ 450 и многих китайцев-клонов это код # #3646633# # , который набираем там где обычно набираете номер телефона при звонке, у Вас может быть другой). Находим "YGPS location", и запускаем. Телефон держите вертикально. - Переходим на вкладку Information. Жмем кнопку "Full". - Переходим на вкладку "Satellites", ждем когда появится минимум 5 спутников (лучше больше - у меня их было 11 при настройке), и после того как они "появятся и позеленеют", ждем еще минимум 2 минуты, удерживая аппарат неподвижно (можно дольше - хуже не будет - только лучше). Это первичная калибровка. У меня она заняла минуты 3, но у некоторых аппаратов по отзывам может занять и до получаса. - Идем в пункт Information", жмем "Cold". Далее как в п 8. Пункт 9 повторяем 3 раза. Можно больше. - Снова в Information. Жмем "Warm". далее как в п.8. Повторять уже не обязательно. - Снова в Information". Жмем "Hot". Далее как в п 8. - Если Вы выполняли пункт 3, выходите в инженерное меню, выбираете пункт "LocationBasedService", переходим на вкладку "View" (на забудьте активировать GPS как описано в п 4), и ждем пока определится максимум спутников. Минимум 7, лучше больше (чем больше, тем точнее калибровка), и после того как определится максимум, ждем еще 2 минуты. После чего идем во вкладку GPS, и жмем "RefPosition". У Вас появятся две цифры, от той, что Вы ранее записали используя Google Earth, они будут отличаться скорее всего тысячными. Исправляете обе на те, что Вы записали ранее в п3. Жмем "ОК". Теперь переходим во вкладку GPS и ждем минут 5 держа телефон неподвижно. Вот в этом месте - чем дольше - тем лучше. Программа GPS, получив реальные координаты, сравнивает их с теми что "получаются у нее" и вносит коррекции. их уточняя. Ниже в окошке увидите счетчик "процесса" и данные, которые врем от времени меняются. - Выходим из инженерного меню, перезагружаем телефон. - Все. Радуемся шустрому и точному GPS. - После полностью выполненной инструкции, реальная точность определения позиции (вычисленная по google earth а не та, которую показывает сам GPS), составила ~2.3-2.5 метра (GPS показывал точность в 5-6 метров в статусе), при "видимых" 9ти спутниках, и 8 метров (GPS показывал точность 10.5 метров в статусе) при видимых 7ми спутниках -спутники движутся и раз на раз не приходится в смысле день на день. - - PS Если Вы собираетесь использовать также программу, описанную здесь: http://vyacheslav.blogspot.com/2013/07/android-gps-6.html, то учтите что калибровать нужно после ее установки. И в случае ее деинсталяции - калибровать повторно - скидывает при деинсталяции калибровочные данные, и GPS снова начинает "искать спутники по нескольку минут". Загрузка ее данных "ускорения" ВРОДЕ БЫ не влияет на калибровку, но и смысла не имеет - разница по скорости "в пределах статистической погрешности". Но кажется, реальная точность чуть лучше, со свежезагруженными ее данными (процентов на 20, но тоже в пределах статпогрешности по сути). Также имейте в виду, что загруженные данные вышеуказанной программы быстро устаревают, и спустя день-два уже наоборот будут тормозить GPS и снижать точность (по сравнению с просто нормально откалиброванным родным по вышеописанной в этой статье методике). Плюс я ее снес нафик:) Бо во первых не нужна, а во вторых с ней можно получить "GPS который ничего не определяет", если забыли загрузить новые данные. Даже если Вы нажали кнопку "сбросить загруженные данные" и саму программу не запускаете. По кр мере у меня раз так случилось - проверять грабли еще раз не стал. Информация взята от сюда

Я описывал программы и приемы, ускоряющие работу GPS на Android-устройствах. Там же был приведен пример альтернативного файла gps.conf , ускоряющего процесс определения координат.

Файл gps.conf находится в /system/etc/gps.conf , а не на карте памяти, где его обычно ищут начинающие пользователи. Для редактирования нужен root. Редактировать можно с помощью Root Explorer, либо ES Проводник (в меню настроек в разделе "Root-права" включите опцию "Root-эксплорер" и "Подключить системные папки").

Для сравнения - ранее у меня на HTC Inspire 4G спутники ловились единицы минут, после его применения - 30-60 секунд.

С тех пор много воды утекло, но я не прекращал поисков еще более быстрого решения. И вот сегодня могу представить вам синтезированный из нескольких найденных в Сети новый файл gps.conf, c которым процесс определения координат занимает 5-10 секунд . Т.е. к моменту завершения запуска программы навигации координаты уже определены. Файл адаптирован для Украины, но его легко переделать и для других стран Европы - в первых нескольких строках меняем "ua", например на "ru" - получаем файл для России, и т.п.

NTP_SERVER=ua.pool.ntp.org NTP_SERVER=0.ua.pool.ntp.org NTP_SERVER=1.ua.pool.ntp.org NTP_SERVER=2.ua.pool.ntp.org NTP_SERVER=3.ua.pool.ntp.org NTP_SERVER=europe.pool.ntp.org NTP_SERVER=0.europe.pool.ntp.org NTP_SERVER=1.europe.pool.ntp.org NTP_SERVER=2.europe.pool.ntp.org NTP_SERVER=3.europe.pool.ntp.org XTRA_SERVER_1=/data/xtra.bin AGPS=/data/xtra.bin AGPS=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin DEFAULT_AGPS_ENABLE=TRUE DEFAULT_USER_PLANE=TRUE REPORT_POSITION_USE_SUPL_REFLOC=1 QOS_ACCURACY=50 QOS_TIME_OUT_STANDALONE=60 QOS_TIME_OUT_agps=89 QosHorizontalThreshold=1000 QosVerticalThreshold=500 AssistMethodType=1 AgpsUse=1 AgpsMtConf=0 AgpsMtResponseType=1 AgpsServerType=1 AgpsServerIp=3232235555 INTERMEDIATE_POS=1 C2K_HOST=c2k.pde.com C2K_PORT=1234 SUPL_HOST=FQDN SUPL_HOST=lbs.geo.t-mobile.com SUPL_HOST=supl.google.com SUPL_PORT=7276 SUPL_SECURE_PORT=7275 SUPL_NO_SECURE_PORT=3425 SUPL_TLS_HOST=FQDN SUPL_TLS_CERT=/etc/SuplRootCert ACCURACY_THRES=5000 CURRENT_CARRIER=common

UPD - Помним о простых вещах - 2:


  • Перед тем как раскрыть вам очередной секрет, скажу что мой путь к его открытию был долгим. Когда смартфон долго не ловит спутники, а нужно вот прям сейчас, то работа мысли становится более интенсивной. И вот в один из таких моментов, ко мне пришла мысль: а не глушит ли чехол на смартфоне сигнал спутника? И хотя я использую классный чехол Speck , я решил проверить. Как только я снял чехол - спутники начали ловиться один за другим. Отсюда вывод - если нужно как можно быстрее поймать GPS - снимите со смартфона чехол .
  • Этот совет был продиктован теми же соображениями, что и предыдущий - "долго не ловит, а нужно вот прям сейчас". Попробуйте изменить ориентацию смартфона в пространстве . Я неоднократно замечал что если держать аппарат вертикально - спутники ловятся быстрее, чем если горизонтально. Возможно в различных моделях будет по разному, но попробовать стоит.
  • Каждый раз при запуске программы Статус GPS заходим в Меню -> Инструменты -> Данные A-GPS - > Сбросить.
    Выходим.
    Затем снова Меню -> Инструменты -> Данные A-GPS - > Загрузить.
  • Также в программе Статус GPS (это делается обычно один раз) заходим в Меню -> Настройки -> Датчики -> Фильтрация датчиков . И пробуем разные варианты (в разных источниках рекомендуют пп.3 и 4, у меня обычно лучше работает с п.2):
    1) Без фильтрации
    2) Слабая
    3) Средняя
    4) Сильная

PS: вопросы вот такого типа я оставляю без ответа - я не конкурент Google:


  • можеш подробно описать как ты ето делал?
  • Где находится файл gps.conf? Чем его открыть? У меня нету /system/etc/ а только DCIM LOST.DIR
  • У меня проблема не могу сохранить изменённый файл gps.conf пробовал 3мя программами и не как в чем проблема подскажите где что настроить
  • В папке etc нет файла gps.conf, что сделать для улучшения?
  • А я не могу исправить сам фаил gps.conf. Выдаёт ошибку и пишет, что сохранение невозможно! Что мне делать? Как изменить фаил?
  • А что означают эти параметры: INTERMEDIATE_POS=0, ACCURACY_THRES=0 ? (и т.д. и т.п.)
  • У меня смартфон Huawei (или Acer Luqiud и т.д. и т.п.) и не ловится GPS - что мне делать?
  • Помогите! Купил тел а GPS не работает.
  • Я поменял аккумулятор на новый. Новый акум без металической плоскости, как старый, может в этом быть причина?
  • Я переформатировал SD и сбосил на заводские настройки. Теперь вообще GPS не видит спутников. Почему?
  • Я октрутил винты, приподнял не полностью заднюю крышку, вынул кнопку пуск, почистил ее.
    Поставил все на место, теперь работает нормально, но GPS сигнала нет - почему?