Galileo EU GNSS System Not Available in the US

930 views
Skip to first unread message

Jeffry Schmitz

unread,
Jun 28, 2018, 1:44:13 PM6/28/18
to GPSTest
Galileo EU GNSS System Not Available in the US

  There have been questions as to why a nominally capable Smartphone will not track, display or use the Galileo GNSS satellites.  Brace yourself, this is going to hurt.  This is particularly odd when the same handset has shown it can and does utilize the EU Galileo system while in Europe and other locations outside the Continental US (CONUS).  The Nokia 6.1 is one such handset - the Snapdragon 830 Chipset is capable, the Android OS is capable and a GPS testing app such as GPSTest verifies that not only the Galileo system works in Europe but the Chinese BeiDu system as well.  In the US, neither are even displayed in the testing app although both have robust enough constellations for use.  Of note, the Apple devices are harder to analyze, at least at the consumer level as there is no known app that functions at the system level like many do in the Android world.  The process is so idiotic on so many levels as to be laughable.  By denying license access to the US market accomplishes nothing in the purported realm as it is very unlikely that the EU nor Chinese inhibit their constellations over the US!  Rather, ~ 300 million US citizens, agencies, industries and other users are excluded from half the viable SV's available. 
  Here is the best inf I have been able to find as an "explanation", ludicrous as it is.  The short answer is that the US FCC has regulations in place that requires a space based operator of, in this case, a GNSS system to apply for a "non federal receive only earth station license".  No kidding, it's there.  And they apparently consider handsets, gps units, etc as earth stations.  Go figure.  I don't know where in the process the EU and Chinese systems are excluded, it could be at the Chipset or OS level or both and it must be via market access threat or such.  It's mentioned in the literature that some 25% of the handsets in the US are capable of utilizing the EU Galileo system. ( No mention is made of the dedicated personal GPS devices by Garmin, Magellan, Tom Tom, etc.) The relevant US statute  is found at

https://www.law.cornell.edu/cfr/text/47/25.131(j).  (j) is towards the bottom of the page.

The machinations in this case go back to 2006 when NTIA (National Telecommunications and Information Adminstration) requested the first waiver for the EU system.
http://transition.fcc.gov/Daily_Releases/Daily_Business/2017/db0106/DA-17-18A1.pdf

  The EU (referred to in FCC docs as the EC)  applied for a current waiver to this dysfunctional US regulatory process in about 2013, it is still working it's way through the morass!  Today FCC  International Bureau  Docket IB 17 -16 is the vehicle in play, it can be found at:

https://www.fcc.gov/ecfs/search/filings?proceedings_name=17-16&q=(proceedings.name:((17-16*))%20OR%20proceedings.description:((17-16*)))&sort=date_disseminated,DESC

One of the best summations in support of the waiver is there, it's from T-Mobile and lays out most of the salient arguments in favor of waiver approval.
https://ecfsapi.fcc.gov/file/10323944623076/T-Mobile%20Galileo%20Reply%20Comments.pdf

Jeff Schmitz

Lodro Gyamtso

unread,
Jun 28, 2018, 4:16:46 PM6/28/18
to GPSTest
Nokia 6.1 use snapdragon 630 SoC

Sean Barbeau

unread,
Jun 30, 2018, 1:23:19 AM6/30/18
to Jeffry Schmitz, GPSTest
Nice research! That's really interesting (and unfortunate), I had no idea this existed.

Sean

--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_andro...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sean Barbeau

unread,
Oct 25, 2018, 9:49:41 PM10/25/18
to GPSTest
Jeff,
Just wanted to say thanks again for unearthing these documents.

Some good news - yesterday the FCC finally announced that it will vote on Galileo, presumably on Nov 15 in its next open meeting:

Space Month at the FCC by Ajit Pai https://link.medium.com/mhoXqnHGjR

Coincidently, I just wrote an article on Galileo in the U.S., and was about to publish yesterday when I saw the news. I updated the end of my article to reflect it :). I referenced your work here in the article - thanks again for sharing!

Where is the world is Galileo?
https://link.medium.com/Q3pm22s3iR

Sean

Альберт М

unread,
Dec 10, 2018, 11:50:16 AM12/10/18
to GPSTest
I have two devices: Samsung s9+ g965u1 (USA version) and s9+ g9650 (Hong Kong) with sdm845 inside. A hardware gnss functionality is located in CPU.
However g9650 can see all modern satellite systems, while g965u1 can't see Galileo  and Beidou due to USA limitation (but i test my devices under a Russia sky). It is obvious,  that restrictions live in some software modules from a vendor or from Google.
May be some constants located in these libraries:
libloc_core.so
libloc_api_v02
At least they are different in a binary code and they contain 'Beidou' and 'Galileo' entries in a string list
I can suggest  two archives with a content of /vendor/ and /system/lib directories from both devices for investigation
https://drive.google.com/open?id=1I20pTLedA597w1rcun1SvS6DO47Paky3
https://drive.google.com/open?id=102nL9gE65NNBoOWcPWl17oFVeiauHL4d

