3C980 NIC and 3c59x driver problems

Petr Soucek petr@ryston.cz
Tue Dec 28 08:09:29 1999


Hi Donald,

I have serious problems with 3c980 and your 3c59x driver, either 
0.99H or 0.99L. The card is switched (by DOS utilty) to N-Way 
autonegotiation, but is set by the driver to 10 Mbps HD only. This is 
reported by 3com SS-II 3300 swich, which is set to autonegotiation 
too. But with driver 1.0.0d from 3com everything seems to be OK.
System is RHL6.1, with default kernel, i.e. 3c59x.o as module.

Here is complete info, at first for your driver 0.99L:
3c59x.c:v0.99L 5/28/99 Donald Becker 
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
eth0: 3Com 3c980 Cyclone at 0xe400,  00:50:04:1d:75:10, IRQ 10
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate 
interface.
  MII transceiver found at address 24, status 786d.
  MII transceiver found at address 0, status 786d.
  Enabling bus-master transmits and whole-frame receives.

vortex-diag -e 
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:50:04:1D:75:10 (used as a unique ID only).
 OEM Station address 00:50:04:1D:75:10 (used as the ethernet 
address).
 Manufacture date (MM/DD/YYYY) 1/16/1999, division 6, product TV.
Options: none.
  Vortex format checksum is incorrect (0029 vs. 10b7).
  Cyclone format checksum is correct (0x1c vs. 0x1c).
  Hurricane format checksum is correct (0x1c vs. 0x1c).

vortex-diag -aa
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 7, registers values by window:
  Window 0: 0000 0000 0000 0000 f5f5 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: 5000 1d04 1075 0000 0000 0000 000a 4000.
  Window 3: 0000 0100 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0ed8 0001 98e0 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0807 06de 06c6 a000.
  Window 6: 0000 0000 0000 eb01 0100 f160 449e c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0002 e000.
Vortex chip registers at 0xe400
  0xE410: **FIFO** 00000000 00000099 *STATUS*
  0xE420: 00000020 00000000 00080000 00000004
  0xE430: 00000000 f1b20e4e 0f7210b0 00080004
 Indication enable is 06c6, interrupt enable is 06de.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  100baseTx 10baseT.
Transceiver type in use:  10baseT.
 MAC settings: half-duplex.
 Station address set to 00:50:04:1d:75:10.
 Configuration options 4000.

vortex-diag -mm
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
 MII PHY found at address 1, status 01e1.
 MII PHY found at address 24, status 7849.
 MII PHY found at address 0, status 784d.
 MII PHY 0 at #1 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.
 MII PHY 1 at #24 transceiver registers:
   3000 784d 0000 0000 01e1 0000 0004 2001
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0080 00d0 0000 0000 0005 2001 0000
   0000 2040 07cf 1c11 0011 1000 0000 0000.
 MII PHY 2 at #0 transceiver registers:
   3000 784d 0000 0000 01e1 0000 0004 2001
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0080 0090 0000 0000 0005 2001 0000
   0000 2040 07cf 1c11 0011 1000 0000 0000.
 MII PHY #1 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.

-----------------------------------------------------------------

With 3Com driver:
3Com 3c90x Version 1.0.0d 1999 <linux_drivers@3com.com>
everything seems to be OK, switch reports:
Port Speed: 100Mbps FD FC
vortex-diag -aa shows:
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
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 f5f5 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: 5000 1d04 1075 0000 0000 0000 000a 4000.
  Window 3: 0000 0180 05ea 0120 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0ed8 0002 98e0 0000 8000.
  Window 5: 1ffc 0000 0000 1ffc 0805 06ee 06ee a000.
  Window 6: 0000 0000 0000 0400 0000 010c 02ec c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0002 e000.
Vortex chip registers at 0xe400
  0xE410: **FIFO** 00000000 00000000 *STATUS*
  0xE420: 00000120 0ff3bde0 00080000 00000804
  0xE430: 00000000 fb4431d9 0ff380a0 00080804
 Indication enable is 06ee, interrupt enable is 06ee.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  100baseTx 10baseT.
Transceiver type in use:  Autonegotiate.
 MAC settings: full-duplex, 802.1Q flow control.
 Station address set to 00:50:04:1d:75:10.
 Configuration options 4000.

vortex-diag -mm shows:
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
 MII PHY found at address 24, status 786d.
 MII PHY found at address 0, status 786d.
 MII PHY 0 at #24 transceiver registers:
   3000 786d 0000 0000 05e1 45e1 0005 2801
   0000 0000 0000 0000 0000 0000 0000 0000
   8000 0008 0090 0000 0000 0005 2001 0000
   0000 203e 00c4 1c11 0002 1000 0000 0000.
 MII PHY 1 at #0 transceiver registers:
   3000 786d 0000 0000 05e1 45e1 0005 2801
   0000 0000 0000 0000 0000 0000 0000 0000
   8000 0008 0090 0000 0000 0005 2001 0000
   0000 203e 00c4 1c11 0002 1000 0000 0000.
 MII PHY #24 transceiver registers:
   3000 786d 0000 0000 05e1 45e1 0005 2801
   0000 0000 0000 0000 0000 0000 0000 0000
   8000 0008 0090 0000 0000 0005 2001 0000
   0000 203e 00c4 1c11 0002 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 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.

vortex-diag -e
vortex-diag.c:v1.09 7/28/99 Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xe400.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:50:04:1D:75:10 (used as a unique ID only).
 OEM Station address 00:50:04:1D:75:10 (used as the ethernet 
address).
 Manufacture date (MM/DD/YYYY) 1/16/1999, division 6, product TV.
Options: none.
  Vortex format checksum is incorrect (0029 vs. 10b7).
  Cyclone format checksum is correct (0x1c vs. 0x1c).
  Hurricane format checksum is correct (0x1c vs. 0x1c).

But mii-diag shows strange errors:

mii-diag.c:v1.07 10/14/99  Donald Becker 
(becker@cesdis.gsfc.nasa.gov)
Using the default interface 'eth0'.
 MII PHY #3072 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x3000 ... 3000.
   Link status: not established.
   This transceiver is capable of  100baseTx 10baseT-FD.
   Unable to perform Auto-negotiation, negotiation not complete.
 MII PHY #3072 transceiver registers:
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000
   3000 3000 3000 3000 3000 3000 3000 3000.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 Basic mode status register 0x3000 ... 3000.
   Link status: not established.
   Capable of  100baseTx 10baseT-FD.
   Unable to perform Auto-negotiation, negotiation not complete.
 This transceiver has no vendor identification.
 I'm advertising 3000:
   Advertising no additional info pages.
   Using an unknown (non 802.3) encapsulation.
 Link partner capability is 3000:.
   Negotiation did not complete.

And, just to be sure, lspci output:

00:08.0 Ethernet controller: 3Com Corporation: Unknown device 9800 
(rev 30)
        Subsystem: Unknown device 10b7:9800
        Flags: bus master, medium devsel, latency 64, IRQ 10
        I/O ports at e400
        Memory at eb001000 (32-bit, non-prefetchable)
        Capabilities: [dc] Power Management version 1

If you need any additional info please let me know.

Best Regards,


Petr Soucek
Ryston Electronics s.r.o.
tel +420-2-61302222    fax +420-2-61302211 
Email: petr@ryston.cz  http://www.ryston.cz