PCnet32 ethernet driver
I'm seeking technical help for a programming problem of a PCnet32 ethercard.
As a hands-on approach to understanding how to write network device drivers, I tried to write a device driver for "PCnet/PCI II 79C970A".
The initialization routine switches PCnet to 32bit mode, setup receive and transmit descriptor rings, initializes the controller by the 32-bit version of the Initialization Block (MODE field: 0) and installs the interrupt service routine.
The transmit routine setup TBADR field, BCNT field of descriptor with the negative of the packet size, sets ENP, STP, and OWN bits of descriptor, and sets TDMD bit in CSR0 to trigger a send poll.
Although the transmitter and receiver section are turned on via the Initialization Block, the controller does not transmit the packet.
I'd appreciate any hints on how to solve the problem.
Last edited by rabee; 06-14-2010 at 01:22 PM.
|