Messages in this thread |  | | | Date | Fri, 8 Oct 2004 19:13:24 +0100 | | From | Russell King <> | | Subject | Re: [patch 2.4.28-pre3] 3c59x: resync with 2.6 |
| |
On Fri, Oct 08, 2004 at 12:13:07PM -0400, John W. Linville wrote: > Backport of current 3c59x driver (minus EISA/sysfs stuff) from 2.6 to > 2.4. This should ease further maintenance in 2.4. > --- > I've been chasing some 3c59x driver problems on both 2.4.x and 2.6.x > kernels. The 3c59x driver was pretty far out of sync between the two > trees, so I thought it made sense to sync them back up.
Ah, if someone's looking at the 3c59x driver then please look into the NWAY autonegotiation code - even maybe update it to use mii.c.
Currently 3c59x is rather buggy - it's a fairly simple bug. Consider this:
# mii-tool -v eth0: negotiated 100baseTx-HD, link ok product info: TDK 78Q2120 rev 11 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-HD 10baseT-HD advertising: 100baseTx-HD 10baseT-HD link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
and then wonder why we end up like this:
eth0: Setting full-duplex based on MII #0 link partner capability of 45e1.
Obviously completely bogus. Luckily, there isn't that much traffic to this card _and_ it's connected to a switch so it doesn't interfere much with other network traffic. However, it is _dog_ slow when doing large transfers to/from it.
FYI, it's:
04:00.0 Ethernet controller: 3Com Corporation 3c575 [Megahertz] 10/100 LAN CardBus (rev 01)
aka 3CCFE575BT. The BT version only has a HD-capable MII transceiver, whereas the CT version has a FD-capable MII transceiver fitted.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/ 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |