[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gpsd-dev] Snap 3.15 shipped as promised; things to do next
From: |
Eric S. Raymond |
Subject: |
[gpsd-dev] Snap 3.15 shipped as promised; things to do next |
Date: |
Wed, 3 Jun 2015 10:23:30 -0400 (EDT) |
I've just shipped 3.15 to get the fix for the following crash bug out
the door:
Using GPSd 3.14, if it is told to read TTY device, and then a USB GPS device
is added, and then the USB device is removed, GPSd exits. I had seen others
talk about this but never found an answer. The work around I found was the
attached patch. I had it as a new command line option, but removed that
part after reading the hacking guidelines.
Tested this way:
Device on /dev/ttyS4
gpsdctl add /dev/ttyUSB1
GPSd can be seen polling both devices
Physically remove USB device
GPSd continues processing ttyS4, removes ttyUSB1
Device on /dev/ttyS4
Add device on /dev/ttyUSB1
gpsdctl remove /dev/ttyS4
Physically remove USB device
GPSd waits on select()
gpsdctl add /dev/ttyS4
GPSd starts processing ttyS4, removes ttyUSB1
Insert USB device
gpsdctl add /dev/ttyUSB1
GPSd polls both devices
I did notice that if USB1 is the last device left in the list, and the USB
is
pulled, GPSd does not syslog the message it was removed until a new device
(like ttyS4) is added back in. Then the syslog message shows up.
The reason for this is some embedded cellular modules have embedded GPS.
Sometimes the modules reset without notice, so the device is gone from the
USB
stack before a udev script can catch it and send a "gpsdctl remove xxxx",
and
then GPSd exits.
Unfortunately, this emergency fix disables reconect to devices that
have timed out. Wht's really needed is to figure out *why* gpsd is
exiting under these circumstances
Brian T., would you be able to work with me on developing a script to
reproduce this problem? If we runit at a high enough debug level I
think something will shake loose.
Other changes are relatively minor:
Fix a rare crash bug related to devices becomin inaccessible while
timed out. Accept NMEA 4.1 GSV sententences with the trailing
signal-ID field. Fixed incorrect decode of south latitudes in AIS
Type 17 messages. splint has been retired; this removes almost
2KLOC of annotations. chrpath is no longer a build
dependency. Corrected Beidou/QZNSS display in the Python clients so
the graphics don't look like SBAS.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
It would be thought a hard government that should tax its people one tenth
part. -- Benjamin Franklin
- [gpsd-dev] Snap 3.15 shipped as promised; things to do next,
Eric S. Raymond <=