Location tracking for individuals is a child’s play nowadays. Modern smartphones are now equipped with a tiny little chip that can talk with a group of satellites and help users to navigate without any hiccup.

Although people often call it GPS (Global Positioning System), newer location hardware can connect with multiple constellations besides GPS. For example, Russia (formerly Soviet Union) developed GLONASS (Global’naya Navigatsionnaya Sputnikovaya Sistema) as an alternative to US made GPS.

history_glonass
Timeline of GLONASS

With the release of Android 7.0 Nougat, Google added official support for multiple constellations support alongside GPS. Android can now recognize GPS, GLONASS, BEIDOU (China), GALILEO (European Union), QZSS (Japan) and generic SBAS signals.

Collectively, these are called Global Navigation Satellite Systems (GNSS).

Smartphone makers started to incorporate dual-frequency GNSS chips in order to improve location accuracy. By dual-frequency, the receiver can listen more than one radio signal from each satellites on different frequencies.

qualcomm_snapdragon_855_dual_frequency_gnss
Qualcomm Snapdragon 855 supports Dual frequency GNSS

Xiaomi’s Mi 8 was one of the first major Android smartphones launched with out of the box support for dual frequency GPS. Besides L1 and L5 for GPS, it also supports Galileo’s E1 and E5a.

Mainstream flagships are also adopting the design, as some variants of the Samsung Galaxy S10 do support dual-frequency location tracking signals. Honor View 20 is another popular smartphone having this feature.

However, there are several other techniques to achieve improved location data. There is a widely used technology called assisted GPS (A-GPS) which is used by devices to get a faster time to first fix (TTFF) with the help of nearby cellular towers.

aGPS is particularly useful in indoor locations, where satellite signal reception is often behaving poorly. The architecture for smartphones communicating with A-GPS providers is called Secure User-Plane Location (SUPL).

xiaomi.eu_agps
AGPS settings in Xiaomi phones

Reader may remember that Team PiunikaWeb investigated the AGPS implementations of popular smartphone vendors and uncovered a number of discrepancies.

For example, Xiaomi (Pocophone as well) is using state owned China Telecom servers as SUPL provider in MIUI. The practice is not limited to Chinese Xiaomi phones, but global models as well.

On the other hand, OnePlus engineers deliberately overrode standard AOSP policies and shipped debug build of gps.conf in OxygenOS. It can used to download positioning almanac data over the internet from Qualcomm-operated servers insecurely.

oneplus_gps.conf
Click/Tap to zoom

Upon contacting OnePlus, they got back to us (albeit after a long delay) and assured that the issue will fixed in subsequent updates.

oneplus_gps_bug_jeff

For the downloading under XTRA, the device is reading the address in Modem NV config, which is going through HTTPS instead of HTTP, and GPS.conf has been already ignored, so the XTRA config won’t be working. Thanks for the feedback anyways, and we will Synchronize the GPS.conf to HTTPS in the upcoming updates to fix the issue.

The Shenzhen based OEM rolled out a new set of Open Beta builds for OnePlus 5/5T and 6/6T yesterday. For detailed description as well as download links of the OTA updates, you can take a look at this article.

oneplus_6_open_beta_16_ota

Although the changelog did not mention it, we found that OnePlus silently removed the insecure entries and enabled XTRA data verification support. Now that’s a surprising move.

oneplus_gps.conf_april_2019
Click/Tap to zoom

Wait, there’s more!

When we reported our findings to OnePlus, Oxygen Updater contributor Some_Random_Username also noticed that some of the Global Terrestrial Positioning (GTP) server addresses hardcoded in the OxygenOS firmware had faulty HTTPS certificates.

oneplus_xtwifi.conf
Click/Tap to zoom

Qualcomm uses the GTP servers for enumerating Wi-Fi positioning system (WPS) data. The IZat Cloud servers are directly operated by Qualcomm, but the TLS certificates they use are untrusted.

oneplus_qualcomm_izat_untrusted_cert

The bug hunter representative quickly replied back and suggested that the GTP AP functionality was disabled on OnePlus phones.

oneplus_xtwifi.conf_bobby_1

Some_Random_Username suggested that those configs should be edited (at least commented out) as the featureset was not used by the phones. The OnePlus guy seconded the suggestion.

oneplus_xtwifi.conf_bobby_2

However, the suggestion did not make its way to the current Open Beta release. Although this issue is less significant than the previous one, a quick mitigation is always appreciated.

How often do you use GPS on your phone?

PiunikaWeb is a unique initiative that mainly focuses on investigative journalism. This means we do a lot of hard work to come up with news stories that are either ‘exclusive,’ ‘breaking,’ or ‘curated’ in nature. Perhaps that’s the reason our work has been picked by the likes of Forbes, Foxnews, Gizmodo, TechCrunch, Engadget, The Verge, Macrumors, and more. Do take a tour of our website to get a feel of our work. And if you like what we do, stay connected with us on Twitter (@PiunikaWeb) and other social media channels to receive timely updates on stories we publish.

Kingshuk De
896 Posts

I came from a mixed background of Statistics and Computer Science. My research domains included embedded computer systems, mobile computing and delay tolerant networks in post-disaster scenarios. Apart from tinkering with gadgets or building hackintosh, I like to hop on various subreddits and forums like MyDigitalLife and XDA.

Next article View Article

[Updated] Instagram crashing on all Android phones, but there are workarounds

Here's the crux of the article in video form: New updates are being added at the bottom of this story……. Original story from (June 5, 2018) follows: We're...
Jul 10, 2023 6 Min Read