[LinuxPPS] pps stops when ntpd starts?

William S. Brasher billb958 at door.net
Tue Jun 9 17:13:26 CEST 2009


On Tue, 9 Jun 2009, Rodolfo Giometti wrote:

> On Tue, Jun 09, 2009 at 09:45:14AM -0500, William S. Brasher wrote:
> > 
> > I see the same problem here.  As soon as I start ntpd after running 
> > ldattach, ppstest begins to report timeouts, and ntpd fails to see a pps 
> > signal.  The serial interrupt count in /proc/interrupts continues to 
> > increase.
> 
> Can you please use strace on both ldattach and ppsldisc and report the
> output?
> 
> Ciao,
> 
> Rodolfo
> 
> -- 
> 
> GNU/Linux Solutions                  e-mail: giometti at enneenne.com
> Linux Device Driver                          giometti at linux.it
> Embedded Systems                     phone:  +39 349 2432127
> UNIX programming                     skype:  rodolfo.giometti
> 
> 


Strace of ppsldisc:

execve("/usr/sbin/ppsldisc", ["/usr/sbin/ppsldisc", "/dev/ttyS0"], [/* 27 
vars */]) = 0
brk(0)                                  = 0x804a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2908, ...}) = 0
mmap2(NULL, 2908, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb8019000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 at h\1\0004\0\0\0\224"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=7663109, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0xb8018000
mmap2(NULL, 1341008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xb7ed0000
mmap2(0xb8012000, 12288, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141) = 0xb8012000
mmap2(0xb8015000, 9808, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb8015000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0xb7ecf000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7ecf6c0, 
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, 
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb8012000, 8192, PROT_READ)   = 0
mprotect(0xb8038000, 4096, PROT_READ)   = 0
munmap(0xb8019000, 2908)                = 0
open("/dev/ttyS0", O_RDWR)              = 3
ioctl(3, TIOCSETD, [18])                = 0
pause( <unfinished ...>





And then, strace of ldattach:

execve("/usr/sbin/ldattach", ["ldattach", "-d", "18", "/dev/ttyS0"], [/* 
27 vars */]) = 0
brk(0)                                  = 0x804b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2908, ...}) = 0
mmap2(NULL, 2908, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fff000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 at h\1\0004\0\0\0\224"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=7663109, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0xb7ffe000
mmap2(NULL, 1341008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xb7eb6000
mmap2(0xb7ff8000, 12288, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141) = 0xb7ff8000
mmap2(0xb7ffb000, 9808, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ffb000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0xb7eb5000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7eb56c0, 
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, 
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7ff8000, 8192, PROT_READ)   = 0
mprotect(0xb801e000, 4096, PROT_READ)   = 0
munmap(0xb7fff000, 2908)                = 0
brk(0)                                  = 0x804b000
brk(0x806c000)                          = 0x806c000
open("/dev/ttyS0", O_RDWR|O_NOCTTY|O_LARGEFILE) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo 
...}) = 0
write(2, "ldattach:opened /dev/ttyS0\n"..., 27ldattach:opened /dev/ttyS0
) = 27
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo 
...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B4800 -opost -isig -icanon -echo 
...}) = 0
write(2, "ldattach:set to raw 0 ---: cflag="..., 39ldattach:set to raw 0 
---: cflag=0x8bc
) = 39
ioctl(3, TIOCSETD, [18])                = 0
write(2, "ldattach:line discipline set to 1"..., 35ldattach:line 
discipline set to 18
) = 35
pause( <unfinished ...>





More information about the LinuxPPS mailing list