[vortex] 3c905CX-TXM
Donald Becker
becker@scyld.com
Thu, 23 Nov 2000 11:55:51 -0500 (EST)
On Thu, 23 Nov 2000, Berkan Eskikaya wrote:
> I recently bought several OEM 3Com NICs. The stickers on the bubble-wrap
> said they're 3C980TX, on the cards themselves the model id is given as
> 3c905CX-TXM.
Hmmm, "CX"???
> I haven't been able to get them working so far. The driver loads fine,
> I can bring up the eth device, but the network remains unreachable.
> The MII transceivers have status 0x0020 which makes me think that things
> don't progress beyond the negotiation step.
That status indicates that the transceiver isn't capable of any media type!
Somehow the transceiver is misconfigured.
> user. At the end of the mail, you can also find debug messages produced
> by 3Com's 3c90x driver (which fails at the ifconfig stage).
Please confirm: Even 3Com's driver fails?
> 3c59x.c:v0.99Ra 8/7/2000 Donald Becker, becker@scyld.com
> http://www.scyld.com/network/vortex.html
> PCI ID 920010b7 subsystem ID is 100010b7.
> Found 3c905C Tornado at PCI address 0xc001, mapped IRQ 10.
> eth1: 3Com 3c905C Tornado at 0xc000, 00:01:03:23:f5:b7, IRQ 10
> Internal config register is 1800000, transceivers 0xa.
> 8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
> MII transceiver found at address 1, status 24.
> MII transceiver found at address 2, status 24.
> Enabling bus-master transmits and whole-frame receives.
Except for the transceiver status, this looks fine.
> Basic registers of MII PHY #1: 0000 0020 0000 0000 01e0 40a1 0003 0800.
> Basic mode control register 0x0000: Auto-negotiation disabled, with
> Speed fixed at 10 mbps, half-duplex.
Does the card work with 10baseT?
Does running
mii-diag -A 0x01e1
or
mii-diag -A 100baseTx
or
mii-diag -F 100baseTx
change anything?
> Basic mode status register 0x0020 ... 0020.
> Link status: not established.
> Your link partner advertised 40a1: 100baseTx 10baseT.
Curious... autonegotiation took place! You have a dual speed repeater.
> eth1: Initial media type Autonegotiate half-duplex.
> eth1: MII #1 status 0024, link partner capability 40a1, setting half-duplex.
> eth1: vortex_open() irq 10 media status 8000.
> eth1: Media selection timer tick happened, Autonegotiate.
> eth1: MII transceiver has status 0020.
> eth1: Media selection timer finished, Autonegotiate.
This is exactly what I expect the driver to do.
> eth1: Queuing Tx packet, index 0.
> eth1: interrupt, status 8201, latency 10 ticks.
> eth1: Queuing Tx packet, index 1.
> eth1: interrupt, status 8201, latency 3 ticks.
> eth1: Queuing Tx packet, index 2.
> eth1: interrupt, status 8201, latency 8 ticks.
> eth1: Queuing Tx packet, index 3.
> eth1: interrupt, status 8201, latency 3 ticks.
> eth1: Queuing Tx packet, index 4.
> eth1: interrupt, status 8201, latency 2 ticks.
The card appears to be working, at least from the driver's viewpoint.
> $ vortex-diag -t 17 -p 0xc000 -a -f
Did you have to do this? Did the vortex-diag program fail to find the card
on its own?
> vortex-diag.c:v2.03 9/26/2000 Donald Becker (becker@scyld.com)
> http://www.scyld.com/diag/index.html
> Assuming a 3c905C Tornado 100baseTx adapter at 0xc000.
> Initial window 4, registers values by window:
> Window 0: 0000 0000 e4cf 0000 8d8d 00bf ffff 0000.
> Window 1: 6300 043e 0700 0000 0000 007f 0000 2000.
> Window 2: 0100 2303 b7f5 0000 0000 0000 0052 4000.
> Window 3: 0000 0180 05ea 0000 000a 0800 0800 6000.
> Window 4: 0000 0000 0000 08c6 0001 8800 0000 8000.
> Window 5: 1ffc 0000 0000 1ffc 0800 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 0xc000
> 0xC010: 00000000 00000000 0000000a 00000000
> 0xC020: 00000020 0f094250 00080000 00001404
> 0xC030: 00000000 3e5fc1a1 00000000 00080004
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993