As well I think it will be useful to receive results of this command from rooted devices when a application (gpstest) is running:
cat /proc/$(pgrep android.gpstest)/maps
or
adb shell cat /proc/$(pgrep android.gpstest)/maps
And else something interesting:

adb shell ps | find /I "gps"
gps            939     1   13796   1552 0                   0 S loc_launcher
gps           1015   939   19652    356 0                   0 S lowi-server
gps           1016   939   30796   3716 0                   0 S xtra-daemon

Three daemons are running under user "gps".  Only a code of loc_launcher  differs when we compare these binary files on two devices..
Correspondingly will be interesting
cat /proc/$(pgrep loc_launcher)/maps

Thank you

Sean Barbeau

unread,
Dec 11, 2018, 9:15:41 PM12/11/18
to Альберт М, GPSTest
Thanks for sharing! And the /vendor/etc/gps.xml files are the same on both devices, right?

Sean

--

Tom Hardy

unread,
Dec 22, 2018, 11:52:28 AM12/22/18
to GPSTest
This may be of interest:  I contacted the European GNSS Service Centre regarding why-even though the FCC has approved Galileo use in the US-it still doesn't work on most phones.  Their reply:

First of all, thank you very much for your interest in Galileo and we regret the delay in our answer.

 

From our understanding, the logic implemented is that the firmware may disable the reception of Galileo signals once you are in the US territory. Nevertheless, the details depend on each manufacturer implementation. No information about that has been share to European GNSS Service Centre (GSC).

 

According to Waiver of Part 25 Licensing Requirements for Receive-Only Earth Stations Operating with the Galileo Radionavigation-Satellite Service (see attached) of FCC and Released on 16th November 2018:

 

…to permit non-Federal earth stations within the United States to operate with certain signals from the Galileo GNSS without an earth station license or a Galileo GNSS market access grant.

 

That means that earth stations in the US are allowed to operate with Galileo E1 signal (1559-1591 MHz band) and Galileo E5 signal (1164-1219 MHz).

 

The chipset makers are all on board to activate Galileo as soon as the FCC waiver enters into force. Unfortunately, this date is not officially provided in the text of the waiver. It seems that it may be announced in the first months of 2019.

 

We invite you to register on the GSC Website where you could find both key Galileo documentation, such as the Open Service SDD, and Galileo system and services information.


I guess this means that perhaps early next year the FCC may release a formal waiver and vendors firmware. 

Sean Barbeau

unread,
Dec 22, 2018, 9:14:01 PM12/22/18
to GPSTest
Thanks Tom!  This aligns with what I've heard as well.

Sean

Nathan Vary

unread,
Oct 1, 2019, 8:18:36 AM10/1/19
to GPSTest
I'm curious if any new information has arisen regarding this, now that the FCC decided in December 2018 to allow Galileo satellite usage?  I'm also curious where the geo-fence is implemented in the GNSS chain.  The Snapdragon chipset, the radio firmware, or in Android itself?  I'm also using the Snapdragon 630 chipset, but in a Moto X4.  I've tried pinging Motorola on their FB page to allow Galileo use in the USA on their Moto handsets, but no joy so far.

Sean Barbeau

