[LinuxPPS] Some debug
    Rodolfo Giometti 
    giometti at enneenne.com
       
    Thu Sep 18 23:13:19 CEST 2008
    
    
  
On Thu, Sep 18, 2008 at 09:08:53AM -0700, Luca Bertagnolio wrote:
> Here is some debug info I have just gathered.
> 
> The modules are automatically loaded upon machine startup:
> 
> tix ~ # lsmod
> Module                  Size  Used by
> pps_ldisc               2592  0
> pps_core                7644  1 pps_ldisc
> 
> Loading ppsldisc:
> 
> tix ~ # /usr/local/sbin/ppsldisc /dev/ttyS1 &
> 
> source serial1 got cdev (253:0)
> new PPS source serial1 at ID 0
> PPS source #0 "/dev/ttyS1" added
> PPS event on source 0 at 1221752734.126042132
> capture assert seq #1 for source 0
> [STDev] PPS assert at 53257 on source #0
Here you are receiving the PPS signal.
Also you are using old code! Please use __latest__ LinuxPPS release,
no debugging for old code.
> PPS event on source 0 at 1221752734.326095768
> capture clear seq #1 for source 0
> [snip]
> 
> Running ppstest:
> 
> tix ~ # ppstest /dev/pps0
> 
> PPS_GETCAP: source 0
> PPS_GETPARAMS: source 0
> PPS_SETPARAMS: source 0
> time format unspecified (33)
> PPS_FETCH: source 0
> timeout 3.000000000
> PPS event on source 0 at 1221752925.181384265
> capture assert seq #192 for source 0
> [STDev] PPS assert at 101021 on source #0
Still receiving...
> PPS_FETCH: source 0
> timeout 3.000000000
> [snip]
> 
> Starting ntpd, first issues:
> 
> tix ~ # /etc/init.d/ntpd start
> 
> PPS_GETCAP: source 0
> PPS_SETPARAMS: source 0
> PPS_GETCAP: source 0
> PPS_SETPARAMS: source 0
> PPS_FETCH: source 0
> timeout 0.000000000
> PPS_FETCH: source 0
Whatch out, no more PPS signals! Why? Maybe someone disabled the IRQs
on your serial port?
> [snip]
> Whoops! And even after stopping ntpd things remain the same:
> 
> tix ~ # /etc/init.d/ntpd stop
> 
> PPS_FETCH: source 0
> timeout 0.000000000
> PPS_FETCH: source 0
> [snip]
Still not receiving...
> So clearly starting ntpd messes up PPS API somewhere.
> 
> Killing ppsldisc and restarting it cures the problem, though.  And funnily enough, now ntpd seems to be working fine!
> 
> PPS event on source 0 at 1221753829.351403521
> capture assert seq #85 for source 0
> [STDev] PPS assert at 327086 on source #0
Now you got again the PPS signal.
> Any info on what might cause the issue with ntpd and ppsldisc?  What more can I debug, and how?
Something (evil) disables the IRQs and/or PPS signals after stopping
NTPD.
Please, do the same test using the __latest__ LinuxPPS patch
release. Also you may wish enabling the CONFIG_PPS_IRQ_EVENTS kernel
option for better performance. :)
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