I’m using DC10.72 from the github site (10.72A). If I send an icmp flood to the unit, it stops responding to any kind of other traffic (http, telnet, icmp, etc.) In turning on the debug for the ethernet driver, a bunch of:
DMAETH100: sendpacket()
DMAETH100: sendpacket: queue full
DMAETH100: sendpacket()
DMAETH100: sendpacket: queue full
DMAETH100: sendpacket()
DMAETH100: sendpacket: queue full
DMAETH100: sendpacket()
DMAETH100: sendpacket: queue full
DMAETH100: sendpacket()
DMAETH100: sendpacket: queue full
DMAETH100: sendpacket()
pops out.
And, displaying the registers shows TX collisions.
Comparing the dmaeth100.lib to the dmaeth.lib file, I notice some differences in functionality:
- code to handle the netport interrupt (this is where a tx collision would be handled)
- netport interrupt has no isr installed
- netport interrupt not even enabled
The dmaeth.lib file has some code in there to reset the dma when collisions occur. I don’t see this code anywhere in the dmaeth100 library. Shouldn’t this be in there?