Problems with 3c59x and 3com Tornado

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I've got some strange problems with the 3c59x driver. The problem with
different versions of 3c59x in combination with the 2.2(.17)-Kernel
is: The insmod-command succeeds, I can ifconfig the device, get
link-up status at the switch, but can't get a packet of traffic,
neither in nor out. As far as I understand the output of mii-diag an
the driver's kern.info logs (see below), it seams to have problems to
correctly detect/initialize the transceiver?!

The NICs I've got problems with are 3Com 3c905C-TX, running in
different i386-Motherboards, connected via a Cisco Catalyst 2900 XL
switch, configured to enforce 100BaseTX Half-Duplex. One of the
machines has a SMC Etherpower-II as eth0 and the 3com as eth1, but the
problems are the same on machines with a single network interface.

The same setup works fine with kernel 2.4.2 and the driver distributed
with that one.

For some additional problems with the 2.4-ncpfs/ipx-Code I would like
to stay with the 2.2-Kernel for a while.

Thanks in advance,
       Jens.

-- 
   Jens Peter Lindemann <Jens.Lindemann@Biologie.Uni-Bielefeld.DE>
       Neurobiology, University of Bielefeld, D-33501 Bielefeld


Additional information:

(kernel 2.4.2)$ lspci -vx 

00:12.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 78)
        Subsystem: 3Com Corporation: Unknown device 1000
        Flags: bus master, medium devsel, latency 32, IRQ 17
        I/O ports at c000 [size=128]
        Memory at d5020000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2
00: b7 10 00 92 07 00 10 02 78 00 00 02 08 20 00 00
10: 01 c0 00 00 00 00 02 d5 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 00 10
30: 00 00 00 00 dc 00 00 00 00 00 00 00 0a 01 0a 0a

(kernel-2.2.17)$ mii-diag -v

mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 MII PHY #1 transceiver registers:
   0000 0020 0000 0000 01e0 0081 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0600 8610 0000 4000 0000 0000 0000 0000
   0000 0200 0000 0000 0000 0b2c 0000 0000.
 Basic mode control register 0x0000: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0x0020 ... 0020.
   Link status: not established.
   This transceiver is capable of <Warning! No media capabilities>.
   Unable to perform Auto-negotiation, negotiation complete.
 Your link partner is generating 100baseTx link beat  (no autonegotiation).

(kernel-2.4.2)$ mii-diag -v

 mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 MII PHY #24 transceiver registers:
   3000 782d 0041 6800 05e1 0081 0004 2001
   0000 0000 0000 0000 0000 0000 0000 0000
   0618 8611 0030 4001 40c8 a000 0000 0000
   d300 0220 8084 9119 0065 1b2c 7fff 0000.
 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 is generating 100baseTx link beat  (no autonegotiation).

(kernel-2.2.17)$ vortex-diag -aaee

vortex-diag.c:v2.04 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xc000.
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 e4cf 0000 8d8d 00bf ffff 0000.
  Window 1: FIFO FIFO 0700 0000 0000 007f 0000 2000.
  Window 2: 0100 be03 83ed 0000 0000 0000 0052 4000.
  Window 3: 0000 0180 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 08c6 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 1ffc 0800 06ce 06c6 a000.
  Window 6: 0000 0000 0100 0100 0000 003c 012c c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xc000
  0xC010: **FIFO** 00000000 0000000a *STATUS*
  0xC020: 00000020 00000000 00080000 00000004
  0xC030: 00000000 5d5da2a3 00000000 00080004
 Indication enable is 06c6, interrupt enable is 06ce.
 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:be:ed:83.
 Configuration options 0052.
EEPROM contents (64 words, offset 0):
 0x000: 0001 03be ed83 9200 0175 0048 4e48 6d50
 0x008: 2940 0800 0001 03be ed83 0010 0000 00aa
 0x010: 72a2 0000 0000 0180 0000 0000 0000 10b7
 0x018: 1000 000a 0000 6300 ffb7 b7b7 0000 0000
 0x020: 0089 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 0x7bd1.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:03:BE:ED:83 (used as a unique ID only).
 OEM Station address 00:01:03:BE:ED:83 (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 11/21/2000, division H, product HN.
Options: none.
  Vortex format checksum is incorrect (001f vs. 10b7).
  Cyclone format checksum is incorrect (0xa2 vs. 0x89).
  Hurricane format checksum is correct (0x89 vs. 0x89).

(kernel-2.4.2)$ vortex-diag -aaee

vortex-diag.c:v2.04 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xc000.
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 e4cf 0000 8d8d 00bf ffff 0000.
  Window 1: FIFO FIFO 0700 0000 0000 007f 0000 2000.
  Window 2: 0100 be03 83ed 0000 0000 0000 0052 4000.
  Window 3: 0000 0180 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0cc6 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
  Window 6: 0000 0000 0000 3101 0100 fc76 1020 c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xc000
  0xC010: **FIFO** 00000000 00000016 *STATUS*
  0xC020: 00000020 00000000 00080000 00000004
  0xC030: 00000000 0327fcd9 077a6100 00080004
 Indication enable is 06c6, interrupt enable is 06ce.
 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:be:ed:83.
 Configuration options 0052.
EEPROM contents (64 words, offset 0):
 0x000: 0001 03be ed83 9200 0175 0048 4e48 6d50
 0x008: 2940 0800 0001 03be ed83 0010 0000 00aa
 0x010: 72a2 0000 0000 0180 0000 0000 0000 10b7
 0x018: 1000 000a 0000 6300 ffb7 b7b7 0000 0000
 0x020: 0089 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 0x7bd1.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:03:BE:ED:83 (used as a unique ID only).
 OEM Station address 00:01:03:BE:ED:83 (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 11/21/2000, division H, product HN.
Options: none.
  Vortex format checksum is incorrect (001f vs. 10b7).
  Cyclone format checksum is incorrect (0xa2 vs. 0x89).
  Hurricane format checksum is correct (0x89 vs. 0x89).

Finally, examples for the kern.info messages are:

 (kernel-2.2.17)$ insmod 3c59x.o debug=7; ifconfig (...)

 kernel: 3c59x.c 15Sep00 Donald Becker and others http://www.scyld.com/network/vortex.html
 kernel: eth0: 3Com 3c905C Tornado at 0xc000,  00:01:03:be:ed:83, IRQ 17
 kernel:   8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
 kernel:   MII transceiver found at address 1, status   24.
 kernel:   MII transceiver found at address 2, status   24.
 kernel:   Enabling bus-master transmits and whole-frame receives.
 kernel: eth0: MII #1 status 0024, link partner capability 0081, setting half-duplex. 

 (kernel-2.2.17)$ insmod debug=7 options=4 full_duplex=0; ifconfig (...)

 kernel: 3c59x.c 15Sep00 Donald Becker and others http://www.scyld.com/network/vortex.html
 kernel: eth0: 3Com 3c905C Tornado at 0xc000,  00:01:03:be:ed:83, IRQ 17
 kernel:   8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
 kernel:   Media override to transceiver type 4 (100baseTX).
 kernel:   Enabling bus-master transmits and whole-frame receives.
 kernel: eth0: Media override to transceiver 4 (100baseTX).

 (kernel-2.2.17)$ insmod debug=7 options=7 ; ifconfig (...)

 kernel: 3c59x.c 15Sep00 Donald Becker and others http://www.scyld.com/network/vortex.html
 kernel: eth0: 3Com 3c905C Tornado at 0xc000,  00:01:03:be:ed:83, IRQ 17
 kernel:   8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
 kernel:   MII transceiver found at address 1, status   24.
 kernel:   MII transceiver found at address 2, status   24.
 kernel:   Enabling bus-master transmits and whole-frame receives.
 kernel: eth0: MII #1 status 0024, link partner capability 0081, setting half-duplex.

 (kernel-2.4.2)$ insmod 3c59x debug=7

 kernel: 3c59x.c:LK1.1.12 06 Jan 2000  Donald Becker and others. http://www.scyld.com/network/vortex.html $Revision: 1.102.2.46 $
 kernel: See Documentation/networking/vortex.txt
 kernel: eth0: 3Com PCI 3c905C Tornado at 0xc000,  00:01:03:be:ed:83, IRQ 17
 kernel:   product code 'HN' rev 00.3 date 11-21-00
 kernel:   8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
 kernel:   MII transceiver found at address 24, status 782d.
 kernel: 3c59x: Wake-on-LAN functions disabled
 kernel:   Enabling bus-master transmits and whole-frame receives.
 kernel: eth0: using NWAY autonegotiation
 kernel: eth0: MII #24 status 782d, link partner capability 0081, setting half-duplex.
 kernel: eth0: command 0x2800 took 30380 usecs! Please tell andrewm@uow.edu.au

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux