gpsd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-users] Ublox EVK-M8T


From: Denny Page
Subject: Re: [gpsd-users] Ublox EVK-M8T
Date: Tue, 19 Sep 2017 12:54:54 -0700

> On Sep 18, 2017, at 21:10, Eric S. Raymond <address@hidden> wrote:
> 
> Denny Page <address@hidden>:
>> The first issue is that the gpsd auto-baud detection doesn’t appear
>> to work well with the unit. At 115200, gpsd will settle on 4800 if
>> the unit is in binary mode. It’s unclear why. This means that gpsd
>> without the -b option will work once, but fail the second time. For
>> the time being, I’ve locked the unit at 9600.
> 
> That is pretty strange.  What type does it think it recognizes?  Because it
> shouldn't lock to uBlox packets unless it sees the correct packet header, then
> finds a correct checksum for the implied payload.  How that match could happen
> at the wrong baud is pretty mysterious.

It doesn’t recognize a type. 

Starting condition is, unit set to 115200, port set to 115200, and gpsctl used 
to set binary mode.

The log file says:

Sep 19 08:43:56 k9 gpsd[10107]: gpsd:INFO: SER: opening GPS data source type 2 
at '/dev/ttyS2'
Sep 19 08:43:56 k9 gpsd[10107]: gpsd:INFO: SER: speed 115200, 8N1
Sep 19 08:43:56 k9 gpsd[10107]: gpsd:SPIN: SER: open(/dev/ttyS2) -> 6 in 
gpsd_serial_open()
Sep 19 08:43:56 k9 gpsd[10107]: gpsd:PROG: no probe matched…

After that, gpsd ends up sitting in a polling loop, with the port at 4800 baud, 
dropping everything it receives:

Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: polling 6
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: Read 16 chars to buffer offset 0 
(total 16): 00000000000000000000000000000000
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:SPIN: packet_get() fd 6 -> 16 (0)
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: 00000000: character '.' [00], 
GROUND_STATE -> GROUND_STATE
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: Character discarded, buffer 15 chars 
= 000000000000000000000000000000
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: 00000001: character '.' [00], 
GROUND_STATE -> GROUND_STATE
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: Character discarded, buffer 14 chars 
= 0000000000000000000000000000
…
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: 00000014: character '.' [00], 
GROUND_STATE -> GROUND_STATE
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: Character discarded, buffer 1 chars = 
00
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: 00000015: character '.' [00], 
GROUND_STATE -> GROUND_STATE
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: Character discarded, buffer 0 chars =
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: /dev/ttyS2 sent 16 new characters
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:RAW: packet sniff on /dev/ttyS2 finds type 
-1
Sep 19 19:15:35 k9 gpsd[11138]: gpsd:UNK: New data on /dev/ttyS2, not yet a 
packet

However, if the “-b” option is used to gpsd, gpsd correctly identifies u-blox 
on the second packet:

