[vortex] 3c905 and 3c980 don't work with kernel 2.4.17

Georg Wechslberger Georg.We@t-online.de
Fri Mar 1 11:06:01 2002


Hi!

In my server there are 4 Nics :  1x Realtek 8139, 1x Intel i82555, 1x
3com 3c905, 1x 3com 3c980
They are all connected to a 3Com Superstak II 3300 switch, and i use the
newest driver from scyld
All 4 Nic are put together in 1 bonding interface.

My Problem is, that the 3c980 seems to be unable to do autonegotiation,
but all the other cards can do it succesfully. Even if I force the Nic
in the 100Tx-FD mode with mii-diag , the card sometimes ignores it at
all, or it work's in 100Tx-HD mode (at least the switch reports that
speed).
Now how can I get the card to work in 100Tx-FD mode?

Another thing is that the 3c905 does autonegotiation, but when you try
to ping, the Nic just looses the link untill you stop all traffic that
want's to go through this Card.

In addition the driver does ignore the options=0x208 or full_duplex=1
options. Mii-diag always reports the same.


By the way the whole system worked properly with the old 2.4.5 Kernel.

Driver loading

Mar  1 16:18:33 indersdorfer3 kernel: 3c59x.c:v0.99U 7/30/2001 Donald
Becker, becker@scyld.com
Mar  1 16:18:33 indersdorfer3 kernel:
http://www.scyld.com/network/vortex.htmlMar  1 16:18:33 indersdorfer3
kernel: eth1: 3Com 3c980 Cyclone at 0xdc82c000,  00:50:04:17:93:90, IRQ
12
Mar  1 16:18:33 indersdorfer3 kernel:   8K buffer 5:3 Rx:Tx split,
100baseTX interface.
Mar  1 16:18:33 indersdorfer3 kernel:   Media override to transceiver
type 4 (100baseTX).
Mar  1 16:18:33 indersdorfer3 kernel:   MII transceiver found at address
24, status 7849.
Mar  1 16:18:33 indersdorfer3 kernel:   MII transceiver found at address
0, status 7849.
Mar  1 16:18:33 indersdorfer3 kernel:   Using bus-master transmits and
whole-frame receives.

Mar  1 16:18:33 indersdorfer3 kernel: eth2: 3Com 3c905C Tornado at
0xdc82e000,
00:01:02:43:5c:fb, IRQ 11
Mar  1 16:18:33 indersdorfer3 kernel:   8K buffer 5:3 Rx:Tx split,
autoselect/Autonegotiate interface.
Mar  1 16:18:33 indersdorfer3 kernel:   Media override to transceiver
type 8 (Autonegotiate).
Mar  1 16:18:33 indersdorfer3 kernel:   MII transceiver found at address
24, status 782d.
Mar  1 16:18:33 indersdorfer3 kernel:   Using bus-master transmits and
whole-frame receives.

Here is what mii-diag tell's you:

Eth1 (3c980)
Basic registers of MII PHY #24:  3000 784d 0000 0000 bd5f 0000 0004
2001.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
 Your link partner does not do autonegotiation, and this transceiver
type
  does not report the sensed link speed.
   End of basic transceiver information.

Eth2(3c905)
Basic registers of MII PHY #24:  3000 782d 0040 6176 05e1 45e1 0003
0000.
 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.
 Your link partner advertised 45e1: Flow-control 100baseTx-FD 100baseTx
10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.


Vortex-diag output:
vortex-diag.c:v2.05 5/15/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c980 Cyclone, server edition adapter at 0xdc00.
EEPROM contents (64 words, offset 0):
 0x000: 0050 0417 9390 9800 c626 0036 5554 6d50
 0x008: 2979 0000 0050 0417 9390 8020 0000 002a
 0x010: 32a2 0000 0000 0040 0000 0005 0000 10b7
 0x018: 9800 000a 0000 0000 0000 0000 0000 0000
 0x020: 0048 0000 0000 0000 0000 0000 0000 0000
 0x028: 0000 0000 0000 0000 0000 0000 0000 0000
 0x030: 0000 0000 0000 0000 0000 0000 0000 0000
 0x038: 0000 0000 0000 0000 0000 0000 0000 0000
 The word-wide EEPROM checksum is 0xd6a1.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:50:04:17:93:90 (used as a unique ID only).
 OEM Station address 00:50:04:17:93:90 (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 1/6/1999, division 6, product TU.
 Options: force full duplex, link beat required.
  Vortex format checksum is incorrect (007d vs. 10b7).
  Cyclone format checksum is correct (0x48 vs. 0x48).
  Hurricane format checksum is correct (0x48 vs. 0x48).
Index #2: Found a 3c905C Tornado 100baseTx adapter at 0xe400.
EEPROM contents (64 words, offset 0):
 0x000: 0001 0243 5cfb 9200 007d 0048 4a46 6d50
 0x008: 2940 0800 0001 0243 5cfb 0010 0000 00aa
 0x010: 72a2 0000 0000 0180 0000 0000 0429 10b7
 0x018: 1000 000a 0002 6300 ffb7 b7b7 0000 0000
 0x020: 008a 1234 5600 0000 0000 0000 0000 0000
 0x028: 0000 0000 0000 0000 0000 0000 0000 0000
 0x030: ffff ffff ffff ffff ffff ffff ffff ffff
 0x038: ffff ffff ffff ffff ffff ffff ffff ffff
 The word-wide EEPROM checksum is 0x56fd.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:02:43:5C:FB (used as a unique ID only).
 OEM Station address 00:01:02:43:5C:FB (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 3/29/2000, division H, product FJ.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is incorrect (001c vs. 10b7).
  Cyclone format checksum is incorrect (0x8c vs. 0x8a).
  Hurricane format checksum is incorrect (0xa5 vs. 0x8a).