-
Notifications
You must be signed in to change notification settings - Fork 364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Galileo support #58
Comments
@tomte Nice! Just install the app on Google Play, and then take a screenshot and post it here (just drag/drop into issue). Based on the satellite ID values shown in the app, we should hopefully be able to figure out if some previously unknown IDs show up. Unknown IDs will still show up with an American flag next to them, as that's the current default behavior in the app. If we can identify the ID range for Galileo satellites, I can update app to show an EU flag next to Galileo satellites. More here on why I need the ID range of Galileo satellites. |
Hmmmm, yes, 1-32 should be GPS IIRC, and 70-88 is GLONASS. So nothing unidentified yet. What city/country are you located in? It could be possible that your device supports Galileo but there aren't any Galileo satellites currently visible to your device. Also, can you share your device make/model (e.g., Samsung Galaxy S6)? |
The location is sweden and it is a snopow m9. I guess I have glonass inbuilt instead of galileo... |
That may be the case. From some quick Googling it seems the only GNSS listed in the device specs is GPS. |
Anyway - thank you for the help. If I get my hands on something with galileo I let you know! |
Sounds good, thanks! I'll leave this issue open so anyone else with Galileo can chime in as well :). |
Hi there, |
@bluezed Awesome! Yes - could you please post a screenshot of the main Status screen here, after your device has acquired a fix? The Galileo satellites will likely currently show up as US NAVSTAR, as that is the default if the ID for the satellite isn't recognized. So, any satellites outside of the known US NAVSTAR ID range showing up as NAVSTAR should be Galileo. Here's the IF block that controls what a satellite gets labeled as based on it's ID: |
The sats with PRNs from 1-32 with the American flags are the USA's NAVSTAR GPS system. If the Android platform was providing information to the app about Galileo satellites, they should show up with an American flag (for now) with a PRN outside of 1-32. I would then update the app to show an EU flag for those PRNs to add "Galileo support" - but you'd be able to see the Galileo raw data there before I make any changes. Here is a good wiki page that discusses the IDs for the known PRN ranges for other GNSS:
The Android platform itself uses integer values in the original GPS.Listener - https://developer.android.com/reference/android/location/GpsSatellite.html#getPrn(). However, looking at the Android docs, Google did recently add a new API where you can extract the GNSS type explicitly - https://developer.android.com/reference/android/location/GnssStatus.html I'll look at updating the app to take advantage of this, although it would only be available on Android N 7.0 and higher. What version of Android is on your device? |
Thanks for the explanation. Unfortunately I've only got Android 6 but the rumour is that Android 7 will come to this phone at some point as well. I've now raised a ticket with the phone manufacturer to clarify why I cannot see Galileo satellites so we'll see what they say. From what I can make out there's currently no Android app that shows Galileo satellites using the on-board sensor, only some that can use external devices so maybe it is currently a platform limitation...? |
Based on my experience, I think you're correct. Android 6 and lower was designed primarily for providing NAVSTAR GPS (USA) satellite info, which have numeric PRNs (satellite IDs). They crammed GLONASS, Beidou, and QZSS into this same model by mapping satellites to numbers outside of the NAVSTAR PRN range. It seems like Galileo IDs are alphanumeric, which means they wouldn't fit into this same model. It seems like instead of trying to continue this trend of mapping other GNSS satellites to numeric IDs, Google decided to deprecate the old API and move to a new one that explicitly labels the satellites with the GNSS constellation, and then can provide the IDs that are unique to that GNSS but not globally unique. This is a better solution as it better represents the real world, but unfortunately because it requires Android 7.0 it's going to take a while for devices to catch up. |
I've added an answer to my Galileo question on GIS StackExchange here, which details the new satellite IDs for Android 7.0 and higher: |
Hi all I am also following this thread closely now. I agree that better multi-GNSS support is given in Android Nougat, but the chipset is already capable of tracking Galileo with special PRN identifiers so once the baseband firmware is enabled it should show up on the satellite list (or the NMEA senstences anyway). I think Aquaris X5-Plus does not have the Galileo-enabled baseband yet and it will be provided with an OTA later this year. But I noticed now that Galaxy Note 7 and Tp-Link Neffos X1 also claim Galileo support. Would be good if somebody could try them for us here. |
Quick update about what I got back from BQ support... Basically the current firmware on the device is "deaf" to the Galileo signal and hence the data does not show up even though the hardware is capable of receiving it already. Once Galileo is actually operational they'll release an OTA update to enable it on the phone. So it is as suspected and my guess is that the update will then be to Android 7 at the same time. Wait and see ;) |
@mbavaro Yes! Thanks for sharing! Can you provide any more information on the device this screenshot came from, or how you know the range is 301-330? It would be great to have an official reference for this. A NMEA logger has been on my TODO list for a while (#30), although that will probably come with a future release, as part of a UI overhaul. The current tabbed UI doesn't offer a great place to put this. |
I cannot say too much.. it is indeed a preview of the Aquaris X5+. The choice of PRN 300+ is arbitrary as far as I know. If not logging NMEA, how could one record all the observations taken by your app - or some similar app if you are aware of one? I have searched GooglePlay but most seem bloatware.. I just need a text log file to parse. |
Sure, understandable. If you're able to install Android Studio, I could probably pull together a quick build that would just dump the NMEA output to the system log. To see this, you'd connect your device to your machine via USB cable, open Android Studio, and look at Android Monitor - from here you could copy the system output out of Android Monitor into a text editor (see screenshot below). It wouldn't be a pretty UI (actually no UI), but it would at least let you see the NMEA output. Would this work? |
* Used on API Level 23 (Android 6.0.1) and lower * Based on early Aquaris X5+ - see #58 (comment).
Hello Sean, it's probably too early to jump into doing more work on this (also in perspective of the soon to come changes brought by Nougat). Let me first see if I can perform my duties without wasting too much of your time. I will anyway keep you up-to-date with my findings. Again a big thank you for applying the Galileo delta. |
FYI for those following this thread - I'm in the process of setting up a beta channel via Google Play to push the new changes to support Galileo. I'll try to publish this new version tonight - I'll also post more instructions then about how to sign up for the beta. |
Wow.. thanks! |
Beta testing group is now set up, and you can sign up to get beta releases via Google Play by following these instructions: However, I ran into a few issues publishing a new release that I need to sort out. I'll post again when I actually push out the new beta release that contains Galileo and Android N support. |
Alright, I've published a new version (v2.1.4) that includes Galileo support and dumping NMEA output to system logs as a beta (visible in Android Studio via Android Monitor). Instructions to sign up for beta are at https://github.com/barbeau/gpstest/blob/master/BETA_TESTING.md. I'll work on adding documentation soon for installing Android Studio and seeing NMEA output in Android Monitor and will post here when that's updated. Feedback welcome! |
Just realized that I never updated this thread - Galileo support is now in production release on Google Play, and docs for setting up logging via Android Studio are here: |
Dear Sean, I continue on this old post on Galileo Support. I have a BQ Aquaris X5 plus with GPS Test 2.1.10 As of now I can see GPS, GLONASS and BEIDOU satellites, but no Galileo is shown, even though at the moment 11 Galileo satellites are reported as operational by the GSA https://www.gsc-europa.eu/system-status/Constellation-Information |
Thanks for the update! Have you tried waiting outside with a clear view of
the sky for at least five minutes? You might try different times of the day
as well.
Sean
…On Apr 13, 2017 5:08 AM, "nicoladinisio" ***@***.***> wrote:
Dear Sean,
I continue on this old post on Galileo Support. I have a BQ Aquaris X5
plus with
GPS Test 2.1.10
Android 7.1.1 (patch level March 1st, 2017)
As of now I can see GPS, GLONASS and BEIDOU satellites, but no Galileo is
shown, even though at the moment 11 Galileo satellites are reported as
operational by the GSA
https://www.gsc-europa.eu/system-status/Constellation-Information
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#58 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA4pLaceli-1-1wtL-ivfuhvOIc5ep3vks5rveX4gaJpZM4ISLeF>
.
|
I have tried again right now.
7 Minutes, I got plenty of GPS, GLONASS and three BEIDOU.
On the sky view I see only circles (GPS), squares GLONASS and pentagons
(BEIDOU).
With 11 spacecrafts in operations right now, I would have expected to see
at least one Galileo passing over my location :)
I suspect that something is wrong with the config of my phone...
…On 13 April 2017 at 13:42, Sean Barbeau ***@***.***> wrote:
Thanks for the update! Have you tried waiting outside with a clear view of
the sky for at least five minutes? You might try different times of the day
as well.
Sean
On Apr 13, 2017 5:08 AM, "nicoladinisio" ***@***.***> wrote:
> Dear Sean,
>
> I continue on this old post on Galileo Support. I have a BQ Aquaris X5
> plus with
>
> GPS Test 2.1.10
> Android 7.1.1 (patch level March 1st, 2017)
>
> As of now I can see GPS, GLONASS and BEIDOU satellites, but no Galileo is
> shown, even though at the moment 11 Galileo satellites are reported as
> operational by the GSA
>
> https://www.gsc-europa.eu/system-status/Constellation-Information
>
> —
> You are receiving this because you modified the open/close state.
> Reply to this email directly, view it on GitHub
> <#58 (comment)>,
or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AA4pLaceli-1-1wtL-
ivfuhvOIc5ep3vks5rveX4gaJpZM4ISLeF>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#58 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AaJFW1E2dqOWh8LNykYGSg-qOkLPV7xUks5rvgoygaJpZM4ISLeF>
.
--
Nicola
|
What phone do you have?
I have tried with two BQ Aquaris X5 Plus (with Android 7.1.1 and GPS Test
2.1.10) and both fail to show Galileo spacecrafts.
Tried again today, more than 15 minutes.
…On 14 April 2017 at 07:14, bluezed.apps ***@***.***> wrote:
Hi guys,
I'm in Nauders, Austria today and I see 3 Galileo satellites.
Attached a screenshot...
[image: Screenshot]
<https://cloud.githubusercontent.com/assets/3831765/25021514/c106e9f8-2092-11e7-83fe-da640129911a.png>
EDIT: Now there are even 5 ;)
[image: Screenshot 2]
<https://cloud.githubusercontent.com/assets/3831765/25021793/a49e95bc-2093-11e7-921e-9a804cddaf34.png>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#58 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AaJFW5jDtX5-YQCYR1daMrYdvrK06VYdks5rvwCbgaJpZM4ISLeF>
.
--
Nicola
|
What are the numbers in the column after the flags. Some spacecraft are
missing a number in that column, especially all the Galileo ones
…--
Nicola Di Nisio
(Sent from my phone, please apologise brevity and typos)
On 14 Apr 2017 17:35, "bluezed.apps" ***@***.***> wrote:
Same phone as you with same versions and all.
I'm near Meran, Italy now and can see 3 Galileo satellites right now.
[image: tmp_22411-screenshot_20170414-1732051685338641]
<https://cloud.githubusercontent.com/assets/3831765/25047668/84929c1e-2138-11e7-8399-db422ab08e9d.png>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#58 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AaJFW9rdZNUkSK4sgLM8QM80VJV6VbJdks5rv5IigaJpZM4ISLeF>
.
|
Column after the flags is carrier-to-noise-density ratio (C/N0) on Android 7.0 and higher. This determines if the receiver can lock onto and decode information from the satellite radio waves (larger numbers are better). If this is blank, it's very likely that the receiver can't actually see a signal for that satellite. The columns to the right of C/N0 are Elevation and Azimuth of the satellite, or its approximate position in the sky - this comes from the Galileo almanac information. In a standalone GNSS receiver (i.e., no assistance information) the receiver would need to decode the almanac information from the GNSS signal itself - so, no signal, no almanac. However, networked devices can speed up time to first fix by downloading the almanac info directly from a server. This is what Android devices do (and you can actually download the almanac data for Galileo yourself at https://www.gsc-europa.eu/system-status/almanac-data. Looks like it was last updated about 3 days ago). So, it appears the device was able to grab the Galileo almanac data from somewhere, which is why there is an "A" in the right-most column, and why you can see the Elevation and Azimuth info. However, it seems like it can't actually see/decode any live Galileo signals, hence why C/N0 is blank. If you're not seeing any Galileo almanac info on your device, try making sure you have a good Internet connection, and then power off and on your device. When it's back up, again confirm you're connected to the Internet, and start up GPSTest again. I'm not exactly sure of the mechanism used to fetch assistance data on all devices/networks today (I assume it's SUPL, and I'd also assume that for official Android devices they are using a Google SUPL server), but this could differ per cell provider as well if your device is locked to a particular provider. In GPSTest you can try tapping on the 3 dots in the upper right corner and choosing "Inject XTRA Data", but I'm guessing that won't have any effect on assistance data (if not, it will say "Platform doesn't support injecting XTRA data") . I don't believe that XTRA data is used anymore for most modern devices - all Android 7.0 devices I've seen so far don't support it. |
Thank for the thorough explanation Sean!
I guess that what my two devices are missing is the Almanac information.
Yesterday and today I notice the appearance of one satellite at the bottom
with US-flag (which I understand is the default one for unknown satellites)
and this was carrying no flag, in particular the A, for the Almanac.
![image](https://cloud.githubusercontent.com/assets/928045/25144878/51a524ae-243d-11e7-8b77-c57e30c13a17.png)
This might be a Galileo satellite. I still do not understand why my two Aquaris X5 Plus do not have Almanac
information, one of the two is new, the other though has been in service
for 6 months now.
|
@nicoladinisio The satellite at the bottom is likely SBAS, or an unknown. As long as you have Android 7.0 or higher (and your device OEM has implemented the API correctly) all Galileo sats should be labeled with EU flag. As to missing Almanac and lack of Galileo signals - I'd strongly suggest you contact your device OEM and as what you should be able to see given the Android/firmware version on your device (and report back here :) ). They are really the only one that will be able to answer the question and give specifics. |
Screenshot from Galaxy S8+ (SM-G955F) / Stock Android 7.0 Came here from gis.stackexchange |
Thanks @Nippey! |
Is this still an issue for older phones. I suspect that some 820/821 phones support Galiloeo unofficially because they dont want to pay up for license that the SoC manufacturer offers. |
@BurhanBudak Yes, it's still an issue for older phones. Many phones never got an update to support Galileo even if the chipset specs say it's supported. You can see what devices from around the world are reporting in the crowdsourced GPSTest Database - see https://barbeau.medium.com/crowdsourcing-gnss-capabilities-of-android-devices-d4228645cf25 for details. |
I submitted a idea but I will repeat my theory. How can I be sure there is no false/positive connection. Could it be that there is unofficial support for Galileo. I did a experiment. As Lineage is more true to AOSP, I thought I would get CF flags when I used GPSTest. Nothing changed between OOS and LOS. But then I tried your oldest app possible to download from Github and the newest. Reason for why I tested was to check if I got any unknown or Galileo sats as NAVSTAR flagged. Read in you older bug reports that it would happen. Behold I saw one satellite as unknown with the number 38. Also one falsely flagged NAVSTAR between 100-128, I dont remember nr. I believe I will get more data when the ROM I use switches to Android 11. The missing API really makes it hard to find out. Edit: By disabling GNSS.API I got more different data and could distinguish GNSS. All of them using the same 1-31 number doesnt help. Also Full GNSS was enabled. |
It's possible but doubtful, although it would be nearly impossible to prove without having access to the chipset source code that computes the position solution to know what's being computed. There have been a few bugs where OEMs have shown a satellite in the Status list but haven't set the "U" flag to indicate that it's being used. But I don't know of a case where a satellite didn't show up in the Status list but was used to compute a position solution by the chipset.
At this point I wouldn't trust anything coming from the older GPS APIs. The GPS APIs are now officially deprecated and will apparently stop working when apps target Android 12 in their configuration. I expect OEMs are paying minimum attention to these APIs now, and we have a hard enough time getting quality data out of the officially reported APIs.
Just be careful interpreting results when flashing custom ROMs, things are liable to break if there isn't an exact match between the driver and what Android is expecting. |
I have researched on porting and looking at budget chipset for my current phone and I found nada solutions. But I maybe found one very dangerous solution. As the modem is the controller for the connectivity stack, modifying NV values would "maybe" fix this if the support is in the phone. If a sat signal is like a 4g band then maybe but its easier to just buy a new phone now. When I see no use for my older phone I will try it out as I have "acquired" QC software. It cant be hardware related block. We have seen OEM use external GNSS chips since forever because QC is expensive.
Would you want the screen shots for the unknown number 38 sat? Because I have never seen a blank sat before in the app.
Using a unofficial ROM gives more options of API that where not present before but API are there but not used? I there anything the community can do as aftermarket support? |
Here is a dumpsys location dump on pastebin. I deleted location info and sensitive data. I do see constalations but the phone cant translate the data. |
The low-level drivers that interface with the hardware need to come from the OEM because these are typically a black box. The output of these drivers is then passed into Android. But, if the inputs/outputs don't line up correctly, you can see strange results, ranging from things crashing to interpreting data incorrectly. Without understanding the black box, it's hard to "fix" things.
Sure!
So my understanding of the above is that the device is obtaining almanac or ephemeris data (i.e., the rough positions of the satellites) from some source and in theory knows that the above list of satellites exist somewhere in the sky. It says However, looking through the log I don't see any evidence that the device is actually observing Galileo satellites, which could be a hardware or software limitation of the OEM (even if the chipset normally supports Galileo). |
Well my theory that GNSS signals can be unlocked like the aftermarket LTE/NR unlocking is technically correct. right now I gonna buy a new phone and make my Oneplus 3T a experiment phone. I need a backup of course. I have seen post from XDA between 2010-2015 unlocking GLONASS. |
I've been told this is possible on some devices, but on others the hardware is effectively disabled by the chipset OEM when selling to device OEM. Device OEM would need to pay more to enable certain features (e.g., dual-frequency). Please let me know what you find! |
Hi, how is it going. Well I own a new phone that supports Galileo. But you missed the constell value that equals 6. Its says in the pastebin, GAL=6 |
@BurhanBudak Hello! My comments at #58 (comment) were about the records marked |
Hi!
I bought a phone that supposedly has a galileo positioning module built in. Unfortunately I have no idea how to verify that. How can I check with this app which positioning systems I can access?
The text was updated successfully, but these errors were encountered: