[vortex] 3c905c and 3c900 difficulties

Scott Turner turnef@earthlink.net
Thu Jul 4 08:01:01 2002


Hello,

   I have a Linux box (running with RedHat 7.3 (kernel 2.4.18-5)) with a 
3c900 (eth0) and a 3c905c (eth1) acting as external and internal 
interfaces in an ipmasquerading setup.  I noticed a few days ago that 
transfer rates off the internal interface were rather asymmetric 
(11Mbytes/sec moving data off the Linux box with ftp, and only 
90KBytes/sec moving data to the Linux box from the same computer with 
ftp).

   First thing I tried was obtaining the latest (0.99X) 3c59x.c, compiling 
it and replacing the much older version of the driver RedHat provided.  
After doing this dmesg reports:

3c59x.c:v0.99X 6/21/2002 Donald Becker, becker@scyld.com
  http://www.scyld.com/network/vortex.html
eth0: 3Com 3c900 Boomerang 10Mbps Combo at 0xe800,  00:a0:24:d5:b1:ea, IRQ 
11
  8K buffer 3:5 Rx:Tx split, autoselect/10baseT interface.
  ***WARNING*** No MII transceivers found!
  Using bus-master transmits and whole-frame receives.
eth1: 3Com 3c905C Tornado at 0xec00,  00:01:03:26:92:0f, IRQ 15
  8K buffer 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 786d.
  Using bus-master transmits and whole-frame receives.

The ***WARNING*** message was initially a concern, but after doing some 
reading I realized this is probably to be expected since the 3c900 is not 
a 10/100 NIC.  I wanted to make sure that everything was ok with eth1, so 
I tried 'mii-diag -av eth1' which resulted in:

mii-diag.c:v2.04 5/9/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
  Using the new SIOCGMIIPHY value on PHY 24 (BMCR 0x0000).
  No MII transceiver present!.
  Use '--force' to view the information anyway.
 MII PHY #24 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.

At this point I became confused, as I did not expect to see: "No MII 
transceiver present!."  So I tried 'mii-diag -av eth0':

mii-diag.c:v2.04 5/9/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
  Using the new SIOCGMIIPHY value on PHY 24 (BMCR 0x0000).
 The autonegotiated capability is 0000.
No common media type was autonegotiated!
This is extremely unusual and typically indicates a configuration error.
Perhaps the advertised capability set was intentionally limited.
 Basic mode control register 0x0000: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0xffff ... ffff.
   Link status: established.
   This transceiver is capable of  100baseT4 100baseTx-FD 100baseTx 
10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Remote fault detected!
   *** Link Jabber! ***
 Your link partner advertised ffff: Flow-control 100baseT4 100baseTx-FD 
100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.

 MII PHY #24 transceiver registers:
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff
   0000 ffff 0000 ffff 0000 ffff 0000 ffff.
 Basic mode control register 0x0000: Auto-negotiation disabled!
   Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0xffff ... ffff.
   Link status: established.
   Capable of  100baseT4 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Remote fault detected!
   *** Link Jabber! ***
 Vendor ID is 00:00:3f:--:--:--, model 63 rev. 15.
   No specific information is known about this transceiver type.
 I'm advertising 0000:
   Advertising no additional info pages.
   Using an unknown (non 802.3) encapsulation.
 Link partner capability is ffff: Flow-control 100baseT4 100baseTx-FD 
100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.

I was sufficiently confused at this point, that I did not know what step 
to take next.  I tried removing the 3c900 from the box, to see if that 
cleared up the missing "MII transceiver" output from mii-diag, but it did 
not.  Any suggestions as to how to proceed next would be greatly 
appreciated.  For reference I have included the output from "vortex-diag 
-aev" below:

vortex-diag.c:v2.06 4/18/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c900 Boomerang 10Mbps Combo adapter at 0xe800.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 4, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00bf ffff 0000.
  Window 1: FIFO FIFO 0000 2000 8000 00ff 13fc 2000.
  Window 2: a000 d524 eab1 0000 0000 0000 06c6 4000.
  Window 3: 02d8 0103 0000 0000 e138 0bff 13ff 6000.
  Window 4: 0000 00d0 0000 0cc0 0001 88c0 0000 8000.
  Window 5: 1ffc fffc 06c6 0600 0007 06de 06c6 a000.
  Window 6: 0000 0000 0000 0000 0000 0000 0000 c000.
  Window 7: d178 06d0 0000 0000 8000 00ff 500c e000.
Vortex chip registers at 0xe800
  0xE810: **FIFO** 00000000 00008000 *STATUS*
  0xE820: 00000021 00000000 049c6012 060005d2
  0xE830: 00000000 0000621b 06d0d180 00000000
 Indication enable is 06c6, interrupt enable is 06de.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  10baseT 10base2 AUI.
Transceiver type in use:  10baseT.
 MAC settings: half-duplex.
Maximum packet size is 0.
 Station address set to 00:a0:24:d5:b1:ea.
 Configuration options 06c6.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:A0:24:D5:B1:EA (used as a unique ID only).
 OEM Station address 00:A0:24:D5:B1:EA (used as the ethernet address).
  Device ID 9001,  Manufacturer ID 6d50.
  Manufacture date (MM/DD/YYYY) 7/30/1996, division 6, product FP.
  No BIOS ROM is present.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is correct (00c2 vs. 00c2).
  Cyclone format checksum is incorrect (00 vs. 0xff).
  Hurricane format checksum is incorrect (00 vs. 0xff).
 ***WARNING***: No MII transceivers found!
Index #2: Found a 3c905C Tornado 100baseTx adapter at 0xec00.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 4, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00bf ffff 0000.
  Window 1: FIFO FIFO 0700 0000 0000 007e 0000 2000.
  Window 2: 0100 2603 0f92 0000 0000 0000 0042 4000.
  Window 3: 0000 0380 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0cd8 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0807 06de 06c6 a000.
  Window 6: 0000 0000 0000 0000 0000 0000 0000 c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xec00
  0xEC10: **FIFO** 00000000 00000006 *STATUS*
  0xEC20: 00000020 06d0da60 00080000 00001404
  0xEC30: 00000000 50b9af47 06d0d9e0 00080004
 Indication enable is 06c6, interrupt enable is 06de.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  100baseTx 10baseT.
Transceiver type in use:  Autonegotiate.
 MAC settings: half-duplex.
 Station address set to 00:01:03:26:92:0f.
 Configuration options 0042.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:03:26:92:0F (used as a unique ID only).
 OEM Station address 00:01:03:26:92:0F (used as the ethernet address).
  Device ID 9200,  Manufacturer ID 6d50.
  Manufacture date (MM/DD/YYYY) 10/7/2000, division H, product JE.
  No BIOS ROM is present.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is incorrect (002a vs. 10b7).
  Cyclone format checksum is correct (0xb2 vs. 0xb2).
  Hurricane format checksum is incorrect (0x9b vs. 0xb2).
 MII PHY found at address 24, status 786d.
 MII PHY 0 at #24 transceiver registers:
   3000 786d 0180 7750 05e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0238 0087 0000 0000 0000 0000 c4c8 0300
   0100 0438 2010 2000 0000 0000 0000 0000.

Thanks in advance for any help or suggestions.

Scott Turner
turnef@earthlink.net