[LinuxPPS] Can't get /dev/pps0 to be a pps source, and a lot of other problems

MasonCide forensic at milwpc.com
Sat Nov 10 07:01:09 CET 2007


I haven't tried a new linuxpps version for a while, and I almost have the 
2.6.22-rc6 patch working.  I can't quite tell what's wrong.  Here is some 
info:

debian3:/usr/src/linux/Documentation/pps# ./ppsctl /dev/ttyS0 enable

debian3:/home/tom# ls /dev/pps0
debian3:/home/tom# ls: /dev/pps0: No such file or directory

debian3:/home/tom# mknod -m 0664 /dev/pps0 c 253 0
debian3:/home/tom# chown root:dialout /dev/pps0 

debian3:/usr/src/linux/Documentation/pps# ./ppsctl /dev/pps0 enable
open: No such device or address
debian3:/usr/src/linux/Documentation/pps# ls /dev/pps0
/dev/pps0

debian3:/usr/src/linux/Documentation/pps# ./ppstest /dev/ttyS0
trying PPS source "/dev/ttyS0"
found PPS source #0 "serial0" on "/dev/ttyS0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1194672654.139386485, sequence: 8795 - clear  
1194672653.239333937, sequence: 8794
source 0 - assert 1194672654.139386485, sequence: 8795 - clear  
1194672654.239400853, sequence: 8795
source 0 - assert 1194672655.139444453, sequence: 8796 - clear  
1194672654.239400853, sequence: 8795
source 0 - assert 1194672655.139444453, sequence: 8796 - clear  
1194672655.239453587, sequence: 8796
source 0 - assert 1194672656.139501810, sequence: 8797 - clear  
1194672655.239453587, sequence: 8796
source 0 - assert 1194672656.139501810, sequence: 8797 - clear  
1194672656.239526288, sequence: 8797
source 0 - assert 1194672657.139560123, sequence: 8798 - clear  
1194672656.239526288, sequence: 8797
source 0 - assert 1194672657.139560123, sequence: 8798 - clear  
1194672657.239566562, sequence: 8798
source 0 - assert 1194672658.139617412, sequence: 8799 - clear  
1194672657.239566562, sequence: 8798
source 0 - assert 1194672658.139617412, sequence: 8799 - clear  
1194672658.239636633, sequence: 8799

debian3:/usr/src/linux/Documentation/pps# ./ppstest /dev/pps0
trying PPS source "/dev/pps0"
no available PPS source in the system

debian3:/usr/src/linux/Documentation/pps# uname -r
2.6.22-11092007ppsnewapi

uname -a
Linux debian3 2.6.22-11092007ppsnewapi #1 SMP Fri Nov 9 17:25:22 CST 2007 i686 
GNU/Linux

ntp-4.2.4.p4

debian3:/home/tom# tail -f /var/log/syslog
Nov  9 23:42:29 debian3 kernel: pps_core: capture clear seq #9490 for source 0
Nov  9 23:42:29 debian3 kernel: 8250: serial0: PPS clear event at 950618 on 
source #0
Nov  9 23:42:30 debian3 kernel: pps_core: capture assert seq #9491 for source 
0
Nov  9 23:42:30 debian3 kernel: 8250: serial0: PPS assert event at 950708 on 
source #0
Nov  9 23:42:30 debian3 kernel: pps_core: capture clear seq #9491 for source 0
Nov  9 23:42:30 debian3 kernel: 8250: serial0: PPS clear event at 950718 on 
source #0
Nov  9 23:42:31 debian3 kernel: pps_core: capture assert seq #9492 for source 
0
Nov  9 23:42:31 debian3 kernel: 8250: serial0: PPS assert event at 950808 on 
source #0

... ... ...

Nov  9 23:42:34 debian3 ntpd[25670]: ntpd 4.2.4p4 at 1.1520-o Sat Nov 10 03:54:25 
UTC 2007 (2)
Nov  9 23:42:34 debian3 ntpd[25671]: precision = 1.000 usec
Nov  9 23:42:34 debian3 ntpd[25671]: ntp_io: estimated max descriptors: 1024, 
initial socket boundary: 16
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #0 wildcard, 
0.0.0.0#123 Disabled
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #1 
wildcard, ::#123 Disabled
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #2 lo, ::1#123 
Enabled
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #3 eth0, 
fe80::20e:a6ff:fe2b:cddf#123 Enabled
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #4 lo, 
127.0.0.1#123 Enabled
Nov  9 23:42:34 debian3 ntpd[25671]: Listening on interface #5 eth0, 
192.168.67.111#123 Enabled
Nov  9 23:42:34 debian3 ntpd[25671]: kernel time sync status 0040
Nov  9 23:42:34 debian3 ntpd[25671]: refclock_nmea: found GPS 
source "/dev/gps0"
Nov  9 23:42:34 debian3 ntpd[25671]: refclock_nmea: found PPS 
source "/dev/gps0"
Nov  9 23:42:34 debian3 kernel: pps_core: sys_time_pps_getcap: source 5
Nov  9 23:42:34 debian3 ntpd[25671]: refclock_nmea: time_pps_getcap failed: No 
such device
Nov  9 23:42:34 debian3 ntpd[25671]: configuration of 127.127.20.0 failed
Nov  9 23:42:35 debian3 kernel: pps_core: capture assert seq #9496 for source 
0
Nov  9 23:42:35 debian3 kernel: 8250: serial0: PPS assert event at 951208 on 
source #0
Nov  9 23:42:35 debian3 ntpd[25671]: frequency initialized 78.495 PPM 
from /var/lib/ntp/drift
Nov  9 23:42:35 debian3 ntpd[25671]: logging to file /var/log/ntpd.log
Nov  9 23:42:35 debian3 kernel: pps_core: capture clear seq #9496 for source 0
Nov  9 23:42:35 debian3 kernel: 8250: serial0: PPS clear event at 951218 on 
source #0
Nov  9 23:42:36 debian3 kernel: pps_core: capture assert seq #9497 for source 
0
Nov  9 23:42:36 debian3 kernel: 8250: serial0: PPS assert event at 951308 on 
source #0
Nov  9 23:42:36 debian3 kernel: pps_core: capture clear seq #9497 for source 0
Nov  9 23:42:36 debian3 kernel: 8250: serial0: PPS clear event at 951318 on 
source #0
Nov  9 23:42:37 debian3 kernel: pps_core: capture assert seq #9498 for source 
0
Nov  9 23:42:37 debian3 kernel: 8250: serial0: PPS assert event at 951408 on 

