GPS stopped working

Hey as I was reading post I found that @nekron had a solution that works for some. Can someone please write manual step by step how to apply that? As I mentioned earlier working GPS was the thing I needed the most. So when it stopped working I haven’t really go deep into sailfish so I’m kinda noob. Please I’m tierd with android and want my SFOS phone working as I pay for it and OS too.
Please help

Did not Jolla came up with something yet?

???
nekron has already written a more than detailed guide and pointed to that: Nekron City / suplpatcher · GitLab

Oooops, sorry, I did not notice that, thanks for reply :slight_smile:

I also ended up using @nekron excellent lifeline.
Although it really hurts depending on Goo/pple.

Correct me if I’m wrong:
Good thing, you (I) don’t need to keep the “high precision” setting nor data connection all the time.
Google supl is (sometimes) needed for the first fix but then, no need any more. :two_hearts:
Thanks @nekron

What did I did wrong?

  1. I copied suplpatch to my XA2
  2. Gave it chmod +x suplpatch
  3. ./suplpatch --disable
  4. Changed /etc/gps.conf with:

FOR SUPL SUPPORT, set the following

SUPL_HOST=supl.google.com
SUPL_PORT=7276
5. Rebooted
6. And added 127.0.0.1 location.services.mozilla.com to /etc/hosts

Nothing has changed :confused:

@flypig can we expect official Jolla Fix anytime soon? My phone and Paid SFOS still collecting dust as gps is essential

1 Like

Seems correct.
Did you change the settings to “High-accuracy positioning”, disable wifi and enable Data connection?

High-accuracy positioning on, wifi disabled, data connection with full tower reception on 4G under clear sky…
Getting like 0/2 satelites

How long did you wait for this result?

Did you reboot after changing the settings?

I rebooted the phone several times. I tried few times to get a fix. If I left the phone long enough it will find like 20-25 satelites but using none of them. Nothing has changed.

Any Ideas? Factory reset and try to apply patch once again?

I even took apart my phone to clean it and check all the conections. Everything seems fine. Right now I’m waiting for glue to hold up. Gonna do some more tests probably today.


Edit 1: Can someone upload /etc/hosts orginal file content? I didn’t make a backup :confused:
Edit 2: Option 2: Upload additional ROOT certificates gave me like 40 satelites instantly but no fix whatsoever

I have no idea why it doesn’t get a fix.

About glue, I’d recommend you not to glue it too strongly.
You might want to re-open the phone to change the battery or fix something else.
For me, the good glue for the cap was polyurethane/“contact glue”, the one you put on both sides and let dry before to assemble. I scratched the plastic side before tu en-glue to bring some attach. This glue also allows you to re-open it later.


:grinning:

Here is the original gps.conf

XTRA_SERVER_QUERY (1=on, 0=off)

If XTRA_SERVER_QUERY is on, the XTRA_SERVERs listed

below will be ignored, and instead the servers will

be queried from the modem.

XTRA_SERVER_QUERY=0

XTRA_SERVERs below are used only if XTRA_SERVER_QUERY

is off.

XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin
XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin
XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin

Error Estimate

_SET = 1

_CLEAR = 0

ERR_ESTIMATE=0

NTP Server

NTP_SERVER=time.gpsonextra.net

Asia

NTP_SERVER=asia.pool.ntp.org

Europe

NTP_SERVER=europe.pool.ntp.org

North America

NTP_SERVER=north-america.pool.ntp.org

NTP_SERVER = time.google.com

If NTP_SERVER is commented NTP_SERVER=time.izatcloud.net is used

DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info

4 - Debug, 5 - Verbose

If DEBUG_LEVEL is commented, Android’s logging levels will be used

DEBUG_LEVEL = 2

Intermediate position report, 1=enable, 0=disable

INTERMEDIATE_POS=0

GPS Capabilities bit mask

SCHEDULING = 0x01

MSB = 0x02

MSA = 0x04

ON_DEMAND_TIME = 0x10

GEOFENCE = 0x20

default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE

CAPABILITIES=0x37

Accuracy threshold for intermediate positions

less accurate positions are ignored, 0 for passing all positions

ACCURACY_THRES=5000

################################

AGPS server settings

################################

Bitmask of slots that are available

for write/install to, where 1s indicate writable,

and the default value is 0 where no slots

are writable. For example, AGPS_CERT_WRITABLE_MASK

of b1000001010 makes 3 slots available

and the remaining 7 slots unwritable.

AGPS_CERT_WRITABLE_MASK=0

FOR SUPL SUPPORT, set the following

SUPL_HOST=supl.sonyericsson.com
SUPL_PORT=7275

################################

EXTRA SETTINGS

################################

NMEA provider (1=Modem Processor, 0=Application Processor)

NMEA_PROVIDER=0

Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)

SGLTE_TARGET=0

##################################################

Select technology for LPPe Control Plane

