Walka z GPS po aktualizacji Swift 2x do 2.3.4 i mały sukces

Jak pisałem poprzednio wczoraj zabrałem się za wykonanie aktualizacji do Gingerbread nieszczęsnego Swift2x od LG, generalnie udało się prawie bez problemów, tylko raz narzędzie do aktualizacji stwierdziło że jest problem z połączeniem z telefonem. Dałem Ponów i poszło dalej gładko. Telefon długo się podnosił do wykonaniu aktualizacji jednak obserwacja $ adb logcat ujawniła że to częściowo z winy sporej ilości nie zawsze używanych a jednak zainstalowanych aplikacji.
Największy problem ujawnił się później, była to fatalna praca GPS który dla mnie to jedna z podstawowych funkcjonalności i działać musi.

Na początek rozpocząłem odyseję po forach dyskusyjnych jednocześnie starając się znaleźć regularność, polskie android.com.pl, popularne XDA i Modaco, wszędzie aż kipi od postów na temat wyczekiwanej przez wszystkich aktualizacji, nie brakuje też narzekań co specjalnie nie zaskakuje!.

A teraz o samym problemie, wyglądało na to że moduł GPS typowo włączany kiedy jest taka potrzeba z jakiegoś powodu nie był utrzymywany przy życiu mimo poprawnego złapania “fix’a”. Działo się tak niezależnie od aplikacji (sprawdzałem na Google Maps, My Tracks i Sport Tracker). Kiedy nie udało mi się uzyskać pomocy na forach (pewne głosy o problemach z GPS się pojawiły) i osiągnąłem stan rezygnacji pomyślałem że po coś producent pozostawił tajemnicze Hidden menu (wywoływane za pomocą dialera 1809#*990#) i jak tam zadziała to musi wszędzie działać.

Po żmudnych próbach i błędach doszedłem do kombinacji ustawień która przywróciła pełną sprawność GPS. Nie gwarantuję że jest to rozwiązane ostateczne i niezawodne, za mało testowałem aby to określić ale to lepsze niż nic!

Oto te ustawienia (działamy w menu: GPS Test)

1. GPS Test –> System Settings
2. SUMP Setting –> SLP Server Setting
Tu dodałem nowy serwer (Nokia) – Menu –> Add
* Name: Nokia
* slp address: supl.nokia.com
* port 7275
* ostatnie pole puste i TLS Setting NIE zaznaczone
Menu –> Save
3. Wracamy o jeden poziom menu, sprawdzamy APN Setting
4. Tam musimy mieć zaznaczony wybrany do połączeń z Internetem APN
5. Zaznaczamy SPL Auto Provision
6. Wracamy do System Setting i wybieramy menu C-Plane Setting
7. Tu zaznaczamy Loc Estimate
8. Na koniec w menu Misc zaznaczyłem:
Log Enable
Auto Cold Start
Notification type

Te ostatnie pewnie nie są potrzebne, pozostawiłem w takiej postaci aby później dopracować ustawienia kiedy upewnię się że rozwiązanie działa.

Na koniec możemy przetestować czy zmiany coś dały:
1. Z poziomu głównego menu: LocMgrPD wybieramy Get Position
2. Do testu z menu --> settings wybrałem:
* Session Type –> Tracking
* oper Mode –> Standalone
* Fix Num –> 5
3. Na koniec nie pozostaje nic innego niż wykonanie testu z poziomu Get Position menu –> Start

Testując w oknie uzyskuję FIX w czasie ok. 6s nie jest to stała wartość, test zwraca listę satelit i komplet innych informacji, między innymi TTFF, domyślam się że oznacza to Time To First Fix.

Zobaczę jeszcze jak rozwiązanie sprawuje się w warunkach rzeczywistych czyli na wolnym powietrzu :-). Jak znajdę dopiszę również gdzie znalazłem info że warto dodać serwer A-GPS Nokii.