Re: Full/Half duplex - diagnostics not the same as reality
Donald Becker <[email protected]>
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 12 Jun 2003, Miskell, Craig wrote: > I have just been battling with an old linux box (Redhat 6.1, > kernel 2.2.12-20) with a 3c905B in it, talking to a Cisco 3500. I have ... > the samba share without gzipping. Truly odd). Anyway, some more poking > indicated that the card was running half duplex, where the rest of the > network is running full duplex, often "forced" (due to apparently some > old problems with HalfDuplex...) Cisco has reversed their old recommendation of forcing full duplex http://www.cisco.com/warp/public/473/46.html They now accept that forcing the duplex causes more problems than it is worth. > So, doesn't take long to decide that it's time to make it do full > duplex. More poking ensues, and I discover that the 3com is trying to > autonegotiate, and the Cisco is telling it to just use 100BaseT half > duplex. If the other side does not autonegotate, the transceiver then falls back to sensing the speed based on the link beat type. This is different than a negotiation failure. If there is no common media type, or the negotiation handshake is repeatedly corrupted, then a link is not established. > # insmod 3c59x full_duplex=1 > # ifup eth0 > After this mii-diag -v gives the following > You have link beat, and everything is working OK. ... > Your link partner is generating 100baseTx link beat (no > autonegotiation). This is expected with a forced 100-FDX link. The transceiver uses speed sensing. This transceiver also reports the speed -- not all do. > If I then tried > # mii-diag -F 100BaseT-FD > Then the output of mii-tool says > eth0: 100 Mbit, full duplex, link ok When you force the speed, you also implicitly or explicitly force the duplex. The 'mii-diag' program communicates the media type by setting the transceiver registers. The driver is responsible for using those values to also set any needed bits in the NIC core. (Note: some older drivers didn't monitor these "MII writes" and thus either didn't set or didn't track the duplex correctly.) -- Donald Becker [email protected] Scyld Computing Corporation http://www.scyld.com 914 Bay Ridge Road, Suite 220 Scyld Beowulf cluster system Annapolis MD 21403 410-990-9993 _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex