summaryrefslogtreecommitdiff
path: root/gpsflash.1
blob: 9cd9de9d2840c8cb26021cc5b9c12ed2733d84cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GPSFLASH" 1 "" "" ""
.SH NAME
gpsflash \- 2-stage firmware loader for GPS chipsets
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 9
\fBgpsflash\fR [\-n] [\-l\ \fIloader\-file\fR] \-f\ \fIfirmware\-file\fR {\fItty\fR}
.ad
.hy

.SH "DESCRIPTION"

.PP
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\&.

.PP
For operation, this program requires a flashloader binary (found by default in a file named \fIdlgsp2\&.bin\fR) 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\&.

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

.PP
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)\&.

.PP
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\&.

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

.PP
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\&. \fIEXPERIMENT AT YOUR OWN RISK\&.\fR 

.PP
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 \fBobjdump\fR(1), from the GNU binutils to convert it to S\-records\&.

.PP
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"\&.

.PP
This program emits progress messages to standard output\&.

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

.SH "BUGS AND LIMITAIONS"

.RS
.Sh "Warning"

.PP
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\&.

.RE

.SH "SEE ALSO"

.PP
 \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBsrec\fR(5)\&.

.SH "AUTHOR"

.PP
Chris Kuethe <chris\&.kuethe@gmail\&.com>\&. There is a project page for gpsd  here: \fIhttp://gpsd.berlios.de/\fR\&.