[XU][ZPerience][VeXU] GPS Settings
Like some of the other users, I had GPS problems after installing these two ROMs: connecting to the satellites took a very long time, if at all. Below I describe my fix, gathered from searching on the web, including here on XDA, and by using trial-and-error testing. Hope it helps others.
- Install GPS Test by Chartcross. This helps monitor the GPS activities. There are other similar apps out there, but I like this one for the purpose of monitoring the GPS.
- Install FasterGPS, by Dominik Schürmann. This is to edit the file /system/etc/gps.conf. You could edit it manually, but I like the GUI of this app.
- Check if your /system/etc/suplcert/cacert.txt is "MIIDazCC......neEj8Nq/", then under the advanced settings, make sure SUPL_HOST is "supl.sonyericsson.com", SUPL_PORT=7275. Each cacert corresponds to a particular SUPL server. The above cacert is for the Sony server. If the host doesn't correspond to the cert, then you will not benefit from a quick retrieval of GPS info via the internet. Instead your GPS will download the info from the satellites themselves at a very slow rate (50 b/s according to Wikipedia). Your GPS would still work, but it won't acquire a fix quickly. Sorry I don't know what the cert for Google is.
- Set NTP server to something close to you. Some people suggest to enter several servers (more can't hurt), some people suggest not to do that (more does hurt, if the previous ones fail.) I imagine that, at the higher level, the ntp pool servers don't usually fail. Thus I choose a single server that is close to me. In addition, I stay at the "country" level instead of going down to the numerical prefix level. (I.e. I don't bother with 0.uk.pool.ntp.org.) I figure going down to the numerical prefix level would more likely expose me to server failures.
- Set INTERMEDIATE_POS=1 (enabled), then set ACCURACY_THRES=0 (passing all positions). With this value GPS Test usually reports satellites "in view" very quickly [<= 1 sec]. [Note: "in view" not "fix".] When I set the threshold to something non-zero (even a large value like 5000), it takes several seconds to see them.
- Set ENABLE_WIPER=1, which supposedly turns on wifi positioning. Not sure what that does, but sounds like it can help . I assume the GPS system reads info from the wifi to get a rough estimate position. GPS Test probably isn't affected by this, although something like Maps might.
- Set REPORT_POSITION_USE_SUPL_...=1. Again this sounds like a useful thing. My trial-and-error testing didn't discover anything conclusive about this. If anyone know more, please let me know.
- Set DEFAULT_AGPS_ENABLE=TRUE, DEFAULT_USER_PLANE=TRUE. These are probably already true by default, but I figure it doesn't hurt to be explicit.
- Reboot your phone if you had to change the SUPL setting. I had to do this to see the change. Would love to hear your experience on this.
With the above settings, GPS Test usually reports about 10 satellites in view in about 1 sec; satellites signals popping up above 10 db in about 5 sec, and the GPS acquiring a fix with about 4 satellites in less than 30 sec. All this _inside_ my house, which is a timber frame house with tile roof. I get this even with airplane mode on, i.e. no network connection!
If I use GPS Test to download AGPS data first, then the fix could be even faster, at less than 15 sec. And once the GPS has acquired a fix then, within a short time span, it will do so again very quickly (< 5 sec). Thus I have no problem as I switch from app to app and the GPS sensor turns on and off.
If my AGPS data is several days old, I still can get a fix in about 1 min.
Still, sometimes no matter what I do, the GPS would take more than 1 min to acquire a fix. Not sure why this happens, but it usually occurs after I haven't used the GPS in a while. In those cases I might have to wait up to 5 min for a fix.
- I assume you have root (since you managed to install ROMs )
- According to the official ntp pool website,
As pool.ntp.org will assign you timeservers from all over the world, time quality will not be ideal. You get a bit better result if you use the continental zones (For example europe, north-america, oceania or asia.pool.ntp.org), and even better time if you use the country zone (like ch.pool.ntp.org in Switzerland)
- More about my choice of accuracy threshold: if a threshold is active, it seems like the GPS would wait for the signal of a satellite to be of a certain strength before reporting it as in view. I figure it is better to just grab all the satellites possible, even if there is no signal yet.
- The app GPS Status & Toolbox, by MobiWIA - EclipSim is also a very useful monitoring tool. I like the feature that reports how "stale" the AGPS data is. Wish GPS Test had this as well.
- Toggling on the GPS from the settings menu simply allows apps to turn on the GPS. This doesn't use any battery. Only when an app starts using the sensor does it take energy. I recommend having this on. Having said that, do make sure you don't have any rogue app keeping your GPS engaged.
- Install NTPSync, by Dominik Schürmann again. This helps set your clock. Not sure if this is necessary, but it gives me a good feeling that my clock is accurate