gpsd-dev
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]