[eepro100] mii-diag strangeness

Joe Rouvier joe@netli.com
Wed May 8 14:41:02 2002


I'm having a strange problem with mii-diag on IBM Netfinity 4000R's.  It
seems that mii-diag works fine as a non-root user, but reads all nulls
when run as root, and fails to force an interface to a specific mode,
etc.  This problem is reproducable on different boxes.  Mii-diag
compiled with and without libmii.c return the same result.  

These boxes use a pair of 82557s.  Testing was done on kernel 2.4.9 with
the nic driver loaded as a module.  eepro-diag works fine (as root)

One item of note.  The Netfinity 4000R uses almost exactly the same
motherboard as the Network Engines WebEngine, but with a different
BIOS.  The problem does not happen on WebEngine boxes.

Any thoughts?

Diagnostics follow:
----
As non-root:

mii-diag.c:v2.03 11/5/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
 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 advertised 45e1: Flow-control 100baseTx-FD 100baseTx
10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.

 MII PHY #1 transceiver registers:
   3000 782d 02a8 0154 05e1 45e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0a03 0000 0001 0000 0000 0000 0000 0000
   0000 0000 0b10 0000 0000 0000 0000 0000.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:aa:00:--:--:--, model 21 rev. 4.
   No specific information is known about this transceiver type.
 I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD
10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 45e1: Flow-control 100baseTx-FD 100baseTx
10baseT-FD 10baseT.
   Negotiation  completed.

-----

As Root:

mii-diag.c:v2.03 11/5/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 Basic mode control register 0x0000: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0x0000 ... 0000.
   Link status: not established.
   This transceiver is capable of <Warning! No media capabilities>.
   Unable to perform Auto-negotiation, negotiation not complete.
 Link partner information is not exchanged when in fixed speed mode.
   End of basic transceiver information.

 MII PHY #0 transceiver registers:
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000.
 Basic mode control register 0x0000: Auto-negotiation disabled!
   Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0x0000 ... 0000.
   Link status: not established.
   Capable of <Warning! No media capabilities>.
   Unable to perform Auto-negotiation, negotiation not complete.
 This transceiver has no vendor identification.
 I'm advertising 0000:
   Advertising no additional info pages.
   Using an unknown (non 802.3) encapsulation.
 Link partner capability is 0000:.
   Negotiation did not complete.

-----

eepro-diag output:
eepro100-diag.c:v2.07 12/28/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0x2040.
i82557 chip registers at 0x2040:
  0c000090 0fb19000 00000000 00080002 182545e1 00000600
  No interrupt sources are pending.
   The transmit unit state is 'Active'.
   The receive unit state is 'Ready'.
  This status is unusual for an activated interface.
 The Command register has an unprocessed command 0c00(?!).
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:06:29:DE:D4:79.
  Board assembly 001024-010, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
   Sleep mode is enabled.  This is not recommended.
   Under high load the card may not respond to
   PCI requests, and thus cause a master abort.
   To clear sleep mode use the '-G 0 -w -w -f' options.
 MII PHY #1 transceiver registers:
  3000 782d 02a8 0154 05e1 45e1 0001 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0a03 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0b10 0000 0000 0000 0000 0000.
 MII PHY #1 transceiver registers:
   3000 782d 02a8 0154 05e1 45e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0a03 0000 0001 0000 0000 0000 0000 0000
   0000 0000 0b10 0000 0000 0000 0000 0000.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:aa:00:--:--:--, model 21 rev. 4.
   No specific information is known about this transceiver type.
 I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD
10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 45e1: Flow-control 100baseTx-FD 100baseTx
10baseT-FD 10baseT.
   Negotiation  completed.



-- 
 Joe Rouvier
 Systems Administrator
 Netli.com
 (650)812-0565 x131