[LinuxPPS] The final step...

Rodolfo Giometti giometti at enneenne.com
Thu Sep 24 18:08:13 CEST 2009


On Thu, Sep 24, 2009 at 04:59:39PM +0100, Graeme Hilton wrote:
> From: giometti at enneenne.com [mailto:giometti at enneenne.com]:
> On Thu, Sep 24, 2009 at 04:13:09PM +0100, Graeme Hilton wrote:
> > Rodolfo Giometti wrote:
> > 
> > Regarding the serial port, which version of LinuxPPS are you referring
> > to?
> > 
> > This is in a 2.6.31 kernel (from Fedora), with your series of 9 patches
> > applied and all the PPS options enabled.
> > 
> > I have used modules pps_core and pps_ldisc.  "ldattach 18 /dev/ttyS0" and
> > S2.
> > 
> > Do you need any more information?
> 
> Yes, you should enable PPS debugging messages and verify if the serial
> IRQs are arriving.
> -------
> 
> I've got PPS debug enabled in the kernel and I can see the interrupt count
> going up in /proc/interrupts:
> 
> Plenty of PPS events logged in /var/log/messages:
> Sep 24 16:56:24 dhcp-187-049 kernel: PPS event at 4457951
> Sep 24 16:56:25 dhcp-187-049 kernel: PPS event at 4458951
> Sep 24 16:56:26 dhcp-187-049 kernel: PPS event at 4459951
> Sep 24 16:56:27 dhcp-187-049 kernel: PPS event at 4460951
> Sep 24 16:56:28 dhcp-187-049 kernel: PPS event at 4461951
> 
> [user at dhcp-187-049 ~]$ cat /proc/interrupts | grep serial
>    4:          1          0   IO-APIC-edge      serial
>   17:       7309       7398   IO-APIC-fasteoi   serial
> [user at dhcp-187-049 ~]$ cat /proc/interrupts | grep serial
>    4:          1          0   IO-APIC-edge      serial
>   17:       7310       7400   IO-APIC-fasteoi   serial
> [user at dhcp-187-049 ~]$ cat /proc/interrupts | grep serial
>    4:          1          0   IO-APIC-edge      serial
>   17:       7315       7400   IO-APIC-fasteoi   serial

Yes... IRQs are arriving... did you enabled CONFIG_PPS_IRQ_EVENTS into
your kernel configuration, didn't you?

If you disable CONFIG_PPS_IRQ_EVENTS are you still continuing in
receiving null timestamps?

> What can I do to track this down a bit further?

You should put a printk() into irq_save_ts() functions in order to
verify if getnstimeofday() is called. Warning: just enable the
printk() for the serial IRQs only or your system will became
unusqable!

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
Freelance ICT Italia - Consulente ICT Italia - www.consulenti-ict.it



More information about the LinuxPPS mailing list