##################################################

0x1: DBH for LPPe CP

0x2: WLAN AP Measurements for LPPe CP

LPPE_CP_TECHNOLOGY = 0

##################################################

Select technology for LPPe User Plane

##################################################

0x1: DBH for LPPe UP

0x2: WLAN AP Measurements for LPPe UP

LPPE_UP_TECHNOLOGY = 0

##################################################

AGPS_CONFIG_INJECT

##################################################

enable/disable injection of AGPS configurations:

SUPL_VER

SUPL_HOST

SUPL_PORT

SUPL_MODE

SUPL_ES

C2K_HOST

C2K_PORT

LPP_PROFILE

A_GLONASS_POS_PROTOCOL_SELECT

USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL

GPS_LOCK

0: disable

1: enable

AGPS_CONFIG_INJECT = 1

AP Coarse Timestamp Uncertainty

##################################################

default : 10

or as per clock uncertainty of product

AP_TIMESTAMP_UNCERTAINTY = 10

#####################################
#DR_SYNC Pulse Availability
#####################################

0 : DR_SYNC pulse not available (default)

1 : DR_SYNC pulse available

DR_SYNC_ENABLED = 0

#####################################
#PPS Device name
#####################################
PPS_DEVICENAME = /dev/pps0

#####################################
#AP Clock Accuracy
#####################################
AP_CLOCK_PPM = 100

#####################################
#MAX ms difference to detect missing pulse
#####################################
MISSING_PULSE_TIME_DELTA = 900

#####################################
#Propagation time uncertainty
#####################################
PROPAGATION_TIME_UNCERTAINTY = 1

Other ones than the one provided by Suplpatcher?

Ok, so I applied the first method once again and to my amusment got a fix within few seconds. I even took a short car trip with pure maps. Everything is working as it should. Dont know how and why but it works.
About glue. Thanks for the tip but this is not my first phone to glue :wink: I used to do that for living :wink:

Im gonna spend some time in car tomorrow so I will test it thoroughly and report here. For now I can finally have my Jolla as a daily driver :slight_smile:
Thanks everybody for the good work you’re doing here :slight_smile:

1 Like

Ah, ok, sorry.
What are your preferred gluing methods/products for, e.g the rear part and the cap?

This tape you were seeing on my photo is really strong and doesnt leave glue stains after removal. I got it from the old days as we used to use it all the time. For the glue itself for my application I used B-7000. It is dedicated for gluing screens but I find it good for other applications.
I glued my upper cap and back cover with that glue and hold that it place with yellow tape. Now after few hours is not possible to remove it with force. But once sufficiently heated (Heat gun, 100 degrees celcius, 30-40 seconds) you can take it off with your hands

1 Like

This is good to know, thanks,

Good to see SuplPatcher is working for everyone in here :grinning: and yeah, I really like the hardware hacks to improve antenna RX.

PS: For the upcomming Xperia 10 III release SuplPatcher will be updated for the new Android AOSP base as /dev/diag interface changes a bit and needs modified program structures to initialize the diag mode to prevent unexpected results.

PPS: I still hope that Jolla will implement certificate injection into their geoclue/libhybris bindings or maybe an official option to turn of SUPL with TLS transport.

6 Likes

Before that we rely on you @nekron
Thank you for all the good work you’re doing for our community :slight_smile:
Today I had a few car trips, 300km in total.
Everything worked fine, quick fix, good accuracy druing each trip. I even got used to PureMaps lack of purity xD
Thanks again it’s really nice to have you all here.

Yes it is all good. But using google is still itching me.
It would be really great if we could change the supl provider or even use a proxy for it.
I remember talks we has some years ago about that on TMO.

Would changing gps.conf suffice? Or is it more complex?

The supl proxy is interesting to read.
Supl proxy wiki:
https://wiki.maemo.org/N900_GPS_Proxy
Supl & workaround thread:
https://talk.maemo.org/showthread.php?t=90651&highlight=supl&page=30
AGPS SUPL (Secure User Plane) client for N900 (I don’t find the sources but that could still be doable):
http://maemo.org/packages/view/supl/

A SUPL request contains your IMSI as session id, a rough location estimate (i.e. your last position), the cell id of your current cellular connection, and of cause some IP address. The IP is not that interesting since it is most likely shared and temporary as your provider uses NAT at least for IPv4, but the IMSI is unique.

Not really. At the monent I’m using supl-proxy against a chinese SUPL server. This proxy replaces the IMSI in requests before forwarding to the real server and reverts the change on the way back. The SUPL provider only sees the spoofed IMSI (something starting with 26201, i.e. German Telekom).

You only need a host with a reasonably new Python3 that is reachable from the internet and change gps.cont to point to it. You could of cause also use eierkopp.ddnss.org:7275, but that means not the Chinese spying on you but me. :stuck_out_tongue:

1 Like