ubuntu 12.04 整合了Linux pps driver。听说和 NTPD 配合能得到很好的系统时间。

于是就在板子上装了个ubuntu server 12.04 试试,参看:

1.安装ubuntu server 12.04

2.Trimble GPS 链接串口/dev/ttyUSB1 9600 8N1 NMEA GGA协议 only

(配置串口:

#stty -F /dev/ttyUSB1 -a (查看)

#stty -F /dev/ttyUSB1 ospeed 4800 ispeed 4800 cs8 -cstopb

-icrnl -icanon -isig -echo -echoe -clocal(设置)

)

(一旦发现设备,串口自动设置:创建文件/etc/udev/rules/10-yourname.rules

# Trimble GPS setting:

# NMEA on ttyUSB1 9600 8n1

SUBSYSTEM=="pps", MODE="0664" GROUP="tty"

KERNEL=="ttyUSB0", RUN+="/bin/stty -F /dev/ttyUSB0 ospeed 9600

ispeed 9600 parenb parodd cs8 -cstopb -icrnl -icanon -isig -echo

-echoe -clocal"

KERNEL=="ttyUSB1", RUN+="/bin/stty -F /dev/ttyUSB1 ospeed 9600

ispeed 9600 -parenb cs8 -cstopb -icrnl -icanon -isig -echo -echoe

-clocal"

KERNEL=="ttyUSB1", SYMLINK+="gps1"

)

3.pps 信号 接 并口ACK。 没串口了,只能用并口。听说并口比串口响应快。

4.载入 Linux pps driver:

# modprobe parport_pc

# modprobe pps_parport clear_wait=0

可使用 modinfo pps_parport 查看模块的参数。 assert

是上升沿,clear是下降沿

#ls /dev 看到设备 /dev/pps0

5. 安装工具ppstool:

解压: #tar -xzvf *.gz

编译安装:#make && make install

(可能你要装Linux头文件包 和编译工具:

#apt-get update

#apt-get upgrade

#apt-get install linux-headers-$(uname

-r)

#apt-get install make gc

)

注意: timepps.h 这个必须有, ntpd需要。不知道Linux kernel怎么搞的,没有此头文件。

检测:#ppstest /dev/pps0

trying PPS source "/dev/pps0"

found PPS source "/dev/pps0"

ok, found 1 source(s), now start fetching data...

source 0 - assert 1333040090.999603804, sequence: 8631 - clear

0.000000000, sequence: 0

source 0 - assert 1333040091.999709923, sequence: 8632 - clear

0.000000000, sequence: 0

source 0 - assert 1333040092.999797692, sequence: 8633 - clear

0.000000000, sequence: 0

source 0 - assert 1333040093.999884565, sequence: 8634 - clear

0.000000000, sequence: 0

6. ntpd编译安装,由于ubuntu的ntpd不带pps,只能自己编译

# ./configure --enable-all-clocks

# make

# make install

注意: config.h 中含有 #define

HAS_PPSAPI 1

7.

conf文件:/etc/ntp.conf

server

127.127.22.0 minpoll 3 maxpoll 3  # PPS ATOM

iburst

fudge

127.127.22.0 flag2 0

server

127.127.20.1 mode 18 prefer minpoll 3 maxpoll 3

fudge

127.127.20.1 time2 0.0000

driftfile

/var/lib/ntp/ntp.drift

8. 产生ntpd 的gps 设备

#ln -s /dev/ttyUSB1

/dev/gps1

9.调整系统时间,使之尽可能准。多运行几次。

#ntpdate

0.ca.pool.ntp.org

9. 运行ntpd

#ntpd -D 2 (debug mode 2) 显示

GGA信息.如果没有,看看串口有没有#cat /dev/ttyUSB1

10. ntptime

显示ok,没有Error

11. ntpq

-p

要有如下结果

# ntpq -pn

remote refid st

t when poll

reach delay offset jitter

==============================================================================

*127.127.20.1 .GPS. 0

l 52 64 377 0.000 0.516 0.011

o127.127.22.0 .PPS. 0

l 3 16 377 0.000 -0.001 0.001

但我就如论如何都没有这么好的结果:

# ntpq -p

remote  refid  st t when poll reach  delay

offset  jitter

==============================================================================

xGPS_NMEA(1)

.GPS.  0 l  44

64  377  0.000  -217.78

22.159

xPPS(0)

.PPS.  0 l  11

16  377  0.000  -177.46

4.882

12. degub:

a)有人说ntpd要运行一段时间才能算好时间。我给它3天,结果更糟。

b)修改conf:

server 127.127.22.0 minpoll 3

maxpoll 3  # PPS ATOM iburst

fudge 127.127.22.0 flag2 0

flag3 1

server 127.127.20.1 mode 18

prefer minpoll 3 maxpoll 3

fudge 127.127.20.1 time2

0.0000

driftfile

/var/lib/ntp/ntp.drift

