Reset GPS Receiver to NMEA Mode
A RoyalTek (Sapphire) RGM-2000 recently stopped working with TomTom Navigator on a Windows PPC 2003SE PDA. Tom-Tom would show it had the serial connection (spinner in top-left of GPS status window) but never got a lock. The settings were NMEA Receiver, 38400 baud, Serial on COM1.
I got a copy of the tty utility to verify that communications were working. Connecting to COM1 at 38400 showed data coming in but it was garbage or, to the untrained eye - corrupted. After a while fiddling with port settings I was sure this wasn't just a case of the wrong settings. In the meantime I noticed there did seem to be a pattern to the received data from the GPS receiver so I did some searching for problems with the receiver model.
It turns out that the unit can operate in two modes: SiRF and NMEA. SiRF is a binary-data mode whilst NMEA is text. Possibly due to not having been used for a long time the unit's battery had probably been exhausted and when it was restarted it defaulted to SiRF mode, which explained why it was transmitting what looks like garbage.
Luckily there's a very useful tool to quickly set the mode.
I downloaded a copy of Leadtek's Winfast Navigator applications, extracted just the Winfast Navigator CE directory, and copied Navigator.ARM.CAB to the PDA.
With the GPS receiver connected, on the PDA I opened Navigator.ARM.CAB which caused it to be installed. Then, from the Programs menu I launched Navigator.
In Winfast Navigator I did Tools > Port Setting..., dismissed several error message dialogs, and set the Port to "Serial COM1:", BaudRate to 38400, and GPS Protocol to SiRF.
The View > Navigation window immediately showed good (SiRF) values being received which confirmed the GPS receiver was working fine.
To change to NMEA mode I then selected Tools > Command....
I selected the NMEA tab and changed the values using the spinners to show:
GGA 1 GLL 0 GSA 5 GSV 5 RMC 1 VTG 1 MSS 0 User 0 User 0 User 0
I pressed OK to send the command to the GPS receiver and then returned to the View > Development window and could see NMEA text data being received.
I exited Winfast Navigator and started TomTom Navigator. This time its GPS Status window immediately showed it was receiving valid data and it wasn't long before it had a fix.