Description of Problem: The D-Link DFE-580 TX adapter does not work with with the sundance.c driver as shipped. A newer version (1.02) as found at the URL works perfectly. Please upgrade the driver. Version-Release number of selected component (if applicable): 2.4.18-18.8.0 How Reproducible: Everytime. Steps to Reproduce: 1. Load the module on a i586 system with the NIC installed 2. Run ifconfig 3. Repeat ifconfig Actual Results: ifconfig shows immediately a lot of packets transfered, even when no IP address is attached. The kernel log contains stuff complaining about "No MII transceiver found". The card did not raise any interrupt. When assigning an IP address, no packets can be transfered. When running tcpdump on the interface, the kernel starts complaining about timeouts in the receiver buffer. Expected Results: The card just works! Additional Information: Just update the distribution to a newer driver, problem will be gone.
I ran into this problem as well when installing this card into an i686 RH8 box with up to date kernel errata (kernel-2.4.18-19.8.0). I was getting errors like "Transmit timed out, status 0, resetting...", and could not use any of the interfaces on the card. Using the version of the driver available from Donald Becker's web site (version 1.10) cleared up the problem: http://www.scyld.com/network/sundance.html It would be nice to have a working driver in future errata kernels and RH releases.
I still see this problem after upgrading the box to Red Hat 9 with the supplied 2.4.20 kernel. The following messages are recorded in the syslog: May 25 14:35:12 quoll kernel: sundance.c:v1.01+LK1.06b 6-Nov-2002 Written by Do nald Becker May 25 14:35:12 quoll kernel: http://www.scyld.com/network/sundance.html May 25 14:35:12 quoll kernel: eth0: D-Link DFE-580TX 4 port Server Adapter at 0x d0917000, f3:ee:f3:ee:f3:ee, IRQ 9. May 25 14:35:13 quoll kernel: eth0: No MII transceiver found, aborting. ASIC st atus f000eef3 May 25 14:35:13 quoll kernel: eth0: D-Link DFE-580TX 4 port Server Adapter at 0x d0917000, f3:ee:f3:ee:f3:ee, IRQ 10. May 25 14:35:13 quoll kernel: eth0: No MII transceiver found, aborting. ASIC st atus f000eef3 May 25 14:35:13 quoll kernel: eth0: D-Link DFE-580TX 4 port Server Adapter at 0x d0917000, f3:ee:f3:ee:f3:ee, IRQ 11. May 25 14:35:13 quoll kernel: eth0: No MII transceiver found, aborting. ASIC st atus f000eef3 May 25 14:35:13 quoll kernel: eth0: D-Link DFE-580TX 4 port Server Adapter at 0x d0917000, f3:ee:f3:ee:f3:ee, IRQ 11. May 25 14:35:13 quoll kernel: eth0: No MII transceiver found, aborting. ASIC st atus f000eef3 With the Scyld modules installed, things work fine: May 25 14:49:02 quoll kernel: pci-scan.c:v1.11 8/31/2002 Donald Becker <becker@ scyld.com> http://www.scyld.com/linux/drivers.html May 25 14:49:02 quoll kernel: sundance.c:v1.10 11/17/2002 Written by Donald Bec ker <becker> May 25 14:49:02 quoll kernel: http://www.scyld.com/network/sundance.html May 25 14:49:02 quoll kernel: eth0: D-Link DFE-580TX (Sundance ST201) at 0xcc00, 00:05:5d:21:04:9a, IRQ 9. May 25 14:49:02 quoll kernel: eth0: MII PHY found at address 1, status 0x782d ad vertising 01e1. May 25 14:49:02 quoll kernel: eth1: D-Link DFE-580TX (Sundance ST201) at 0xc880, 00:05:5d:21:04:99, IRQ 10. May 25 14:49:02 quoll kernel: eth1: MII PHY found at address 1, status 0x782d ad vertising 01e1. May 25 14:49:02 quoll kernel: eth2: D-Link DFE-580TX (Sundance ST201) at 0xc800, 00:05:5d:21:04:98, IRQ 11. May 25 14:49:02 quoll kernel: eth2: MII PHY found at address 1, status 0x7809 ad vertising 01e1. May 25 14:49:02 quoll kernel: eth3: D-Link DFE-580TX (Sundance ST201) at 0xc480, 00:05:5d:21:04:97, IRQ 11. May 25 14:49:02 quoll kernel: eth3: MII PHY found at address 1, status 0x7809 ad vertising 01e1.
One difference I noticed is that the Scyld driver is compiling with USE_IO_OPS defined, and the one in the RH kernel isn't (it has CONFIG_SUNDANCE_MMIO=y in the config file, so uses MMIO instead). If I have an opportunity, I will test this (either configure the kernel driver to not use MMIO, or configure the Scyld one to use MMIO). This sounds like it is probably the problem, since the help for the CONFIG_SUNDANCE_MMIO option says: Enable memory-mapped I/O for interaction with Sundance NIC registers. Do NOT enable this by default, PIO (enabled when MMIO is disabled) is known to solve bugs on certain chips. If unsure, say N.
I just tried rebuilding the sundance driver from the 2.4.20-18.9 kernel with CONFIG_SUNDANCE_MMIO set to N. The driver appears to be functioning properly. Would it be possible to make this config change for future errata kernels?
This seems sensible Bug looks like it is probably a PCI posting problem
Solution confirmed by me here also (see #69000) on RHL 7.3. Pls. set CONFIG_SUNDANCE_MMIO to N also on next kernel releases for RHL 7.3.
Errata 2.4.20-19.8 for 8.0 has CONFIG_SUNDANCE_MMIO set to N, problem is fixed.
Just confirming that the problem seems to be fixed for me with the latest errata kernel (kernel-2.4.20-19.9.i686.rpm on RH9). Thanks!