Determining eepro100's negotitated mode

Andrew M. Kuchling akuchlin@cnri.reston.va.us
Thu Apr 29 12:17:31 1999


I'm trying to figure out if an Intel eepro100 card is coming up in 10-
or 100-baseT, and full or half-duplex.  However, I can't figure out
how to read the output of eepro100-diag or mii-diag to determine the
card's current mode; the Ethernet-HOWTO is silent on this point, and
the CESDIS eepro100 page isn't clear on how to do this.  (If I get an
answer, I'll write up a description for that page.)

./eepro100-diag -fm produces this output:

eepro100-diag.c:v0.07 2/25/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Intel 82557 EtherExpressPro100B adapter at 0x1820.
 MII PHY #1 transceiver registers:
  3000 7829 02a8 0150 05e1 41e1 0003 ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  0203 0000 0001 0000 0000 0000 0000 0000
  0000 0000 0000 0000 ffff ffff ffff ffff.
 MII PHY #1 transceiver registers:
   3000 782d 02a8 0150 05e1 41e1 0001 ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   0a03 0000 0001 0000 0000 0000 0000 0000
   0000 0000 0000 0000 ffff ffff ffff ffff.
 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. 0.
   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 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.
[root@microscope /tmp]# 

eepro100-diag outputs the capabilities of each side of the link, and
then "Negotiation completed", but never says what the result of the
negotiation was!  So, how do I figure out what mode the card is in?
I'd like to learn how to figure this out...

	On a related note, "mii-diag -A link-type" changes the link
capabilities being advertised; does that actually change the current
setting of the card?  If not, is it possible to change the
transceiver's mode after boot-up, and how is it done?

	(The reason behind all this is that I have a machine that
needs to be put into 100baseT-FD mode; the machine's on the other side
of the country connected to a microscope, so I'm nervous about
modifying the kernel to load the eepro100 driver as a module and
rebooting.  If the networking didn't come up again, it would be highly
annoying to fix the problem by dictating over the phone to on-site
staff.)

	Thanks in advance...

-- 
A.M. Kuchling			http://starship.python.net/crew/amk/
First things first, but not necessarily in that order.
    -- The Doctor, in "Meglos"