end syslog

Debugging pps is enabled in the kernel.

I put this 

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

in

/etc/udev/udev.conf

Did 

/etc/init.d/udev restart

Got a clean compile on the:

debian> pps# /usr/src/linux/Documentation/pps

tools, 

Got a clean patch on the NMEA driver with the latest patch, using:

ntp-4.2.4p4

./configure --disable-all-clocks --disablel-parse-clocks --enable-NMEA --enable-LOCAL-CLOCK --enable-linuxcaps

The configure script indicates, for better or worse, I'm not sure, timex.h was 
present, but would not compile

I tried 
timex.h 
from 
/usr/src/linux/asm-i386/timex.h
but no go.

Make finished.

I just want ntpd to work with my GPS on driver 20.

ntpd.log:

9 Nov 23:42:35 ntpd[25671]: system event 'event_restart' (0x01) 
status 'sync_alarm, sync_unspec, 1 event, event_unspec' (0xc010)
 9 Nov 23:42:36 ntpd[25671]: peer 192.168.67.112 event 'event_reach' (0x84) 
status 'unreach, conf, 1 event, event_reach' (0x8014)
 9 Nov 23:42:37 ntpd[25671]: peer 192.168.67.105 event 'event_reach' (0x84) 
status 'unreach, conf, 1 event, event_reach' (0x8014)
 9 Nov 23:42:38 ntpd[25671]: peer 208.75.88.4 event 'event_reach' (0x84) 
status 'unreach, conf, 1 event, event_reach' (0x8014)
 9 Nov 23:42:39 ntpd[25671]: peer 64.246.40.39 event 'event_reach' (0x84) 
status 'unreach, conf, 1 event, event_reach' (0x8014)
 9 Nov 23:45:47 ntpd[25671]: system event 'event_peer/strat_chg' (0x04) 
status 'sync_alarm, sync_ntp, 2 events, event_restart' (0xc621)
 9 Nov 23:45:47 ntpd[25671]: synchronized to 192.168.67.112, stratum 1
 9 Nov 23:45:47 ntpd[25671]: time reset -0.193077 s
 9 Nov 23:45:47 ntpd[25671]: kernel time sync status change 0001
 9 Nov 23:45:47 ntpd[25671]: system event 'event_clock_reset' (0x05) 
status 'sync_alarm, sync_unspec, 3 events, event_peer/strat_chg' (0xc$ 9 Nov 
23:46:02 ntpd[25671]: peer 192.168.67.105 event 'event_reach' (0x84) 
status 'unreach, conf, 2 events, event_reach' (0x8024)
 9 Nov 23:46:13 ntpd[25671]: peer 208.75.88.4 event 'event_reach' (0x84) 
status 'unreach, conf, 2 events, event_reach' (0x8024)
 9 Nov 23:46:30 ntpd[25671]: peer 64.246.40.39 event 'event_reach' (0x84) 
status 'unreach, conf, 2 events, event_reach' (0x8024)
 9 Nov 23:46:47 ntpd[25671]: peer 192.168.67.112 event 'event_reach' (0x84) 
status 'unreach, conf, 2 events, event_reach' (0x8024)
 9 Nov 23:49:17 ntpd[25671]: system event 'event_peer/strat_chg' (0x04) 
status 'sync_alarm, sync_ntp, 4 events, event_clock_reset' (0xc645) 9 Nov 
23:49:17 ntpd[25671]: synchronized to 192.168.67.105, stratum 1
 9 Nov 23:49:17 ntpd[25671]: system event 'event_sync_chg' (0x03) 
status 'leap_none, sync_ntp, 5 events, event_peer/strat_chg' (0x654)
 9 Nov 23:49:17 ntpd[25671]: system event 'event_peer/strat_chg' (0x04) 
status 'leap_none, sync_ntp, 6 events, event_sync_chg' (0x663)

end log

It works perfectly, except for the local GPS on 127.127.20.0, which was 
working with linuxpps for several months.  I strongly encourage Rodolfo and 
the rest of the crew to get this project where it needs to be.  It's almost 
there.  

Thanx for the help.

Tom 
-- 

He who exalts man's intellect makes himself laughing stock for The Sons of 
God.



More information about the LinuxPPS mailing list