我无法在Ubuntu18.04.3LTS(Linux4.15.0-74-泛型)上配置NTP。作为同步的一个来源,我想使用来自GPS模块的NMEA + PPS。
全球定位系统模块通过USB连接,使用SILABS CP2102接口转换器:
Bus 002 Device 003: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
PPS GPS接收机信号连接到转换器的DCD线路。获取NMEA数据并在NTP中使用它们没有问题。使用PPS信号出现了一个问题。我做ldattach PPS / dev / ttyUSB0:
[ 1815.641450] pps_ldisc: PPS line discipline registered
[ 1815.641812] pps pps0: new PPS source usbserial2
[ 1815.641820] pps pps0: source "/dev/ttyUSB0" added
相应的pps0节点出现在/ dev中。一切似乎都很好,但只是不起作用。
ppswatch /dev/pps0
trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
time_pps_fetch() error -1 (Connection timed out)
time_pps_fetch() error -1 (Connection timed out)
因此,NTP没有看到PPS信号。在内核中,支持似乎包括:
# HSI clients
#
CONFIG_HSI_CHAR=m
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PPS_CLIENT_GPIO=m
加载ldattach后的pps_ldisc:
lsmod|grep pps
pps_ldisc 16384 1
pps_core 20480 2 pps_ldisc,ptp
怎么才能找到问题?去哪儿找?
发布于 2020-10-28 09:29:10
首先,需要使/dev/pps0 0工作。如果它不起作用的话,apt install pps-tools; ppstest /dev/pps0
。确保/dev/pps0 0正在使用正确的源:dmesg | grep pps
[ 5.358856] pps pps0: new PPS source pps.-1
[ 5.358947] pps pps0: Registered IRQ 349 as PPS source
ntp的nmea驱动程序需要"/dev/ GPS %d“/* GPS串行设备//dev/gpspps%d”/ PPSAPI设备覆盖*/ ->符号链接到/dev/pps0 0。
还要确保在ntp.conf中使用正确的设置,例如https://www.eecis.udel.edu/~mills/ntp/html/drivers/driver20.html server 127.127.20.0 mode 88 maxpoll 1 prefer true fudge 127.127.20.0 time1 0 flag1 1 refid GPS
其中模式88以115200 bps的速度运行并处理$GPZDA或$GPZDG
https://askubuntu.com/questions/1204702
复制相似问题