A-GPS, SUPL and microG location service (e.g. BeaconDB)

Hi!
I wonder how the microG location services are linked to the system location settings, especially A-GPS and SUPL.

I don’t fully understand the mechanisms here. Please correct me if I am wrong.

I understand the mechanism the following way:

  1. If I activate Assisted GPS in system location settings the location service selected in microG (e.g. BeaconDB) is used for providing the rough location.
  2. The phone sends the ID of the radio cell that is currently used to a location service (e.g. BeaconDB) and receives back its rough location (which is the cell tower’s location).
  3. The rough location is then sent to an A-GPS server which sends back the GPS almanac and ephemerides that the GPS needs for a quick GPS fix.
  4. The communication with the A-GPS server is done either by the OS via User Plane Protocol (SUPL) or by the baseband chip (within the firmware running on the radio chip) via Control Plane Protocol.
  5. The communication with the A-GPS server (Google) via SUPL can be disabled in iodéOS under location settings.
  6. I may never know whether the baseband chip of my phone communicates (as well) via Control Plane Protocol and which (personal) information it sends to the A-GPS server (Google).

What I don’t understand:

  1. Why is a location service (e.g. BeaconDB) necessary? Can the A-GPS server not handle the cell IDs directly? Or did I misunderstand the mechanisms of location service and A-GPS server?
  2. How are the switches in system location settings “Use assisted GPS” and “Force disable Secure User Plane Location (SUPL)” interrelated?
  3. The SUPL switch states “Always disable SUPL assisted location support regardless of carrier configuration”. What is the “carrier configuration”?

Is it possible to redirect the SUPL requests to the SUPL proxy of GrapheneOS with the iodé app or in any other way?

supl.google.com to supl.grapheneos.org
or
supl.google.com to 146.59.144.170

By the way, does anybody know if the Fairphone 5 uses A-GPS via baseband?

Any help is much appreciated.

1 Like

I am still trying to figure out, how the A-GPS and SUPL switches in system location settings are interrelated.
Can anyone shed some light on this?

I couldn’t observe any difference on my FP5 when having SUPL enabled or disabled, nor does RethinkDNS show any difference in the connections made in that regard.

It seems that Qualcomm’s XTRA (not Google?) is the User Plane A-GPS service (SUPL) used on FP5.
When I use location while having A-GPS enabled (“Use assisted GPS”) an app called “GPS” connects to xtracloud.net, the Qualcomm Location XTRA Service (Qualcomm’s PSDS), from where it downloads the GNSS almanac data.
This happens regardless of whether SUPL is enabled or disabled (“Force disable Secure User Plane Location”).
It makes no difference whether I am on Wi-Fi or mobile network.
In APN settings I have SUPL disabled.

So it does not seem to be possible to deactivate SUPL on FP5 (with iodéOS 6.2) unless you switch off A-GPS.

When I use location while having A-GPS disabled, I don’t observe any connection to XTRA, however microG Services connects to api.beacondb.net (I have BeaconDB set as online location service).
Since this is a part of Assisted GPS in my understanding, this should not happen. Or is this behaviour intended?

I logged the connections with RethinkDNS.

By the way, here you can read which data Qualcomm might collect in connection with the A-GPS request:
https://www.reddit.com/r/privacy/comments/12yii9u/comment/jhpcgg7/