I just installed microG in FP Open following this guide (point 5.5).
I was wondering why it stresses the installation and configuration of an NLP backend so much. Why would I want that? If I need my position for navigation, I will turn my GPS on.
So, can I just leave it out? And if I do need it, which backend should I install (Apple, Mozilla, … (what’s the difference, except for the provider of course))?
Also, could it be that the guide is a bit outdated?
for me the “Self check” lists the following points:
A NLP can speed up your location fix and you can even get an estimated location in areas without GPS reception.
To answer the question in your topic title: It depends on why you installed microg in the first place. The part about installing microg from the guide you used was originally written for getting Pokemon Go to run on FP Open. So some apps do need to believe that Google’s NLP is installed (same package name), but in most cases you probably won’t need it.
If you decide to install it I recommend using a combination of backends for both Wifi and Cell-Towers as well as both online and offline databases.
I’ll remove the mention of the names of the items as they change constantly.
Oh and I removed the locationdatabases tag from the topic as this is one of the tags used to quickly link to one specific topic. Hope you don’t mind.
thanks for your reply!
For now I installed it to be able to use Signal w/o PlayServices installed.
Signal installed successfully but complains about my phone not supporting google play services. I almost finished setting up microG but after setting up “LocalGsmNlpBackend” as the location backend in UnifiedNlp the self-check still tells be that it has no last known location and no location was provided within 10 seconds (the other points all have check marks).
i checked with osmand and satstat: now that i set it up, it is indeed using the GSM for localization, so i don’t really unterstand why it’s not working
no, of course, thanks! =)
do you think this post should go somewhere else (µG discussion or sth like that)? if yes, could you move it there? thanks again!
Just for the sake of completion, I’ll explain to you how location is achieved by Android OS.
There are two qualities of location, each with pros and cons:
GPS location, directly accessing GPS satellites, so you need to be outdoor. This method is more accurate (metters) and doesn’t need an internet connection, but it’s slow and energy consuming.
Network location, which is an approximation (geometry triangulation) based on which cell towers and wifi points your phone has access to. This method is quicker and less energy consuming, but is less accurate and requires a location provider, usually by a internet connection (and losing privacy at the same time)
Android uses a mix of the two methods by default, which is called fused. But, as Android is a Google product, Google is obviously the one and only network location provider. Google Network Location service is part of Google Mobile Services, which is something FP Open doesn’t have.
(I’ll finish this later, but I think you can already make up and idea of why microG/UnifiedNLP is a must for FP Open)
hey, thanks! (i knew that much but it’s nice to have it here for future readers )
@paulakreuzer: i now additionally set up the Openbmap backend and both this and the GMS one use offline databases. (edit) And yes, I rebooted after setting them up. (/edit) They obviously work, as I get an instant rough fix in osmand and a bit later the gps localizes me more accurately. also UnifiedNlp says that location backends are set up.
I just realize: I did not do the step with the signature spoofing, since on the µG website they do not mention this (and everything installed fine without it). But could this be the problem afer all? Or was this a step that was formerly required to get µG installed?
edit2: just to be clear. there’s 2 issues here. the first one is that the self-check of UnifiedNlp does not see any location (although satstat and osmand do) and the second one is that i cannot use signal (it complains at the point where you register your phone number).
The guide looks more complicated than it is and contains some points that are only needed for specific modifications.
Basically you’ll just have to flash everything you flashed before via TWRP again.
For microG to impersonate Google Services, it needs signature spoofing. Just use Tingle.
To know more about the Android security model, or why this is needed, check other posts of mine like this one quoted below:
Sadly, Signal and other bunch of free apps depend on crappy proprietary GMS to work.
About your update concerns, Tingle patch (i.e. modifies) the system, so when you update the system to a newer, pristine version of FP Open, you’ll need to patch it again. But so far, you won’t have any other problem with the Fairphone Updater.
and will i have to remove tingle before being able to update or just reinstall after the update?
also, i was wondering – is it only necessary for the installation of the app? because then i could also install it and forget about it (after the next update)
Nop, you can update without reverting your modifications, but you lose them.
As of now (current Android state), you can install any app on the ecosystem (this wasn’t true some years ago). On runtime, those apps check if you have Google services, or a reimplementation like microG, and they use them if available. If not, then can occur two things:
The app crashes, when initializing or at some step (Signal’s registration)
The app shows an avoidable message of "lack of GMS” and can’t use some functions (usually push messages, so you don’t get notifications on Slack or Signal)
You can patch the system with Tingle, install microG, register on Signal, and update the system eventually. Then you can use Signal because you are already logged in, but you won’t receive push notifications.
Privacy note: microG still contact the Google Push Messaging servers and Google receive a bunch of metadata of your communications. However, with microG you can control that with the relatively new push messaging settings and by inspecting the code, which is completely open source.
hey @Roboe, thanks for all your replies and info again!
so i will need to keep signature spoofing even after the signal registration :\
I just tried to use tingle and I am getting “ERROR: No device detected! Please connect your device first.” after selecting option 1 (after running “python3 main.py”).
I already tried to change the “connected as”-option of the phone (MTP, PTP, mount sd card) but nothing worked. usb debugging is enabled and i allowed root access for adb.
– does anybody have an idea what could be the problem? (@ale5000?)
adb doesn’t work if you have any of these USB modes enabled, in my case. Just disable the one you have enabled (uncheck the active tick) to clear a path to ADB to work
yeah, well… signal still does not work.
the tingle patching reported that it was successful – so i guess it must be the issue from above: UnifiedNlp’s self-check does not have a known location