Saturday, 7 February 2009

Keeping one's iPAQ gps files up to date...

OK, some of you who have been reading this Blant will know that my phone is an iPaq HW6915, and an excellent phone it is too, kind of a combination PDA, Phone, and GPS receiver (with the right software, of course).

I'll not go into the rights and wrongs (mostly wrongs) of TomTom at this time; this is instead a bit of advice regarding updating the Quick GPS files on your phone, to allow you to increase the time between updates. This is a semi-firmware issue, as opposed to a software provider issue, which are not the same, or even related, for a change on this Blant!

The GPS chipset on the iPaq HW6915, like all GPS receiver equipment, is geared to utilising location fixes from satellites in orbit.

From your starting up a GPS Receiver, if you've not used it in a few hours, it'll have to find all the available satellites, read their data as they transmit it in turn, and then decide from this information where you are. It's a process called TTFF, or "Time To First Fix", and can take up to fifteen minutes or longer in less than optimal conditions, in order to establish your position on the ground (in conjunction with your choice of satellite navigation software, of course)...

In the case of the iPaq, unless it's plugged into an external power source (your car power adaptor, for example), the TTFF uses a LOT of battery power - did I mention that the GPS receiver in the phone EATS batteries for breakfast? No? Watch that battery power meter drop, then, hooo boy, does it drop fast!

So as to speed up the fix process, the iPaq uses "Quick GPS". This is a set of data files, which help speed the fixing process by giving the GPS receiver a kind of electronic "heads up" as to where the satellites should be at any given time. Using Quick GPS decreases the TTFF time by many magnitudes - I got a fix within two minutes yesterday; I often get a fix in less than a minute. There are four of these files, "svstatus.txt", "lto.dat", "downloadtime.txt", and "ntplist.txt".

As standard, there are only two ways to update these files: Manually, or automatically. Automatically means that you leave it all to the HW6915: It's set up to download the files:

  • By GPRS (depending on your cellular phone providers' data charges, this can be expensive),

  • by WiFi when you're in range of a WiFi connection, or

  • via the internet by ActiveSync connection at home.

The second method is by manually downloading the files from a website, and copying them to the phone via ActiveSync.

Method two is conducted as follows (I found this at the Pocket PC Singapore Group (PPCSG)):

  1. Dock your HW6915 to it's ActiveSynch cradle, and allow it to synch up normally.

  2. Navigate in your home PC to

  3. Scroll all the way down and choose "latest"

  4. Right click and download and save both files ("lto.dat" & "svstatus.txt") - those are the only files you need, actually.

  5. Copy the 2 files (lto.that) & (svstatus.txt) to the clipboard (find where you put them, highlight them, and right click "copy").

  6. Go to My Computer

  7. Open up My Mobile Device

  8. Open up My Windows Mobile-Based Device

  9. Open up Application Data

  10. Open up Global Locate

  11. Open up Gpsct

  12. Paste the 2 files (lto.dat) & (svstatus.txt)

  13. On your HW6915, Check your Quick GPS expiry date. Should now read a tad under seven days :)

  14. Done.....

There is, of course, a problem (naturally, there's a problem. It's blindingly obvious there'll be a problem, lol).

As previously mentioned, The phone is set to download these files automatically on expiration. This, in the case of the HW6915, means it'll do that every two days, and as near as I can determine, uses the "downloadtime.txt" file to determine when this should be done. Two days is not a great deal of time for the lifetime of these files, to be frank. If you're away from home for any length of time therefore, this can be annoying as heck is you don't have access to a WiFi connection, or simply don't want to use GPRS, to update the files.

The problem is that the second, manual update, method is wiped out by the auto settings on the phone, which is, it has to be said, a tad annoying (cue very rude words that make most teddy bears wince and plug their ears!), as it looks at the files, determines that they weren't downloaded by the firmware, and covers itself in misplaced glory and at the same time wiping out your work, by then downloading the shorter-life files.

Cue Ambassador Kosh from "Babylon 5" burbling "And so it begins"...!

Now... tell the truth... Right about now, you're expecting me to wibble on about how I turned the air electric blue due to some inanimate object messing me about and rolling back all the changes I wanted to see, threw my dummy into low earth orbit, and generally rolled around the floor a fair amount, impersonating a two-year-old... right?

Surprisingly, wrong (ptptptptptptpt!).

Dunno how I managed it, but I held onto my temper :)

Probably because I half expected the system to do that to me, I guess :)

Anyhow, to get back on track, the easiest and most straightforward way of preventing the system from overwriting your efforts is to disable automatic updates in the Quick GPS settings screen on the iPaq. On the HW6915, go Start -> Settings -> Quick GPS Connection -> Settings, and uncheck "Enable Updates" and "Initiate GPRS Connection for updates". I'd check "Show expiration reminders and warnings, just to remind you to download the fresh files every week, just in case ;)

There is another method to curing this problem. That's to go in and hack the registry of your HW6915. This is NOT say again NOT for the faint hearted.

First, you need a Registry Editor. CeRegEditor is a freeware choice, and not at all bad, either.

It can be found at

Next, you need to go into the HW6915 registry, and hack (change) the QuickGPS update settings.

This is the key block you need to find, and looks roughly like the picture on the left...
hkey_local_machine\software\global locate\Lto Manager\Files

"RemotePath_0" should be amended to read: "7day/latest/lto.dat"
"RemotePath_1" should be amended to read: "7day/latest/svstatus.txt"

Once you've made the two changes, save the registry, and exit your editor. You shouldn't need to restart your HW6915 - these changes should take place immediately - they certainly did on my 6915, anyhow :)

You can now go back into the Quick GPS Connection settings, and re-check "Enable Updates". It'll work fine :)

For once (in a blue moon), Problem Easily Solved :-D


Jean said...

I am from Belgium. I followed your recommendations. When I copy the new files from the net "Index of /7day/latest" every things works fine, but when I try to update using Microsoft ActiveSync I still receive the files from "Index of /2day/latest" the changes in the registry have been done correctly

Roger said...

Hiya Jean -

Hmm. That's odd; it should download the 7-day files with no problems both automatically and manually.

Have you tried the manual method? The manual method I've used following the registry changes is, after connecting my iPAQ to the PC for a syncing, tap Start -> Settings -> connections -> quick GPS Connection. Then all I need do is click "Download Now", and it downloads the 7-day files.

Please let me know how you get on through this response thread - thanks :) Roger.