Linux Driver for the D-Link DE-320CT Ethernet Adapter

Yet some more Microchannel Ethernet Linux stuff - this time it is not a complete driver but an addition to an existing driver to increase its usability.

D-Link also sold a Microchannel Ethernet Adapter, the DE-320CT. From its basic layout, it is an NE2000 (NE/2 to be precise) compatible adapter, which has good and bad sides, but it is a short board and has a 10BaseT connector, a feature most older Microchannel adapters lack.

Unfortunately, it is not precisely the same as an NE/2: It has a different POSID, the layout of the POS registers is different, and - what makes things most difficult - the MAC address PROM is different. The MAC address is the unique 48-bit address that identifies any piece of Ethernet or TR equipment. Standard NE2000 cards have an 8-bit wide PROM that can simply be read with a programmed I/O instruction. The DE-320 however uses a serial EEPROM (a 93C46 to be exact), and the serial protocol has to be implemented in software. A very tedious procedure, but fortunately this only has to be done once during initialization.

Note: The procedure of accessing the serial EEPROM was found by analyzing the packet driver. I had no information or documentation from D-Link, so my code may be incomplete! On this page, I am providing the following code:

To use the Linux driver, simply copy the ne2.c file over the existing one in driver/net, enable NE/2 support and recompile your kernel resp. modules.

The modifications I added to the original NE/2 driver are as follows:

Like always, comments are (constructive) criticism are always welcome!

Note(2):This page was written after drinking a bottle of beer, so it probably contains a horrendous amount of typing errors. Sorry... Note(3): (2002-07-11) I have added an additional fix that


© Alfred Arnold, alfred@ccac.rwth-aachen.de 2001