还是那样糟。

c) 不用

driver 22 , 参照网站linux pps NTPD

修改参数,参照 type20, type22

试过各种参数,不好使。

d)不用ATOM PPS (22), 只用NMEA 内置的pps

修改conf:

server 127.127.20.1 mode 18

prefer minpoll 3 maxpoll 3

fudge 127.127.20.1 time2

0.0000flag1

1flag2

0flag3 1

driftfile

/var/lib/ntp/ntp.drift

结果等明天

还是不好用!

n 天后,不知道哪里出了问题,ntpd

就是不好用。改用chronyd:

详见下一篇

linux 路由表 pps,Linux PPS NTPD相关推荐

  1. linux路由表命令,Linux的路由表详细介绍

    Linux的路由表详细介绍 一 在Linux下执行route命令 [root@localhost backup]# route -n Kernel IP routing table Destinati ...

  2. linux 路由表 文件,Linux路由表

    Linux系统中可以定义从1-252个路由表,系统本身维护了4个路由表: table number Description 0 系统保留表 253 default表,没有指定的默认路由都放在这个表里面 ...

  3. linux路由表命令,linux下路由表详解

    主机想要发送数据的时候,参考的对象就是路由表. 如果两个不同网段的主机想要发送数据,经过的具体的经过: 1.查询IP数据包的目标IP地址,主机会查阅Ip数据包报头的目标IP地址. 2.查询是否存在与本 ...

  4. Linux路由表失效,linux路由表问题一则

    问题表现 10.10.1.109这台云主机(centos 2.6.32内核), 无法ping通另一台云主机:10.19.255.192 问题分析 1. route命令看路由表信息: [root@10- ...

  5. linux路由介绍,Linux的路由表详细介绍

    Linux的路由表详细介绍 一 在Linux下执行route命令[root@localhost backup]# route -nKernel IP routing tableDestination ...

  6. linux路由表命令

    转自此大神http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html 留在好查阅 linux 路由表维护 查看 Linux 内核路由表 使用 ...

  7. linux 路由表 的一些相关资料

    =============================================================================== linux 路由表维护 查看 Linux ...

  8. linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区

    路由表用于决定数据包从哪个网口发出,其主要判断依据是目标IP地址 Linux路由表其实有2个主要概念:按顺序走路由策略,在路由策略对应的路由表中匹配规则 路由策略(rule) 路由表(table) 查 ...

  9. Linux 路由表和静态路由

    路由表和静态路由 Linux 内核路由表 查看Linux内核路由表 使用下面的route 命令可以查看Linux 内核路由表. $ route Kernel IP routing table Dest ...

  10. 【博客611】linux路由表机制

    linux路由表机制 场景: linux是支持多路由表的我们可以通过创建不同的路由规则,在路由规则来挂载带有不同路由条目的路由表来定制化路由的匹配过程.并且路由规则的匹配条件可以由我们自由来决定,比如 ...

最新文章

  1. java显示位图_java – 大图标位图在通知中显示为白色方块?
  2. android 请求方式有哪些,Android中的几种网络请求方式详解
  3. linux下修改网卡接口名称
  4. linux命令查看cpu架构,Linux下如何查看CPU信息
  5. python中的特殊成员
  6. VS 2010的一些常用问题
  7. EntityFramework Core进行读写分离最佳实践方式,了解一下?
  8. [Java基础]类和接口的关系
  9. html5 字母索引,jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
  10. iOS开发隐藏tabBar的问题
  11. 省地县级联操作 http://www.popub.net/script/pcas.html
  12. dls 深度受限搜索java_JAVA深入学习(栈和队列)之栈
  13. 开局崩盘!IDEA 2020 无法启动的解决办法|赠送 IDEA 2020 新功能
  14. opencv3 与opencv2不同之处
  15. 中国支付清算发展简史
  16. 高一计算机会考英语作文,高一考试英语作文常考题目及范文
  17. android-Intent,Injector,Template,Adapter,Validation,Gesture,Game,Game Engine,Bluetooth...
  18. 改造家里的开关成为智能开关,保留原有开关控制,零火版,射频遥控器篇(二)
  19. 管理类书籍读后感(散落在外的那些)
  20. 基于JavaWeb+Mysql的网上销售管理系统

热门文章

  1. ubuntu 18.04中编译安装使用 lapack 示例
  2. kdm桌面设置Linux,Ubuntu 13.04手动修改KDM、KSPLASH主题
  3. simulink 汉明码 用法_汉明码的性能分析
  4. 数字水印处理的小小心得!!!
  5. iOS shareSDK分享 只分享到微信好友和微信朋友圈
  6. SQL Server 2008 概览(综述及三大新特性,冉冉毅马 译)
  7. 如何在 EtherScan 上读取智能合约
  8. Excel:做个单词默写本
  9. UI进阶之多线程(GCD)
  10. OWASP TOP 10-2021详解