unread,
Oct 1, 2019, 1:56:26 PM10/1/19
to GPSTest
IIRC a few Pixel users have reported seeing Galileo satellites in the US, and some of the U.S. Galaxy S10 family seems to be showing Galileo (scroll down to the bottom of https://medium.com/@sjbarbeau/dual-frequency-gnss-on-android-devices-152b8826e1c), but that's about it. Anyone feel free to chime in if I'm forgetting something.

More recent filtering of Galileo seems to be global and not geofenced. In other words, it's configured by the OEM as part of the device.  For example, I've taken my Samsung Galaxy S8+ to a few countries outside the U.S. and never seen Galileo.

My guess is that this "GnssSatelliteBlackListHelper" in the Android framework is the actual filtering mechanism:

This and related classes reads a blacklist of constellations and specific satellites from the OEM configuration file and then discards any information from these satellites when computing a fix. I'm guessing this is the "standardized" Android solution for preventing use of Galileo.

I haven't been able to figure out where exactly this configuration information is read from, though.  I've poked around on my Samsung Galaxy S8+ and haven't seen anything obvious in the gps.conf or other files, but I also haven't had a lot of time to investigate.

Bottom line - the device OEM sets this configuration, which is then read by Android and sent to the chipset via native interface.  If this is correct, then changing this configuration file should allow you to enable Galileo on an existing Android device.

Sean

Tom Hardy

unread,
Oct 1, 2019, 3:32:31 PM10/1/19
to Sean Barbeau, GPSTest
See Galileo on a OnePlus 7 Pro-both frequencies in the US (screen shot below).  On the Galaxy S10e see Galileo, but only on E1.  I believe the Galileo geofencing happens in the SnapDragon "Trusted Execution Environment" code being stored in NVRAM (firmware). Qualcomm locks down their firmware distribution pretty tightly-although their code seems pretty sloppy reading the number of CVEs ( https://www.cvedetails.com/vulnerability-list/vendor_id-153/Qualcomm.html  ).




--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_andro...@googlegroups.com.
Screenshot_20191001-142338.jpg

Sean Barbeau

unread,
Oct 2, 2019, 1:01:29 PM10/2/19
to GPSTest
Yes, sorry, I should have been clearer in my post.  I believe the configuration for which constellations/satellites are filtered is managed via GnssSatelliteBlackListHelper, and then is passed via JNI to the native layer for the actual implementation of filtering.

What's not clear to me is actually where this is initially set by the OEM, though.

Here's the full commit that added satellite blacklist support to AOSP:

The Android provider Settings had this added, which explains how the filter is encoded:

/**
* Blacklist of GNSS satellites.
*
* This is a list of integers separated by commas to represent pairs of (constellation,
* svid). Thus, the number of integers should be even.
*
* E.g.: "3,0,5,24" denotes (constellation=3, svid=0) and (constellation=5, svid=24) are
* blacklisted. Note that svid=0 denotes all svids in the
* constellation are blacklisted.
*
* @hide
*/
public static final String GNSS_SATELLITE_BLACKLIST = "gnss_satellite_blacklist";

It may be set via the standard OEM configuration for everything else stored in the Android Setting provider, I just don't know what that is.

There is also a .proto defined, so it appears the data is encoded as a protocol buffer somewhere in the chain.

Sean
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_android+unsubscribe@googlegroups.com.

David Wilson

unread,
Oct 2, 2019, 5:33:20 PM10/2/19
to GPSTest
Re the blacklist settings I looked through the code and they may be stored here.

data/data/com.android.providers.settings/databases/settings.db.

Lodro Gyamtso

unread,
Oct 4, 2019, 3:38:40 AM10/4/19
to GPSTest
I don't think it's very smart for a consumer to buy a product and later try to find technical specifications that don't exist.

one experienced consumer before buying the product try to
- examine the product packaging to found printing the specs he likes
- reads on the web pages of manufactures about specs
- search for product brochure specs
- visit local shops and ask sellers for a product demo
- talk with local distributor for product specs
- try to found presentation into magazines or YouTube about the specs he likes into the product

also, there is no logical to have programming knowledge to hack or re-program our device after the purchase.

I am writing my personal thoughts because one more time, i read posts like
- where is the Galileo satellites into my device ?
- where is cm accuracy into my new expensive and dual band smartphone device ?

I have also one question ? (3 into 1)
- why we must have Galileo support into a smartphone ?
What the customer will earn? Is there any proof ?

thanks

Nathan Vary

unread,
Oct 5, 2019, 12:05:36 PM10/5/19
to GPSTest
Thanks for this.  I plan on rooting my Moto X4 soon with a custom AOSP ROm, and will attempt to edit this file to see the results.  Does it have to be edited prior to the compile of the ROM, or can it be edited after the fact?

Sean Barbeau

unread,
Oct 5, 2019, 12:08:40 PM10/5/19
to Nathan Vary, GPSTest
Nathan,
Just try installing the ROM first and see what happens. Another user reported seeing Galileo on a device after installing a ROM, which presumably overwrites these settings.

If you're editing a file on the existing device, I would expect you could edit, reboot the device, and the setting would take effect.

Sean


--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_andro...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gpstest_android/27f8a11a-0c11-4c6d-93a7-96211bfd62ed%40googlegroups.com.

Sean Barbeau

unread,
Oct 23, 2019, 1:44:38 PM10/23/19
to GPSTest
Nathan,
Did you end up trying this?

Note that you may be able to use ADB to change the setting too - see:

Sean


On Saturday, October 5, 2019 at 12:08:40 PM UTC-4, Sean Barbeau wrote:
Nathan,
Just try installing the ROM first and see what happens. Another user reported seeing Galileo on a device after installing a ROM, which presumably overwrites these settings.

If you're editing a file on the existing device, I would expect you could edit, reboot the device, and the setting would take effect.

Sean


On Sat, Oct 5, 2019, 12:05 PM Nathan Vary <ndo...@gmail.com> wrote:
Thanks for this.  I plan on rooting my Moto X4 soon with a custom AOSP ROm, and will attempt to edit this file to see the results.  Does it have to be edited prior to the compile of the ROM, or can it be edited after the fact?

On Wednesday, October 2, 2019 at 5:33:20 PM UTC-4, David Wilson wrote:
Re the blacklist settings I looked through the code and they may be stored here.

data/data/com.android.providers.settings/databases/settings.db.

--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest_android+unsubscribe@googlegroups.com.

Sean Barbeau

unread,
Oct 25, 2019, 11:44:03 AM10/25/19
to GPSTest
Looks like this is the adb command to pull the setting:

adb shell settings get global gnss_satellite_blacklist


It doesn't seem to require root. Unfortunately, though, this pulls back an empty string on a Samsung Galaxy S8+ in the U.S. (which can't see Galileo).

Sean

Nathan Vary

unread,
Nov 25, 2019, 9:48:55 PM11/25/19
to GPSTest
Sean, haven't tried this yet.  It's on my list, but gotta find the time.  Maybe over the holidays?


On Friday, October 25, 2019 at 11:44:03 AM UTC-4, Sean Barbeau wrote:
Looks like this is the adb command to pull the setting:

adb shell settings get global gnss_satellite_blacklist


It doesn't seem to require root. Unfortunately, though, this pulls back an empty string on a Samsung Galaxy S8+ in the U.S. (which can't see Galileo).

