IGB driver not getting Rx interrupt
Shashi Sharma
ssharma at viosoft.com
Wed May 2 01:02:53 CEST 2012
Hi Adam,
Here is the log message that shows that Ankh is able to initialize the
ethernet device (eth1) and assign an IRQ to it.
----------------------------------------------------------------------------
ankh | opening eth1
ankh | <6>device eth1 entered promiscuous mode
ankh | set interface to promiscuous mode.
ankh | Thread 0xcf for IRQ 40
io | (noname)[0x50200]: bind_irq(40, ...)
io | IRQ 40 -> client
io | IRQ mode = 300000 -> 6
io | bound irq 40 -> err=0
ankh | Opened 3 network devices.
ankh | lo IRQ: 0x00 MAC: 00:00:00:00:00:00 MTU: 16436
ankh | eth0 IRQ: 0x00 MAC: 00:E0:81:C4:76:07 MTU: 1500
ankh | eth1 IRQ: 0x00 MAC: 00:E0:81:C4:76:06 MTU: 1500
--------------------------------------------------------------------------------------------------
As per your suggestion I looked it up in the "Shift-Q" list and I see
the IRQ is properly connected to the proper Thread.
--------------------------------------------------------------------------------------------------
d1 ffd073d4 [IRQ ] I= 28 HW IRQ (DIRQ) L=28 T=cf F=7 Q=0
--------------------------------------------------------------------------------------------------
Using the "List IRQ Threads: R" in JDB I get the following result
----------------------------------------------------------------------------
jdb: R [l]ist/[a]ttach: l
IRQ 04/04
IRQ 28/40
IRQ 29/41
-----------------------------------------------------------------------------
Which shows that the IRQ is attached to the thread.
But still, The IGB's Interrupt Service Routine (ISR) never gets
invoked.
Your help is much appreciated
Regards,
Shashi Sharma
On Sun, 2012-04-22 at 16:10 +0200, Adam Lackorzynski wrote:
> Hi,
>
> On Tue Apr 10, 2012 at 16:21:49 -0700, Shashi Sharma wrote:
> > I ported igb-1.2.45-k2 driver to ankh. Ankh is able to initialize the
> > Ethernet device using this driver.
> >
> > I am testing this with lwip_test example. Using this driver Ankh is able
> > to send out "DHCP Discover" packet and the Gateway/Router sends back an
> > "DHCP Offer" packet.
> >
> > But the hardware never generates an Rx interrupt in the driver. How can
> > I debug/solve this problem?
> >
> > Attached is the log with a lot of debugging turned on, and also debug
> > messages added in the driver itself.
>
> You could check whether the hardware IRQ is properly connected to the
> driver in the jdb, check the shift-Q list, search for the IRQ number and
> see whether it is connected to the proper thread.
>
>
> Adam
More information about the l4-hackers
mailing list