Re: usb interrupt conflict with RTAI

Paolo Mantegazza <[email protected]> Wed, 23 Aug 2017 16:06:36 +0000
Newsgroups gmane.linux.real-time.rtai
Message-ID <HE1PR0601MB2458D36528A1ECCDC13AA00E90850@HE1PR0601MB2458.eurprd06.prod.outlook.com>
RTAI, and so RTDM,  can pend (pass) an interrupt they use down to Linux, but jjust int he case they know its kind and what is it for. In Clearly in your case it is not so, In your case I see that you are using very old versions for both RTAI and Linux. My suggestion is to upgrade both and see what happens.By way of example, if your hartdware is not really really old it is possible that using the APIC under UP coupled to MSI support could solve the problem, without caring of anything else.

Paolo
________________________________________
From: Rtai [[email protected]] on behalf of Dietrich Pescoller [[email protected]]
Sent: Tuesday, August 22, 2017 11:40 AM
To: [email protected]
Subject: [Rtai] usb interrupt conflict with RTAI

Dear all,

I'm facing an issue with shared interrupts

The problem I have is that i wanted to integrate a USB-stick for storage, but
my USB system is conflicting with the RTAI system.

As soon as I load the usb-storage.ko module I get the following message from
the
kernel:
        RTDM: xnintr_irq_handler: IRQ11 not handled. Disabling IRQ line.

After this message the system system stops working, i.e. no RT ethernet
packets are received anymore.

My setup is quite old and is as follow:
- Linux Kernel 2.6.19.7
- rtai-3.6
- rtnet-0.9.11

looking at /proc/interrupts
====
  0:     108824    XT-PIC-XT        timer, rtai_broadcast
  1:          8    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  4:          0    XT-PIC-XT        tpmc901drv
  7:       2392    XT-PIC-XT        eth0
  9:          0     XT-PIC-XT        uhci_hcd:usb2
 11:         28   XT-PIC-XT        uhci_hcd:usb1  <--- conflicting interrupt
 12:          3    XT-PIC-XT        i8042
 14:          0    XT-PIC-XT        libata
 15:       1773    XT-PIC-XT        libata
NMI:          1
LOC:     108794
ERR:          0
MIS:          0

and /proc/rtai/hal
====

** Real-time IRQs used by RTAI:

    #3 at e00ab290
    #4 at e00e3279
    #11 at e3b85420    <--- conflicting interrupt
    #215 at e00cbb80
    #216 at e00cb2d0

I see that the irq #11 is shared between an Ethernet NIC and the USB, and
something is not handled properly. The Ethernet NIC is in handled by a RTNET
driver i.e. e1000.ko.

I searched for a possibility to remap this interrupt in the BIOS of my board
but unfortunately there seems to be no option for that.

I see here the following possible solutions but I did not found a way manage
them (I'm still blocked in the teory...)

1) try to understand why the shared interrupt #11 is not forwarded to linux,
is probably a rtnet e1000 driver issue... avoiding RTDM to disable the IRQ
line.
2) remap the interrupt by software, I don't know if this is possible...

Many thanks in advance for your help/advices

Bye,
Dietrich
_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai