linux pps chrony gpsd
(2012-03-30 03:37:06)
标签:
linuxppschronygpsdit |
分类: Linux设置 |
不知道哪里出了问题,ntpd 就是不好用。改用chronyd:
1)还是要有pps tool, 参见上篇( 要有 timepps.h, chrony 用)
2)装gpsd。 负责解析NMEA GGA 数据
#apt-get install gpsd
3) 运行: #gpsd -nND 2 /dev/ttyUSB1
4)编译安装 chrony
tar zxvf chrony-....gz
cd chrony../
./configure --prefix=/usr
make
make install
5)/etc/chrony/chrony.conf
refclock PPS /dev/pps0 lock NMEA
refclock SHM 0 offset 0.5 delay 0.1 refid NMEA noselect
keyfile /etc/chrony/chrony.keys
commandkey 1
driftfile /var/lib/chrony/chrony.drift
local stratum 1
# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0
# Dump measurements when daemon exits.
dumponexit
# Specify directory for dumping measurements.
dumpdir /var/lib/chrony
# ‘rtconutc’ - UTC
rtconutc
6)更新系统时间,多几次: #ntpdate 0.ca.pool.ntp.org
7)运行:#chronyd -d -f /etc/chrony/chrony.conf
main.c:353:(main)[29-12:14:49] chronyd version
1.27-pre1 starting
sys_linux.c:1035:(get_version_specific_details)[29-12:14:49]
Linux kernel major=3 minor=0
sys_linux.c:1093:(get_version_specific_details)[29-12:14:49]
hz=100 shift_hz=7 freq_scal2
reference.c:177:(REF_Initialise)[29-12:14:49] Frequency
-24.078 +/- 25.106 ppm read fromt
sources.c:827:(SRC_SelectSource)[29-12:15:36] Selected source
PPS0
8) 查询
#chronyc
chronyc> tracking
Reference ID :
80.80.83.48 (PPS0)
Stratum
: 1
Ref time (UTC) : Thu Mar 29 13:12:35
2012
System time :
73.198921204 seconds slow of NTP time
Last offset :
0.000004729 seconds
RMS offset
: 180.098373413 seconds
Frequency
: 24.951 ppm slow
Residual freq : -0.025 ppm
Skew
: 6.178
ppm
Root delay
: 0.000000 seconds
Root dispersion : 0.000275 seconds
Update interval : 14.8 seconds
Leap status :
Normal
chronyc> sources
210 Number of sources = 2
MS Name/IP address
Stratum Poll Reach LastRx
Last sample
===============================================================================
#* PPS0
0 4
377 7
-141us[ -170us] +/-
101us
#? NMEA
0 4
377 7
-34ms[
-34ms] +/- 53ms
结果好看多了。
9)自启动:
修改/etc/default/gpsd( 也可以运行#dpkg-reconfigure gpsd修改)
START_DAEMON="true"
GPSD_OPTIONS="-n" (这个很重要。他主动poll GPS端口。-b不要用,除非你知道必要,它禁止gpsd
发令到GPS。)
DEVICES="/dev/ttyUSB1"
USB
GPSD_SOCKET="/var/run/gpsd.sock"
chrony自启动:我的懒办法
安装ubuntu chrony
#apt-get install chrony
然后再到之前的文件夹
chrony
#make install
再把你的chrony.conf替换/etc/chrony/chrony.conf
【问题】记住pps0和ttyUSB1要先于gpsd,chrony好用
自动加载pps模块:
/etc/modules 加下行:
parport_pc
pps_parport clear_wait=0
前一篇:Linux PPS NTPD
后一篇:udev 擅自更改eth名称