Sep 19 12:29:32 k9 gpsd[11238]: gpsd:INFO: SER: opening read-only GPS data 
source type 2 and at '/dev/ttyS2'
Sep 19 12:29:32 k9 gpsd[11238]: gpsd:INFO: SER: speed 115200, 8N1
Sep 19 12:29:32 k9 gpsd[11238]: gpsd:SPIN: SER: open(/dev/ttyS2) -> 6 in 
gpsd_serial_open()
Sep 19 12:29:32 k9 gpsd[11238]: gpsd:PROG: no probe matched...
…
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Read 90 chars to buffer offset 0 
(total 90): 
b5620106340098bf7b0e6112ffffaf0703dd3e4fe4ef8be76ce6966dfb16a801000000000000ffffffff0000000002000000730002124a6403003919b5620104120098bf7b0e810073003a0062003d002e0028001aefb5620120
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:SPIN: packet_get() fd 6 -> 90 (0)
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000000: character '.' [b5], 
GROUND_STATE -> UBX_LEADER_1
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000001: character 'b' [62], 
UBX_LEADER_1 -> UBX_LEADER_2
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000002: character '.' [01], 
UBX_LEADER_2 -> UBX_CLASS_ID
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000003: character '.' [06], 
UBX_CLASS_ID -> UBX_MESSAGE_ID
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000004: character '4' [34], 
UBX_MESSAGE_ID -> UBX_LENGTH_1
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000005: character '.' [00], 
UBX_LENGTH_1 -> UBX_LENGTH_2
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000006: character '.' [98], 
UBX_LENGTH_2 -> UBX_PAYLOAD
...
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000058: character '9' [39], 
UBX_PAYLOAD -> UBX_CHECKSUM_A
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000059: character '.' [19], 
UBX_CHECKSUM_A -> UBX_RECOGNIZED
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:IO: UBX: len 60
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Packet type 11 accepted 60 = 
b5620106340098bf7b0e6112ffffaf0703dd3e4fe4ef8be76ce6966dfb16a801000000000000ffffffff0000000002000000730002124a6403003919
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Packet discard of 60, chars remaining 
is 30 = b5620104120098bf7b0e810073003a0062003d002e0028001aefb5620120
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: /dev/ttyS2 sent 60 new characters
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:RAW: packet sniff on /dev/ttyS2 finds type 
11
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: switching to match packet type 11: 
b5620106340098bf7b0e6112ffffaf0703dd3e4fe4ef8be76ce6966dfb16a801000000000000ffffffff0000000002000000730002124a6403003919
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: switch_driver(u-blox) called...
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: selecting u-blox driver...
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Accepted packet on /dev/ttyS2.
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:INFO: /dev/ttyS2 identified as type 
u-blox, 1 sec @ 115200bps
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: => GPS: UBX class: 0a, id: 04, len: 
0, crc: 0e34
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:IO: SER: => GPS: b5620a0400000e34 FAILED
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:RAW: raw packet of type 11, 
60:b5620106340098bf7b0e6112ffffaf0703dd3e4fe4ef8be76ce6966dfb16a801000000000000ffffffff0000000002000000730002124a6403003919
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: UBX_NAV_SOL
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:DATA: NAVSOL: time=1505849372.00 lat=37.43 
lon=-122.20 alt=39.11 track=133.98 speed=0.01 climb=0.01 mode=3 status=1 used=18
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:DATA: packet type 11 from /dev/ttyS2 with 
{ONLINE|TIME|LATLON|ALTITUDE|SPEED|TRACK|CLIMB|STATUS|MODE|SPEEDERR|PACKET|DRIVER|CLEAR|REPORT|NTPTIME}
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:PROG: NTP: ntpshm_put(/dev/ttyS2,-20)  
1505849372.000000000 @  1505849373.104221744
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Read 20 chars to buffer offset 30 
(total 50): b5620104120098bf7b0e810073003a0062003d00
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:SPIN: packet_get() fd 6 -> 20 (0)
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000060: character '.' [b5], 
UBX_RECOGNIZED -> UBX_LEADER_1
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000061: character 'b' [62], 
UBX_LEADER_1 -> UBX_LEADER_2
...
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000084: character '.' [1a], 
UBX_PAYLOAD -> UBX_CHECKSUM_A
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: 00000085: character '.' [ef], 
UBX_CHECKSUM_A -> UBX_RECOGNIZED
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:IO: UBX: len 26
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Packet type 11 accepted 26 = 
b5620104120098bf7b0e810073003a0062003d002e0028001aef
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Packet discard of 26, chars remaining 
is 24 = b5620120100098bf7b0e6112ffffaf071207070000005848
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:RAW: /dev/ttyS2 is known to be u-blox
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: /dev/ttyS2 sent 26 new characters
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:RAW: packet sniff on /dev/ttyS2 finds type 
11
Sep 19 19:29:33 k9 gpsd[11238]: gpsd:UNK: Accepted packet on /dev/ttyS2.
…

The version of gpsd used for the above tests is git current as of this writing, 
with NMEA and u-blox drivers enabled:

k9 gpsd # gpsd -l
                                NMEA0183
n       b       c       *       u-blox
                        *       JSON slave driver
                                PPS
# n: mode switch, b: speed switch, c: rate switch, *: non-NMEA packet type.
# Socket export enabled.
# Shared memory export enabled.
# Time service features enabled.
# PPS enabled.

Denny




reply via email to

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