[LinuxPPS] kernel does not see PPS on serial port

Cirilo Bernardo cirilo.bernardo at gmail.com
Fri Mar 7 12:14:28 CET 2008


On Fri, Mar 7, 2008 at 9:07 PM, Rodolfo Giometti <giometti at enneenne.com> wrote:
> On Fri, Mar 07, 2008 at 10:49:54AM +0100, LICHTENBERGER Janos wrote:
[snip]
>  > root at whistler:~# /usr/src/linuxpps/Documentation/pps/ppsctl /dev/ttyS0 enable
>  > root at whistler:~# cat /proc/interrupts
>  >            CPU0       CPU1
>  >   0:        250         23   IO-APIC-edge      timer
>  >   1:          1       3673   IO-APIC-edge      i8042
>  >   2:          0          0    XT-PIC-XT        cascade
>  >   4:          0          2   IO-APIC-edge
>  >   5:          0          0   IO-APIC-fasteoi   ohci_hcd:usb1, Ensoniq
>  > AudioPCI
>  >   7:          1          0   IO-APIC-edge      parport0
>  >   8:          0          3   IO-APIC-edge      rtc
>  >   9:          0          0   IO-APIC-edge      acpi
>  >  10:          5      26629   IO-APIC-fasteoi   ehci_hcd:usb2, sata_nv,
>  > firewire_ohci
>  >  11:          9      25214   IO-APIC-fasteoi   HDA Intel, eth0
>  >  12:         38      61649   IO-APIC-edge      i8042
>  >  14:         15      41297   IO-APIC-edge      libata
>  >  15:          0          0   IO-APIC-edge      libata
>  > 220:        419    1035304   PCI-MSI-edge      eth1
>  > NMI:          0          0   Non-maskable interrupts
>  > LOC:    3821299    3822705   Local timer interrupts
>  > RES:     204182       9259   Rescheduling interrupts
>  > CAL:        107         38   function call interrupts
>  > TLB:         26         31   TLB shootdowns
>  > TRM:          0          0   Thermal event interrupts
>  > SPU:          0          0   Spurious interrupts
>  > ERR:          1
>  > MIS:          0
[snip]

Aside from what Rodolfo said about it being strange that no driver is
shown for IRQ4,  I also noticed that IRQs are being assigned to
different CPUs. Can you check with the older kernel if a driver is
assigned and if IRQs are assigned to multiple CPUs or only to one of
them?  I imagined there was a configuration for  CPU affinity of
interrupt processing routines, but I can't find it or any references
to it - I must be going senile.

Does the order of loading modules matter?  For example, if 'pps' needs
to load before the 8250 serial driver, then interesting things can
happen when the serial driver is compiled into the kernel but the pps
driver loads later.  I think there is a mechanism to ensure that the
module is loaded and initialized before the inbuilt driver is
initialized, so even if you have that strange case it should be
possible to fix it.

- Cirilo



More information about the LinuxPPS mailing list