[Hardware] XA2 GPS - Trial to fix it for debuging

EDIT Feb 10 2022:
After having HW fixed my devices, they had a rapid fixes during some 5 -10 day.
Although The SAT reception signal is much better than before the HW repair,
My daily one needed > 20 minutes to get a fix yesterday.
Now that HW cannot be in cause, this shows that there is also a real software issue with GPS in SailfishOS.
Sky was clear, no buildings, last use < 24h, at least 10 green bars, custom settings On On Off.

Hardware only thread (or at least offline GPS things).

Yes, XA2 has a great GPS but it seems not really made to be used.
At least not to long and not too roughly in real life.

This thread is born from this one, about GPS issues on some Xperia models.

This post does NOT stand that there are not other software issues.
It just try to clear the HW questions to provide a solid base to debug.
Also, I felt necessary not to clutter the other thread with HW considerations.

We noticed a great inconsistency in users experience returns.
Same experiments or same conditions would normally have returned similar results.
Results also varied a lot from test to test while they should have been close.
Users reported improvements after accidents/repairs. etc.

Something was ‘not normal’, so I decided to open the devices, to be sure.
After carefully fixing all possible, I made new tests, as scientifically as I could and I noticed:

  • Better reception (not in SAT quantity but in signal quality)
  • much faster fixes
  • more constant and regular results


Today’s test after batt unplug + SF reflash:
Fix in 168 sec. shouldn’t be possible with an empty almanach!


Tests procedure and details:

Offline tests
To see clearly and separate the problem causes as much as possible,
and because all these SUPL/XTRA, things are over my head,
I did all the tests offline (no wifi, no data). Some with SIM cards some without.
I sometimes switched wifi on for 5-10 sec. to set the time before the test.
I used wifi to install the Jolla MLS package and GpsInfo 0.13.5-1, but always switched off wifi before to enable the positioning.
Lately, I tried to never go online with the device, having installed the aboce from a sd card. Same results.

‘Cold’ start
I tried to avoid the existence of remaining GPS data by either removing the battery and/or wait 24 hours between tests.
Rebooting a device between tests did not affect the results.

All the tests have been made on the same window edge: ~170° horizontal view, ~80° vertical view by clear sky.

The steps I followed are:
Fix a device and unplug the battery for 2-3 minutes
Flash a new SFOS
Install the Jolla MLS package and GpsInfo 0.13.5-1
Test 4 device together.

Remaining doubts:
These tests and results are valid only in the assumption that GPS keeps no data when the battery is unplugged.
I also can not yet say what happens after many days/weeks with no GPS use.

The reception quality is improved. The two repaired devices are now always faster than the two ‘in state’ ones.
Technical aspects - my understanding
phklrz said in

that the top cap seemed to prevent a good GPS signal.
Other users in this thread reported a better reception after some mods or accidents/repairs.

Actually, this metal piece is part of the GPS (and other radios?) antenna.
Here we can see the internal part of it, with 4 prominent pads coming up.

The top of the XA2:
In the holes, we see the springy contacts which receive the cap’s pads.
Each contact comes itself from the internal antenna, each one on its separate track.
They don’t meet until they arrive to the cap which is common.

So when we put the cap up side down or in place but unpressed (=bad contacts),
We got a bad reception (4/26):

Top cap removed = better (7/27):

Top cap pressed down (=good contacts) to simulate a correct position,
The best option (9/26):


The signal coming from the top cap we saw above is going to the motherboard.
On it’s way, on each of the 4 tracks, it has to cross 3 contact bridges. No plugs, no screws, just spring type legs pushing on the next board/part of the track. (this is common in nowadays devices thow).
I believe that a part of our problem lays into the fact that these surface contacts are moving, oxidizing*, get dust in between and/or can be bent with to much pressure and do not come back correctly, hence losing contact quality.

*at least the aluminium part (the cap)
After this test, I disassembled the XA2 up to the antenna board removal and battery unplug.

If you want to do the same, you will easily find tutorials.

Some parts are a bit tricky and you risk to ruin your phone. Do it at your own risk.
Anyhow, a small --------------------- WARNING -------------------------------:
I didn’t see this in the tutorialy/videos that I found but this is very important:
When you will pull the antenna board out, be sure to push on the ‘springy contacts’ that we saw in the XA2 top holes.
If they stay stuck while you pull the antenna board, they will break.
If they break, you are dead!
(well… wasn’t there a time where we lived without these devices? I don’t remember :–) )

To sum up, here are the disassembly steps:

  • Removal of the top cap by lifting it a bit at a time, all around, with a cutter
  • Removal of the back cover. Careful: it will release suddenly. The fingerprint reader cable may break.
  • Protect the camera lens without touching the “glass” with paper tape (glue on the side)
  • 3 x Unscrew the antenna board
  • Delicately lift the glued grounding (?) in the round hole.
  • Delicately lift the antenna board in the middle of the lower edge to release the two sides plastic clips while leaving its top in place
  • Dangerous step: Try to free the top of the antenna board while pushing the ‘springy contacts’ through the XA2 top holes.
  • Unplug the battery (if you like) with a wooden/plastic non conductive tool and put a paper/tape to avoid accidental contact.
  • Clean all the contacts motherboard-antenna and de-bend them a little bit if you feel they don’t press enough. Careful, they are fragile.
  • Replug the battery, verify that camera path is clean, re-plug the fingerprint, Reassemble.

When I wish only to unplug the battery, I don’t unplug the fingerprint but flip the back cover, just remove the lower-left antenna screw and unplug.

I noticed for all devices that the signals were better on a concrete surface than when pushed 3 cm. in the empty after the concrete’s edge.


