Both cards are based on the National Semiconductor’s 83820 chipset, which seems to be a popular low-end gigabit chipset. The card has had support under Linux since early 2.4, so you’d expect it to be as simple as compiling the driver, right? Wrong, apparently.
(Fortunately the situation was rectified at some point. With 2.6.10-ac10 I am using my ns83820 based card without patching the kernel.)
Neither card worked for me using 2.4.22, 2.4.24, or 2.6.4 on multiple test systems with multiple cables and several different switches. Those cables and switches work fine on my 100Mbps cards. So what’s the deal? /var/log/syslog reveals these nasties:
faith kernel: ns83820.c: National Semiconductor DP83820 10/100/1000 driver. faith kernel: eth1: ns83820.c: 0×22c: 10641737, subsystem: 1737:1064 faith kernel: eth1: ns83820 v0.20: DP83820 v1.2: 00:04:5a:78:eb:51 io=0xcfffc000 irq=5 f=sg faith kernel: eth1: link now 100 mbps, full duplex and up. faith kernel: eth1: ns83820_tx_watch: 3 4 1 faith kernel: eth1: tx_timeout: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: after: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: ns83820_tx_watch: 3 4 1 faith kernel: eth1: tx_timeout: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: after: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: ns83820_tx_watch: 3 4 1 faith kernel: eth1: tx_timeout: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: after: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: ns83820_tx_watch: 3 4 1 faith kernel: eth1: tx_timeout: tx_done_idx=3 free_idx=4 cmdsts=8000002a faith kernel: eth1: after: tx_done_idx=3 free_idx=4 cmdsts=8000002a
Google turned up little, at first. It seems John Zielinski has recently made a patch that fixes the problem. He posted it to the driver’s low traffic mailing list.
It applies cleanly to 2.6.3. There were some rejects when I applied it to 2.4.22.
Once applied, the patch seems to resolve the issue above. I was able to obtain a DHCP lease with the DGE-500T and ping other hosts. This was not possible before I applied the patch.
Thanks John!
Update, April 11, 2006. Since I wrote this, both cards have died. Ethernet cards seem to die pretty sparingly, but both of these died. I’d suggest getting a Gigabit card that supports NAPI, jumbo frames up to 9KiB, and 802.3 and skip the 83820 chipset based cards entirely.