gpsflash (1) - Linux Manuals

gpsflash: 2-stage firmware loader for GPS chipsets


gpsflash - 2-stage firmware loader for GPS chipsets


gpsflash [-n] [-l loader-file] -f firmware-file {tty}


This program is a firmware loader for GPSes connected to your host computer via serial or USB port. Presently it supports only SiRF GPSes. Other GPSes may be supported in the future if the vendors cooperate.

For operation, this program requires a flashloader binary (found by default in a file named dlgsp2.bin) and a firmware image. This program first ships a command that tells the GPS a flashloader image will follow, then gives the GPS time to reboot into the flashloader. The flashloader then accepts S-records from the serial or USB port until it sees a termination record, at which point it writes the new firmware into the GPS's non-volatile memory and reboots the chip into the new firmware.

There is one required argument, specifying the serial device to which the GPS is connected.

The -l option specifies the flashloader binary. The -f option specifies the firmware image file, and is required unless you are just probing the GPS (-n option).

If the -n option is specified, the program will probe the GPS to try to determine its type and whether the upload is compatible, but not actually perform the upload. When this option is specified, the -f option is not required.

You will need to obtain your own copy of dlgsp2.bin and your own firmware image. The GPSD project does not yet have permission to distribute these files, so don't ask us for copies.

Depending on your GPS type, this program may or may not attempt to check that the flashloader or firmware image is compatible with your GPS; in some cases no check is possible. EXPERIMENT AT YOUR OWN RISK.

This program will only work with firmware images in S-record format, which is the form SiRF normally distributes them in. If you get a binary firmware image from somewhere, you can use objdump(1), from the GNU binutils to convert it to S-records.

Realize that we are not kidding around when we say that this could very well break your receiver permanently, and if it does, it's no one's fault but your own. For this program to flash your GPS, you must set an environment variable called I_READ_THE_WARNING with the value "why oh why didn't i take the blue pill".

This program emits progress messages to standard output.

The GPS will be reset to 4800bps NMEA after flash.



THIS PROGRAM CAN DESTROY YOUR GPS. A botched firmware upload will turn it into a paperweight. USE AT YOUR OWN RISK. Maintainers are not responsible for direct or incidental damages. YOU HAVE BEEN WARNED.


Chris Kuethe <chris.kuethe [at]>. There is a project page for gpsd here[1].




gpsd(8), gps(1), libgps(3), libgpsd(3), srec(5).