[vortex] 3c905C not auto-negotiating full duplex 100BaseT

David LANDGREN dlandgre@bpinet.com
Thu, 27 Sep 2001 12:37:55 +0200


|> What's wrong with this picture? The link partner is an HP ProCurve 1600,
|> and the port in question is configured for autoneg. In fact all ports on
|> that switch are, in the unlikely event that I traced cables incorrectly.
|
|Could you try 'mii-diag -R' too ?

# mii-diag -R eth0
Resetting the transceiver...
Basic registers of MII PHY #24:  3000 7809 0040 6176 05e1 0000 0000 0000.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x7809 ... 7809.
   Link status: not established.
   End of basic transceiver information.

# mii-diag -r eth0
Restarting negotiation...
Basic registers of MII PHY #24:  1000 7809 0040 6176 05e1 0000 0000 0000.
 Basic mode control register 0x1000: Auto-negotiation enabled.
 Basic mode status register 0x7809 ... 780d.
   Link status: previously broken, but now reestablished.
 Your link partner does not do autonegotiation, and this transceiver type
  does not report the sensed link speed.
   End of basic transceiver information.

output from the switch:

  Port    Type     Enabled      Mode      Flow Ctrl  Bcast Limit
  ----  -------- + -------  ------------  ---------  -----------
[...]
  7     10/100TX | Yes      Auto          Disable    0

(Mode=Auto is the key, other options are 10HDx 10FDx 100HDx 100FDx).

|I'm not 100% sure (it's been some time since I looked at Don's driver) but
|you might be able to "force" autonegotiation with "options=8".
|
|5/0x205 is not a valid one as it only works with fiber which you don't
|have. 4 will force 100Mbit, 0x204 will force 100-FD; however, forcing only
|one end of the connection is usually asking for trouble, if you want to
|force media settings, do it at _both_ ends (card and switch). Even more,
|forcing media settings this way (using options) is not the best way to do
|it for your type of card - use 'mii-diag -F' .

After running

     mii-diag -F100baseTx -R eth0

I have

# /usr/local/sbin/mii-diag eth0
Basic registers of MII PHY #24:  2100 780d 0040 6176 05e1 0000 0000 0000.
 Basic mode control register 0x2100: Auto-negotiation disabled, with
 Speed fixed at 100 mbps, full-duplex.
 You have link beat, and everything is working OK.
 Link partner information is not exchanged when in fixed speed mode.
   End of basic transceiver information.

Well, beats me what the hell was (is) going on, but I'll update the boot
process to include this, and move on. A big thanks to Bogdan and Donald.

Later,
David