RE: Full/Half duplex - diagnostics not the same as reality
"Miskell, Craig" <[email protected]>
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <[email protected]> |
> -----Original Message----- > From: Bogdan Costescu [mailto:[email protected]] > Sent: Friday, 13 June 2003 7:50 a.m. > To: Miskell, Craig > Cc: [email protected] > Subject: Re: [vortex] Full/Half duplex - diagnostics not the > same as reality > > > On Thu, 12 Jun 2003, Miskell, Craig wrote: > > So I'm confused - it seems to be working, but the > diagnostics indicate > > otherwise unless I force the setting using mii-diag. > > I think that you didn't pay enough attention to all the > output. See this: > > > IEEE 802.3 CSMA/CD protocol. Link partner capability is 0080: > > 100baseTx. > > Negotiation did not complete. > > It does say that negotiation did not complete... And does not > say anything > about the partner being able of FD, although you know that it > should be > forced to FD. So it's clear that the card didn't see the switch port > properly. > > Please read this very recent message (any maybe the whole > thread) on a > very related topic: > http://www.scyld.com/pipermail/vortex/2003-June/002453.html > > Is it possible that it's not really running full-duplex but that > > something else in that stops the collisions? > > After you issued the 'mii-diag -F' command, it should run FD; "-F" forces > that mode and disables autonegotiation. Also keep in mind that FD cannot > have collisions by definition. Ok, this is starting to make sense. If can summarise: full_duplex=1 changes what the card advertises, but it still auto-negotiates. Hence, I am still working in Half duplex mode. Oh yeah, and the driver is 0.99H 11/17/98 Yeah, I know it's old - maybe that's my problem ;-) In that case, I have some points that still I would love to get clarification on: 1: Why do I stop getting collisions having unsuccesfully "forced" full-duplex? Surely if it's in HD, I should still be seeing the same behaviour (lots of collisions). I quickly scanned the driver source for my version, and couldn't see anything obvious. 2: For fun, I'll put the entirety of the output of mii-diag -v (having loaded the module with full_duplex=1 option), but the line I'm interested in is the one near the end that mutters about the advertised speeds... It's still advertising HD, which my reading of the thread referenced above stated should not be happening: mii-diag.c:v2.07 11/15/2002 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Using the default interface 'eth0'. Using the old SIOCGMIIPHY value on PHY 24 (BMCR 0x3000). Basic mode control register 0x3000: Auto-negotiation enabled. You have link beat, and everything is working OK. This transceiver is capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT. Able to perform Auto-negotiation, negotiation complete. Your link partner is generating 100baseTx link beat (no autonegotiation). End of basic transceiver information. libmii.c:v2.10 4/22/2003 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html MII PHY #24 transceiver registers: 3000 786d 0000 0000 01e1 0080 0004 2001 0000 0000 0000 0000 0000 0000 0000 0000 8000 0ecf 11d1 0000 0000 0005 2001 0000 0000 2046 0004 1c11 001a 1000 0000 0000. Basic mode control register 0x3000: Auto-negotiation enabled. Basic mode status register 0x786d ... 786d. Link status: established. Capable of 100baseTx-FD 100baseTx 10baseT-FD 10baseT. Able to perform Auto-negotiation, negotiation complete. This transceiver has no vendor identification. I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT Advertising no additional info pages. IEEE 802.3 CSMA/CD protocol. Link partner capability is 0080: 100baseTx. Negotiation did not complete. 3: Interestingly, if I put options=12 in the module conf, I get the same practical results (good transfer speed, no collisions), but mii-tool claims: eth0: 10 Mbit, half duplex, no link despite there definitely being a link. Mii-diag also spits out some interesting data: Basic mode control register 0xc000: Auto-negotiation disabled! Speed fixed at 10 mbps, half-duplex. Transceiver currently being reset! Transceiver in loopback mode! Basic mode status register 0xc000 ... c000. Link status: not established. Capable of 100baseT4 100baseTx-FD. Unable to perform Auto-negotiation, negotiation not complete. This transceiver has no vendor identification. I'm advertising c000: Advertising additional info pages. Using an unknown (non 802.3) encapsulation. Link partner capability is c000:. Negotiation completed. C is 12, so I know where the value is coming from, but it's fascinating that both the diagnostics are convinced there is no link when there is. Any clues (it's unimportant, I'm just curious). This is all just getting confusing. The thing is, I can/have solved my problem, it's just the understanding that's eluding me. Meanwhile, I think I'll put the mii-diag -F in a startup script somewhere and nuke the option in conf.modules. Hoping that somebody can help me understand, Craig ======================================================================= Attention: The information contained in this message and/or attachments from AgResearch Limited is intended only for the persons or entities to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipients is prohibited by AgResearch Limited. If you have received this message in error, please notify the sender immediately. ======================================================================= _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex