New Post: November Librem 5 update: Byzantium Released

In the “community/librem-5” Matrix chat room @Kyle_Rankin wrote this yesterday: “we are also working on a GUI tool (and accompanying blog post) to make it easier for folks who are on amber to reflash to byzantium”


I need some clarification about GPS. Do you just take out the phone for some time with clear skies? I have installed gnss-share, took the phone outside for 35 minutes it still shows that I am in China (and I am not).

Do I need to do something when I take the phone out? Do I miss some software or something is not enabled?

I could be wrong, but as far as I know all you need is to have the at least one killswitches on so that you are not in “lockdown mode” where the GPS is off. Then go outside for a while, and make sure you really have lots of clear sky during at least 20 minutes or so. You wrote that you were outside for 35 minutes, that should be enough time but maybe you did not have enough clear sky.

Mine was also showing a position in China first, it was not until I put it outside on a roof terrace for a while that it started working properly. I think if you just walk around outside with it, maybe some trees or whatever that happens to obscure the particular satellite it is using could cause problems. Anyway it seemed that way to me, like you really need a lot of clear sky during the whole initialization time which apparently is around 20 minutes.

Apart of the the geolocation in some map (like the app Maps), is there some more technical app which shows the GPS environment, the satellites etc? I tried the app Satellites but this does not show anything, and not any fix.

1 Like

thanks @Skalman I will try again then. There are mountains where I live. Maybe I have to climb … :grinning:

1 Like

Maybe :slight_smile:

It would be great if someone who knows more about this could comment on it, but this is how I imagine it works: the “initialization phase” (the thing that needs to happen before the GPS can start working properly) requires receiving an uninterrupted signal from one satellite during ~20 minutes, to download some info it needs. So the “initialization” is not robust, it may be enough for that specific satellite to be obscured for a short time, that already can cause the download to fail and need to start over. If that is how it works then that’s very different from the normal operation that starts after the initialization is complete, then there is redundancy because many satellites are available and a fix can be computed even if some of them happen to be out of sight.

I have mountains where I live as well, tried getting higher up in clear areas for 2 hours and still it couldn’t get a fix for me.

Sadly that’s all I can report, which isn’t good news

This is what I did. I’m running Byzantium.

I first turned on location services, had the Wifi/BT HKS set to the functioning position, and started up the Maps app. It showed my approximate location with a wide Wifi (I assume) location radius.

I set the phone down outside on a wooden table, with the Maps app displayed on the screen. The view of the sky the L5 had was about one-half of the entire overhead hemisphere (I was on the deck of my backyard). I returned 30 minutes later. The screen had gone to sleep. Upon waking the phone up, the location radius had shrunk down to a very small radius, compared to the wifi radius. This indicates to me that GPS/GNSS had become initialized.

1 Like

I used the grep command.

sudo cat /dev/gnss0 will give you a stream of information, which will be relatively incomprehensible unless you track down some documentation. I have teseo-liv3f-dm00398983-teseoliv3-gnss-module–software-manual-stmicroelectronics.pdf which I imagine was linked to in this forum. I am not going to pretend that I am an expert but the information in that document was adequate to confirm the type of messages that the GNSS was emitting and approximately what those messages mean i.e. adequate for a human to parse the message and understand it.

sudo grep -a '$..GLL' /dev/gnss0

will give you your fix, so to speak.

From the above document, the format of that message is: $<TalkerID>GLL,<Lat>,<N/S>,<Long>,<E/W>,<Timestamp>,<Status>,<mode indicator>*<checksum><cr><lf>

and an example from that document is:


I have indicated with ^ the status field. It is A for valid and V for invalid. You of course want A but you don’t get an A until
a) the phone gets a fix on one satellite, and
b) maintains the fix for long enough to download the ephemeris, and then
c) gets a fix on enough satellites to determine your position.

I already did the first two steps. So I just wandered outside with my Librem 5, doing the above grep command, and it took maybe 20 or 30 seconds to get a fix and thereby reported


(where I have removed the latitude and longitude for privacy reasons, but they were correct before I removed them).

As far as I am aware, I have not installed gnss-share. What I am doing here is just very basic, low-level diagnostics to demonstrate that the GNSS chip is working.


