The fix for that didn’t make it into the shipping image, but it should be already available as an update (it’s part of the kernel version 5.13.16pureos1, which can be checked with dpkg -l linux-image-librem5)
You can get GPS to work by installing gnss-share package, although be aware that it still has some rough edges to fix which is why it’s not installed by default yet. And it likely knows about Germany because of the GSM network.
The raw GNSS hardware seems to work but the integration with the rest of the system is probably lacking. However you need to spend some one-off time outside in order to download the ephemeris from the satellites: Librem 5 GPS/Location Tracking
There could be lots of answers:
from the details of the mobile carrier that you connected to
A phone without a SIM can still make emergency calls and most certainly is still capable of receiving mobile signals about available mobile networks (unless you have used the kill switch to kill the cellular modem).
So regarding WiFi, you are saying that you don’t have a wireless router or access point and none of your neighbours who are within receiving range of your Librem 5 has a wireless router or access point? (If you live in an urban area, that would be surprising.)
That is not to assert that the Librem 5 actually uses either approach, only that they are theoretically possible under the right conditions.
You could use the kill switches selectively to probe for how the phone is establishing your location.
no, not in germany, due to the many fake calls this feature was forbidden by regulations. anyway: funny that we start wild guessing when we look at a device that is considered open.
so stop guessing: i looked with dbus-monitor --system what happens. found that a “GeoClue2” sends a location. found a process running with that name. found a config file /etc/geoclue/geoclue.conf which has wifi enabled but doesnt send wifi data (mac i assume). the URL is https://location.services.mozilla.com/v1/geolocate?key=geoclue which gives a location - probably by IP. so the IP is listed in mozilla in hamburg where the error lies.
Yeah, that’s one of the above mentioned rough edges. Once GPS is enabled, Geoclue seems to often prefer using stale/invalid GPS data over valid but less precise GeoIP/WiFi/GSM positioning. You would have to put the phone with a good view on the sky for some 15 minutes and it should then get a fix. Subsequent attempts should be much quicker, as ephemeris and almanac data gets stored so AGPS will be able to kick in.
 At least the GPS chip should get it - whether Geoclue would actually show it depends on some other rough edges
i dont understand that sentence. the 15min are needed to read that data from the sats and AGPS would speed up this by downloading it via internet connection instead. how does AGPS “kick in” after reading? and: does the L5 have AGPS function (i dont know of any open source project supporting that)?
Ephemeris and almanac data gets stored after downloading, so subsequent uses of GPS are faster even after fully power cycling the device (although ephemeris gets out of date fast, so it’s mostly almanac that matters there as it’s valid for months). You could also download that data externally from some source and it would be used as well, but nothing does it automatically so far.
Out of interest how do Android/iOS device work around this? (Or do they also have a 15 min initial load time to get a location fix and I’ve just never noticed?). Could Almanac data be pre-loaded before shipping?
Congratulations! I’d love to get my devices to do what you seem to feel is broken. I just hate web sites and main SMIRCers that force me to things local to where I live. They forget - It is, or was, the WORLD-WIDE web, not the Local-Nearby-Web!
So if what ever your L5 does to mess up your real location, I’d take that as a bonus and would love to know how to duplicate it. Be it a A.I., or Bubba’s website, it’s no one’s business where I am.