I’ve run into a couple of minor GPS issues with my Droid X phone, and thought I’d post my solutions/quasi-solutions to them, in the hope you might find them useful some day.
Problem 1: GPS takes a very long time to get a fix, and only shows 1-2 satellite signals during that period.
I’ve had this pop up a few times, where it takes 15-60 minutes for a good solid position fix, even when Assisted-GPS is enabled. When this happens, signals from only 1-2 satellites are listed as acquired, even though many more satellites are in the sky. Powering off and on doesn’t solve the problem.
Solution: Clear out your Android unit’s cache partition.
1. Find out how to start your Android unit in “Recovery Mode”. Unfortunately, there’s no standard way that works with every phone, so you’ll have to Google your phone’s name and “recovery mode” to find out what works for you. On my Droid X, press the Home and Power keys simultaneously while turning the unit on, until an exclamation mark icon pops up, then press the Search button.
2. Select the “wipe cache partition” option. On my Droid X, I sse the Volume up/down keys to highlight “wipe cache partition”, and the camera shutter button to select that option.
3. It will take a few seconds, then you’ll get the message “Cache wipe complete”. You can now select the “reboot system now” option, and start up your phone normally.
No guarantees this will work, but in one case where I wasn’t able to get a GPS fix for two hours, even with multiple power cycles, going through this process immediately fixed the problem. It did seem to screw up my compass calibration once or twice, so you might check your compass calibration after doing this. Don’t know exactly why it works, but I suspect it deletes the old GPS ephemeris file, requiring the system to rebuild a new one.
Problem 2: Motorola units can’t get a GPS fix in Airplane Mode.
Got a comment recently from someone who reported that they couldn’t get a GPS fix when their Motorola Droid X was in “Airplane Mode”. Turning Airplane Mode on shuts off WiFi and cellular, conserving power; given how much battery power the GPS sucks up, this should help extend battery life a bit if you don’t need a phone or data connection. I’d used Airplane Mode sometimes, and not seen that problem; but after further investigation, I found that my phone also has issues as well.
- If you start GPS tracking with Airplane Mode off, then turn Airplane Mode on, GPS tracking will work correctly.
- If you turn Airplane Mode on, and start GPS tracking within a short period of time of doing that (< 5 minutes or so), GPS tracking will work.
- If you turn Airplane Mode on, and try to start GPS tracking after 5 or more minutes have elapsed, you will be unsuccessful. I didn’t see the problem because I always started GPS tracking right after turning Airplane Mode on.
This is a fairly-well known problem with the Verizon Droid units manufactured by Motorola (Droid, Droid 2 and Droid X); Droid units made by HTC (Eris, Incredible) do not appear to have this problem. One site suggested the problem lies with the Assisted-GPS function, but I don’t think this is correct; if I turn off Assisted-GPS on my Droid X, it has no effect on this issue. Running a test app, I can see that the GPS chipset is outputting NMEA data in Airplane Mode, but no coordinate position info is coming out. Sometimes, a GPS satellite signal will pop up for a second or two, then disappear and not come back.
I haven’t yet found a full “solution” that resolves this issue, but there are some “quasi-solutions”:
- Leave Airplane Mode off. I’ve been able to get a solid GPS fix in this case even when there’s no cellular connection (e.g. in the bottom of a very deep canyon). The disadvantage is obviously decreased battery life. You can turn WiFi off independently for a bit of extra power savings, without affecting GPS signal acquisition.
- Turn Airplane Mode On, then immediately run the app that requires a GPS fix and keep it running. Disadvantages are obvious: substantial battery drain, and you may not be able to run another program at the same time.
- Complain to Motorola, and hope they fix the problem. Here’s a link to their support page; choose your model, then send them an email asking (nicely) to fix this problem.
- Final solution costs a few bucks, but sidesteps the problem completely, works with any app that uses GPS, improves accuracy, and reduces battery drain dramatically. And these advantages apply to any Android phone, including those that don’t have the Airplane Mode problem. The magic solution is to use an external Bluetooth GPS receiver with your Android phone. Tomorrow, I’ll post about the whys and hows of this solution, and the rest of the posts this week will be about apps (free and paid) that let you use an external Bluetooth GPS receiver with any app, even those that don’t have native Bluetooth support.