It's time to start eliminating suspects...
Virtually all devices will send interrupt requests, and since there are a limited number of interrupts, all devices must be able to keep track of whether an interrupt was sent or not.
So, your NIC will have to have a register that contains a bit flag that will tell you whether it sent an IRQ or not. (And the OS is responsible for clearing that flag after the interrupt has been handled. This is true for pretty much all devices.)
So, all you need to do is check the value of that flag after a packet is sent (or received). If it is set, your interrupt controller (PiC) or your interrupt handler routine are not set up properly. If it's not set, the NIC has not been set up properly.
Once you determine where the problem is, fixing it should be a lot easier. Let us know what you find.
_________________ Project: OZone Source: GitHub Current Task: LIB/OBJ file support "The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
|