[LinuxPPS] Unexpected behavior
linuxpps.1.orinc at spamgourmet.com
linuxpps.1.orinc at spamgourmet.com
Thu Sep 7 21:34:31 CEST 2017
Hi.
I'm attempting to use LinuxPPS with GPSD. My hardware environment is an
embedded device with a u-blox NEO-M8T GPS module connected to a Xilinx Zynq
FPGA, which contains, in part, logic equivalent to a 16550 UART. The
(inverted) output of the GPS module's PPS pin (TIMEPULSE) is connected, via
programmable logic, to the DCDn input of the UART. The width of the GPS
module's PPS output pulse is 100 ms. The UART driver is the standard Linux
8250 module.
The OS is Ubuntu 14.04 LTS.
My kernel (4.4) configuration looks like this in menuconfig:
-*- PPS support
[*] PPS debugging messages
*** PPS clients support ***
<M> Kernel timer client (Testing client, use for debug)
<M> PPS line discipline
<M> PPS client using GPIO
(I added the GPIO client selection while trying to debug things - it's not
really necessary).
When I run GPSD as a foreground application, as root, with this command line
gpsd -D 2 -N -n /dev/ttyS0
I get output like this:
root at device# gpsd -D 2 -N -n /dev/ttyS0
gpsd:INFO: launching (Version 3.9)
gpsd:INFO: listening on port gpsd
gpsd:ERROR: unable to connect to the DBUS system bus
gpsd:INFO: NTPD ntpd_link_activate: 1
gpsd:INFO: stashing device /dev/ttyS0 at slot 0
gpsd:INFO: opening GPS data source type 2 at '/dev/ttyS0'
gpsd:INFO: speed 115200, 8N1
gpsd:INFO: speed 9600, 8O1
gpsd:INFO: KPPS checking /sys/devices/virtual/pps/pps0/path, /dev/ttyS0
gpsd:INFO: KPPS caps 1133
gpsd:WARN: KPPS kernel PPS will be used
gpsd:INFO: KPPS cycle: -13577253, duration: -13577253 @ 1504801908.118491036
gpsd:INFO: PPS cycle: -13577121, duration: -13577121 @ 1504801908.118623
gpsd:INFO: KPPS cycle: -13477257, duration: 99996 @ 1504801908.218487449
gpsd:INFO: KPPS cycle: 999985, duration: 899989 @ 1504801909.118475719
gpsd:INFO: KPPS cycle: 999987, duration: 99997 @ 1504801909.218473536
gpsd:INFO: speed 115200, 8N1
gpsd:INFO: gpsd_activate(): activated GPS (fd 5)
gpsd:INFO: device /dev/ttyS0 activated
gpsd:INFO: running with effective group ID 20
gpsd:INFO: running with effective user ID 65534
gpsd:INFO: startup at 2017-09-07T16:31:49.000Z (1504801909)
gpsd:INFO: /dev/ttyS0 identified as type Generic NMEA (0.004399 sec @
115200bps)
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PASH inv format*28\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PGRM inv format*2A\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PSRF inv format*35\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PFEC inv format*32\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PTNL inv format*24\x0d\x0a"
gpsd:INFO: KPPS cycle: 999984, duration: 899986 @ 1504801910.118459378
gpsd:INFO: KPPS cycle: 999984, duration: 99997 @ 1504801910.218456853
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PFEC inv format*32\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PASH inv format*28\x0d\x0a"
gpsd:WARN: unknown sentence: "$GNTXT,01,01,01,PMTK inv format*20\x0d\x0a"
gpsd:INFO: KPPS cycle: 999990, duration: 899993 @ 1504801911.118449218
gpsd:INFO: KPPS cycle: 999988, duration: 99994 @ 1504801911.218444104
gpsd:INFO: KPPS cycle: 999987, duration: 899992 @ 1504801912.118435452
gpsd:INFO: KPPS cycle: 999994, duration: 100002 @ 1504801912.218437502
gpsd:INFO: KPPS cycle: 999985, duration: 899983 @ 1504801913.118419919
gpsd:WARN: PPS TIOCMIWAIT returns unchanged state, ppsmonitor sleeps 10
gpsd:INFO: KPPS cycle: 10999840, duration: 0 @ 1504801923.218276895
gpsd:INFO: KPPS cycle: 10999844, duration: 899987 @ 1504801924.118263110
gpsd:INFO: KPPS cycle: 999993, duration: 100005 @ 1504801924.218269096
gpsd:INFO: KPPS cycle: 999991, duration: 899985 @ 1504801925.118253627
gpsd:INFO: KPPS cycle: 999982, duration: 99996 @ 1504801925.218250340
gpsd:INFO: KPPS cycle: 999985, duration: 899988 @ 1504801926.118238127
gpsd:INFO: KPPS cycle: 999985, duration: 99996 @ 1504801926.218234810
gpsd:INFO: KPPS cycle: 999980, duration: 899983 @ 1504801927.118217500
gpsd:INFO: KPPS cycle: 999983, duration: 99999 @ 1504801927.218217300
gpsd:WARN: PPS TIOCMIWAIT returns unchanged state, ppsmonitor sleeps 10
gpsd:INFO: KPPS cycle: 10999855, duration: 0 @ 1504801938.118072112
gpsd:INFO: KPPS cycle: 10999852, duration: 99996 @ 1504801938.218068912
gpsd:INFO: KPPS cycle: 999986, duration: 899989 @ 1504801939.118057146
gpsd:INFO: KPPS cycle: 999989, duration: 100000 @ 1504801939.218057402
gpsd:INFO: KPPS cycle: 999987, duration: 899986 @ 1504801940.118043148
gpsd:INFO: KPPS cycle: 999981, duration: 99994 @ 1504801940.218037971
gpsd:INFO: KPPS cycle: 999988, duration: 899993 @ 1504801941.118030528
gpsd:INFO: KPPS cycle: 999994, duration: 100000 @ 1504801941.218031252
gpsd:INFO: KPPS cycle: 999986, duration: 899985 @ 1504801942.118016036
gpsd:WARN: PPS TIOCMIWAIT returns unchanged state, ppsmonitor sleeps 10
The expected duration is, of course, 100 ms, and every second KPPS cycle
report matches that expectation. But in between the expected duration
reports are reports claiming a 900 ms duration, and then the TIOCMIWAIT
warnings, which suggest that GPSD is using user-space PPS instead of KPPS.
While GPSD is running, I can cat the pps assert and clear sysfs files, which
seem to return reasonable values.
root at device:/sys/devices/virtual# while true; do date; cat pps/pps0/assert
pps/pps0/clear; sleep 1; done
1504802767.106082242#321
1504802767.206077443#321
Thu Sep 7 16:46:07 UTC 2017
1504802767.106082242#321
1504802767.206077443#321
Thu Sep 7 16:46:08 UTC 2017
1504802768.106068935#322
1504802768.206063338#322
Thu Sep 7 16:46:09 UTC 2017
1504802769.106056216#323
1504802769.206048951#323
Thu Sep 7 16:46:10 UTC 2017
1504802770.106042567#324
1504802770.206030037#324
Thu Sep 7 16:46:11 UTC 2017
1504802771.106029770#325
1504802771.206027917#325
Thu Sep 7 16:46:12 UTC 2017
1504802772.106015086#326
1504802772.206013074#326
Thu Sep 7 16:46:13 UTC 2017
1504802773.105998013#327
1504802773.205995257#327
Thu Sep 7 16:46:14 UTC 2017
1504802774.105984688#328
1504802774.205984140#328
Thu Sep 7 16:46:15 UTC 2017
1504802775.105970223#329
1504802775.205972660#329
When I kill GPSD (SIGINT, via <ctrl>-c), the KPPS sysfs files disappear. I'm
not sure if that's significant, and it isn't a problem.
My first question, then, is - does it appear that KPPS is functioning
correctly? If yes, I'll try the GPSD guys next. If no, then I will need some
help in troubleshooting.
Thanks in advance,
-Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.linuxpps.org/pipermail/discussions/attachments/20170907/24e2f8c1/attachment-0002.html>
More information about the discussions
mailing list