Sean

On Wednesday, October 23, 2019 at 1:44:38 PM UTC-4, Sean Barbeau wrote:
Nathan,
Did you end up trying this?

Note that you may be able to use ADB to change the setting too - see:

Sean

On Saturday, October 5, 2019 at 12:08:40 PM UTC-4, Sean Barbeau wrote:
Nathan,
Just try installing the ROM first and see what happens. Another user reported seeing Galileo on a device after installing a ROM, which presumably overwrites these settings.

If you're editing a file on the existing device, I would expect you could edit, reboot the device, and the setting would take effect.

Sean


On Sat, Oct 5, 2019, 12:05 PM Nathan Vary <ndo...@gmail.com> wrote:
Thanks for this.  I plan on rooting my Moto X4 soon with a custom AOSP ROm, and will attempt to edit this file to see the results.  Does it have to be edited prior to the compile of the ROM, or can it be edited after the fact?

On Wednesday, October 2, 2019 at 5:33:20 PM UTC-4, David Wilson wrote:
Re the blacklist settings I looked through the code and they may be stored here.

data/data/com.android.providers.settings/databases/settings.db.

--
You received this message because you are subscribed to the Google Groups "GPSTest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest...@googlegroups.com.

Jonathan Baumgardner

unread,
Jan 17, 2020, 7:55:36 AM1/17/20
to GPSTest
Thank you for sharing the blacklist information.  It's been something I haven't been able to find, for many years, through google searches or XDA-Developers.

It makes sense why GLONASS "wasn't allowed" and wasn't shown in phone specifications, for years, yet I was able to get it in 2011, on my Droid 2 Global (Verizon-branded) when I installed Cyanogenmod, and may have had it on my original Motorola Droid in 2010.  I specifically remembering my confusion in GPS Status & Toolbox and having to look up why some satellites showed as circles and some as squares--I was receiving GLONASS and I had reliable 6ft accuracy indoors in Texas.

I'm curious to see if the blacklist is something that can be tinkered with via root access editing.
I picked up a BeiDou satellite on my Pixel 4 in central Texas a few weeks ago and took a screenshot, but I accidentally deleted it when cleaning up and don't remember the satellite number.  As best I can tell, it looks like we should have some poor coverage by BeiDou in the USA, but coverage nonetheless, so maybe it's not blacklisted:  https://asia.nikkei.com/Business/China-tech/China-s-version-of-GPS-now-has-more-satellites-than-US-original
To unsubscribe from this group and stop receiving emails from it, send an email to gpstest...@googlegroups.com.

Jonathan Baumgardner

unread,
Jan 23, 2020, 1:04:59 PM1/23/20
to GPSTest
Running via adb or terminal, with su, it also returns nothing on a Pixel 4.

ndo...@gmail.com

unread,
Aug 25, 2021, 6:40:53 PM8/25/21
to GPSTest
Finally got around to unlocking/rooting my Moto X4, and flashed LineageOS 18.1.  Galileo is still locked out on the phone.   I used "adb root" and "adb shell" to explore around a bit for the settings previously mentioned, with no luck.  They either didn't exist or were empty.  

So I'm onto investigating firmware as the likely spot for implementation of the vendor's disable of the feature.  The feature disable is either in firmware, a binary driver provided by Qualcomm, or the chip/board is physically limited somehow.

Reply all
Reply to author
Forward
0 new messages