[LinuxPPS] pps stops when ntpd starts?
    Rodolfo Giometti 
    giometti at enneenne.com
       
    Tue Jun  9 17:36:48 CEST 2009
    
    
  
On Tue, Jun 09, 2009 at 10:13:26AM -0500, William S. Brasher wrote:
> 
> Strace of ppsldisc:
> 
> execve("/usr/sbin/ppsldisc", ["/usr/sbin/ppsldisc", "/dev/ttyS0"], [/* 27 
> vars */]) = 0
> [snip]
> 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
> [snip]
> 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 ...>
As you can see ldattach calls ioctl() while pps does not.
The problem can be in serial8250_set_termios() if CTS flow control is
disabled...
Can you please add a printk() into serial8250_set_ldisc() and into
serial8250_enable_ms() in drivers/serial/8250.c in order to see if the
functions are called or not and with which parameters' value?
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
    
    
More information about the LinuxPPS
mailing list