Kernel 2.4 problem with 3C905B NIC

Edward Tandi (
03 Jul 2003 19:24:36 +0100

I am currently using kernels 2.4.21-rc1 and 2.4.22-pre2.

I think there is a problem with the 3c59x module. Between two machines
lies a D-Link 100Base-TX Fast Ethernet Hub and a Netgear DS104 switch. I
think the D-Link has only half-duplex capability.

NICs at both ends initialise in 100Mbit mode.

What happens is that during large transfers, there are a very large
number of collisions on the network. This results in the transfer rate
slowing down to somewhere between 3KB-7KB per second.

Googling shows that there have been a number of problems in the past
regarding Linux and the 3C905B. History indicates that card appears to
work on Windows machines but have serious performance problems under
Linux in certain circumstances.

I have tried the various duplex module options and nothing helps. In
fact long transfers appear to trigger a Tulip lockup at the other end.

For those suffering, I have found a temporary work-around. Build the
driver (3c90x-102.tar.gz) at:

Despite all the compilation warnings, all works well! Transfer speeds
have increased to between 7MB-9MB per second, which is what I would
expect it to be.

The 3com site says that the driver is unsupported. Pity. Is there a
maintainer for the 3c59x module? The last entry in 3c59x.c was by akpm
July 2001. I presume this issues has been around for a while.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at