Thanks for the lot of yout technical information. I will check with the grep my device. Maybe we should start a new thread for L5 and GPS.

Years ago, I used the Openmoko Freerunner. I pulled it out of the dust, it still boots, but the battery is dead. Have to look for a new one (it’s replaceable). The documentation for GPS and pictures of the app can be found here: (look for the chapter Position.

I have the L5 in my garden with blue sky above for some minutes, and the sudo grep -a '$..GLL' /dev/gnss0 does not show an A, only V, one line every second.

Could you please send me a pointer to the document or the PDF itself by mail. Thanks.

This post: Librem 5 GPS/Location Tracking says “at least 12 minutes”. That’s probably under ideal conditions, so you would potentially need more than 12 minutes.

And that post has the link to the PDF documentation.


OK, I got a fix following @Zimmy instructions. I left the Maps running and it worked. I had done the same without Maps running and did not work. I do not know if this was accidental or Maps need to be running.

grep -a '$..GLL' /dev/gnss0

gives me only V but I will get again out to check.

BUT this thing with Maps to require being online is annoying. How to get offline maps? On android I had downloaded the maps from OSM. A big download indeed, but on L5 I can put the offline maps to the sdcard. and it is much more convenient to have offline maps.

1 Like

Yes, that would be great. I don’t know right now how to do it, if you figure it out then please share how you did it, I would like to do it too.

Then we can use maps the way it should be, having cellular and wifi switched off but still using GPS and plotting the GPS position on the map. I want to know where I am, but I don’t necessarily want everyone else to know where I am. :slight_smile:


Maybe some people developing on L5 know how to do it…

By the way, the weather app does not pick up the GPS position. Although the auto location is enabled it still brings the forecast for the wrong place.

Still does not work as expected. I took the phone out for a walk a few kilometers from my house. It never changed its opinion that I am still in my house. Is this related to ephemeris
(or how it is called?).

Then you are not getting a fix on your position.

If you are never getting vAlid data then it is not possible to say where you were or where you are now.

Explanation of what it is: Given the etymology (ἐφημερίς) I would have thought that you would be all over it. :wink:

I suspect that in modern days, the actual ephemeris is just the orbital parameters of each satellite in the constellation so that, coupled with suitable software, you can predict where each satellite will be in the sky at any given time. This contrasts with an ephemeris in days of yore which would be a published table giving the position at incremental moments in time.

As to your question, I think that if you have ever got a valid fix then you have downloaded the ephemeris but if you have never got a valid fix then you may not have downloaded the ephemeris.

To be clear, I have never used any software on the Librem 5 that bothers with the position e.g. not Maps or anything else. I only used grep as above until I got a fix (valid position).

I hope that some application with OSM/.obf support will available in some time. I have done experiment with building Qt5/6 based GPXsee build i my AArch64 Pure OS debootsrap system. GPXsee knows many online and offline maps formats (no obf unfortunately) and I have soem Garmin images builds from OSM laying around and they seems to work. Application is desktop one, so works the best when Librem 5 is docked and you have keyboard and mounse but it seems near to usable on phone screen alone as well. You can open map, select to show actual position (on actual last week release) and soom in by double-tap. Panning works on touch interface well to. Problem is zoom-out for which I have not found any method available n touch screen. But I think tha addition of the pinch gesture is easy for somebody with better Qtř knowledge and I plan to try implement it myself with my limited experience when time allows if nobody else start it before.

1 Like

I have implemented Map zoom by pinch gesture from touch-screen and Pinch gesture zoom uses digital scaling appropriate for maps. and prepared pull request. But author reply is not promising that it would be integrated into mainline soon. So you can use my branch zoom-by-pinch from my fork for now. If there is interest I provide binaries or Debian package. I am not sure if proposal of GPXsee to become PureOS package worth if mainline is reasonably usable only on machines with mouse wheel and keyborad and enhancement for convertibles and mobile phones is considered unacceptable for now.


I am getting the A,A after a while outdoors, but when running e.g. page.codeberg.tpikonen.satellite I get

[18:07:41] Satellite version 0.4.1 started
[18:07:42] NMEA source "gnss-share" selected
[18:07:42] [Errno 13] Access denied

What does that mean?

1 Like