Which version of GPSInfo is this, and where from?

It is GpsInfo 0.13.5-1 by Direct85 in Storeman.
Are there big differences between all the versions?

Some versions don’t have the bar graph, there are also some visual tweaks.

My XA2 has the cap removed (just came off) and with or without the cap, not using Sailfish, but LineageOS, /e/, Iode, getting a fix is no issue.

I don’t know how many times we’ve been through this loop, but I think it is now generally accepted, even by Jolla, that GPS issues on the XA2 are not down to a hardware issue. Common sense says that there are just too many people with Sailfish XA2’s who are suffering from unusable and lengthy fix times for all these phones to be suffering from individual hardware faults.

Since other OS’s on the XA2, including Linux derived ones like Sailfish, also work fine with GPS, that also pretty much rules out a general hardware design failure as well. I suppose there is the very remote possibility that the GPS hardware design of the XA2 is such that whilst it can work with everything else it can’t work with Sailfish, but I doubt it.

A while back I did a bit of testing on my two XA2’s - one SFOS and the other Android. For me, at least, these confirmed it was indeed a Sailfish issue:

1 Like

Totally agree. It is not the hardware.

1 Like

@Steve_Everett Sorry, I won’t agree that HW can be ruled out.

You state that GPS works flawlessly on XA with Android and derivatives, however it also worked well when Mozillas online positioning support was active. The problem came up when online positioning support was deactivated.

If you want to rule out HW issues, please verify proper GPS on Android, et.al. WITHOUT any A-GPS function activated, just plain GPS without prior / external knowledge.


I thought I’d already done this test, and it was you who asked me to do it, here:

unless of course ‘A-GPS’ is different to ‘online position lock’?

XA2 GNSS receiver is dual system recever GPS and GLONASS.
I think that it can also calculate position using single system.
And I think that GLONASS can do initial position fix faster.
And also it seams that XA2 devices that can’t do position fix, can still receive satellite signals and data.
Meaning that some unknown reason it just calculate own position.

1 Like

As I alreadt said, when I move an X and an XA2 step by step with pauses inside my house, the XA2 allways looses signal first, way ahead of the X. So, how to explain that with software other that chip firmware issues? At least poorer S/N on the XA2 ist compatible with that.


You’re right, I forgot about that, however I think there’s a difference between Mozillas online location service and A-GPS. A-GPS deals with XTRA and/or SUPPL data which may be fetched by the SOC directly or fed from application processor.
So there may be a chance that it’s HW, maybe not. I guess we do not yet understand enough of the whole architecture. At least there’s too much confusion and at least Jolla could help us to sort that out.

1 Like

Well if that data is fetched and passed to the GPS system purely in hardware then presumably it makes no difference what OS is used on top of that hardware? Either it should work with all OSs or none if there is a hardware fault.

If somebody can tell me how to disable these data feeds on Android then I will happily retest without them.

At the end of the day what users really need is for Jolla to come clean and tell us (and future prospective users who might be considering buying an XA2 to run SFOS) that (a) this problem is not fixable, or (b) this problem is fixable and the fix will be in release whatever, or (c) this problem is fixable but they have not got the resources to do it on such an old phone (but maybe community effort can fix it given a bit of help) , or (d) whatever. After all, we have had several years of this uncertainty now and still no light or dark at the end of the tunnel.


that’s absolutely right !
if this info would come from Jolla at least it would be clear.
Even if it comes down to switching to another Sony.
But this not knowing here doesn’t make anyone happy.
I also think that the different hardware versions of the XA2 could be a problem.
I also get a GPS fix on satellites with really bad signal.
Right now my XA2 is acting like my Amazfit GTR without A-GPS data. 10 - 15 min to GPS fix.

Even though GPS on the XA2 is quite slow compared to the 10ii it never took that long with MLS properly installed and configured.
I’m using MLS Manager | OpenRepos.net — Community Repository System

Some engineer with GLONASS/GPS HW/SW knowlage should help. True.
I am convinced there is a problem stack sandwich: SW + HW.
Endless looping researches are often sign of multiple issues: one fixes the SW but sees no results because of the HW, and inversely. Or result change in an inconsistent way.

Try it: open, fix, test. In short term (24h+24h…) they definitely fix much better. I am waiting some more days without GPS use, to confirm for medium term.
ATM they fix between 1 and 7 minutes (mostly 3 or 4 min.) with W.Eu pos. pack. Each day.

True: must be compared what is comparable.

This is hard with Android. Could we suppose that Android comes with big and good GPS help data into the rom file?
Several times,I flashed android, unplugged the battery, booted, no connection at all except some seconds to set an exact time.
Then, I tested positioning with Gpscockpit and/or Gpstest. Both have a button to delete assistance data.
Even with all that un-helping actions, fix happens in 3 minutes in Android. I read on the threads that this should not be possible because almanach takes 12min. to download.

As said, average SFos fix on renewed devices is not far, most of the time, 3 or 4 minutes.



Indeed, download of the entire almanach requires 12.5 minutes. But the gps receiver starts computing position before having received the entire almanach. According to the French wikipedia page on gps, typical cold start (no almanach data) time to fix is 2 or 3 minutes.


I don’t know if there is a link with our problem, but even when I have a very good fix (horizontal accuracy ~ 10m, vertical accracy ~ 5m) the altitude given by gps (either cli gpscon, gpsinfo (direct85) or GPSTest (android) is quite wrong:
the altitude of my home is 210m, gps reports 260m. At workplace, real altitude 157m, gps reports 230m.

Oh yes, I didn’t notice.
I sould be at 3M. my XA2 said 46M. (same ~10/5m precision)

GPS altitude value is by the design of the system not very reliable.