|
|||||||
Как исправить настройки GPS чтобы быстро искались спутники на Huawei Honor 6
Время создания: 03.01.2019 16:00
Текстовые метки: android, андроид, huawei, honor, gps, ГЛОНАСС, GLONASS, спутники, поиск, альманах
Раздел: Компьютер - Android
Запись: xintrea/mytetra_syncro/master/base/1546520452yu93ugeho3/text.html на raw.github.com
|
|||||||
|
|||||||
В какой-то момент телефон Huawei Honor 6 начал постоянно терять спутники. В Интернете пишут, что это происходит потому, что в новых прошивках, которые прилетают "по воздуху", сделаны некорректные настройки для работы с GPS-обстановкой, которые справедливы для Китая, и очень плохо работают для других регионов земного шара. Ну то есть, китайцы тупо забывают поставить правильные настройки GPS в новую прошивку, и корпорация Huawei в этом не исключение. Для исправления ситуации потребуются права Root, без этого никуда. В Интернете до недавнего времени не было вменяемой информации о получении Root на телефоне Huawei Honor 6. Поэтому пришлось самому разбираться с рутованием телефона, на что ушло несколько лет, потому что постоянно опускались руки. В результате была написана серия статей:
Имея права Root, можно начинать править настройки GPS. Где хранятся настройки GPS В операционной системе Android есть файл /system/etc/gps.conf. Именно в нем хранятся базовые настройки подсистемы GPS. Ненастроенный файл gps.conf выглядит примерно так: NTP_SERVER=pool.ntp.org XTRA_SERVER_1=http://gllto1.glpals.com/7day/v3/latest/lto2.dat XTRA_SERVER_2=http://gllto2.glpals.com/7day/v3/latest/lto2.dat XTRA_SERVER_3=http://gllto.glpals.com/7day/v4/latest/lto2.dat SUPL_HOST=supl.google.com SUPL_PORT=7275 Его нужно заменить на файл, специально настроенный для региона, где эксплуатируется телефонный аппарат. Получение нового gps.conf Существует онлайн-коллекция файлов gps.conf для разных регионов земного шара: https://app.box.com/s/w57s1v1n3hie7l5lk28i В этой коллекции несколько страниц, и на второй странице можно найти каталог для региона Russia, в котором лежит полный файл gps.conf. На момент написания статьи, его содержимое следующее: NTP_SERVER=ntp2.ntp-servers.net NTP_SERVER=ntp1.vniiftri.ru NTP_SERVER=ntp2.vniiftri.ru NTP_SERVER=ntp3.vniiftri.ru NTP_SERVER=ntp4.vniiftri.ru NTP_SERVER=ntp0.ntp-servers.net NTP_SERVER=ntp1.ntp-servers.net NTP_SERVER=ntp3.ntp-servers.net NTP_SERVER=ntp4.ntp-servers.net NTP_SERVER=ntp5.ntp-servers.net NTP_SERVER=ntp6.ntp-servers.net NTP_SERVER=ntp7.ntp-servers.net NTP_SERVER=ntp.scx.ru NTP_SERVER=ntp1.kangran.su NTP_SERVER=ntp2.kangran.su NTP_SERVER=ntp3.kangran.su NTP_SERVER=ntp4.kangran.su NTP_SERVER=ntp21.vniiftri.ru NTP_SERVER=ntp.psn.ru NTP_SERVER=ntp.vld.ru NTP_SERVER=ntp.sonur.ru NTP_SERVER=ntp.ab2b.ru NTP_SERVER=rtr.firmacem.ru NTP_SERVER=ntp.letinet.ru NTP_SERVER=ru.pool.ntp.org NTP_SERVER=0.ru.pool.ntp.org NTP_SERVER=1.ru.pool.ntp.org NTP_SERVER=2.ru.pool.ntp.org NTP_SERVER=3.ru.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 Именно эти опции и нужно прописать в файл /system/etc/gps.conf. Изменение файла gps.conf Перед изменением данного файла, необходимо сделать его резервную копию. Для работы по копированию и изменению файла проще всего использовать утилиту adb на компьютере. Ведь команды удобнее набирать нормальной клавиатурой на экране компьютера, чем тыкаться по тачскрину с маленькими кнопочками. Вначале надо через adb запустить шелл, который будет выполнять команды прямо на Android системе. Делается это так: > ./adb shell shell@hwH60:/ $ Затем, чтобы иметь возможность изменять системные файлы Android, надо получить права суперпользователя, делается это командой su (уже внутри запущенного шелла, естественно). В результате SuperSu сделает запрос, можно ли шеллу давать права рута. Если нажать "Разрешить", то шелл заработает под рутовыми правами. Теперь можно перейти в каталог с файлом и сделать его копию: # cd /system/etc # ls -la | grep gps -rw-r--r-- root root 253 2016-04-05 16:15 gps.conf -rw-r--r-- root root 3592 2016-04-05 16:15 gps4752config.xml -rw-r--r-- root root 9306 2016-04-05 16:15 gps4752config_cl.xml -rw-r--r-- root root 3660 2016-04-05 16:15 gps47531config.xml -rw-r--r-- root root 9428 2016-04-05 16:15 gps47531config_cl.xml # cp gps.conf gps.conf.01 cp: gps.conf.01: Read-only file system Вот так сюрприз! Даже под рутом невозможно сделать копию файла в каталоге /system/etc. Почему? Потому что в Android всё что можно монтируется в Read Only, а остальное огораживается через SELinux. Поэтому без соответствующих разрешений в манифесте приложения, программы не могут нормально работать даже со сторонними флешками, не говоря уже о системных разделах. Чтобы обойти эту проблему, нужно временно перемонрировать файловую систему, в которой находится каталог/system/etc в режим чтения-записи (rw). Вначале следует определить точку монтирования: # mount | grep system /dev/block/platform/hi_mci.0/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0 Для перемонтирования используется такая команда: # mount -o rw,remount /system Если перемонтировалось правильно, то новый режим будет rw: # mount | grep system /dev/block/platform/hi_mci.0/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0 После этого команда cp для создания резервного файла сработает без ошибок. Далее можно просто скопировать новое содержимое в буфер обмена компьютера, и дать команду: # cat > gps.conf после чего вставить текст из буфера обмена и нажать Ctrl+C для выхода из cat-программы. Следует следить, чтобы в файл прописалась и самая последняя строчка. Проверить содержимое файла можно командой: # cat gps.conf После этих действий надо дать два раза команду exit. Первая команда сделает выход из su, вторая команда - из шелла adb. Все! После этого необходимо выйти на улицу, и запустить программу GPS Test. В настройках надо нажать «Clear AGPS», это очистит кэш от старых данных, после чего надо перезагрузить устройство. После чего снова надо запустить GPS Test и проверить работу GPS. Желательно проверять скорость поиска спутников на открытой местности. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|