[vortex] 3c905b problem
Denis Kaganovich
mahatma at bspu.unibel.by
Thu Aug 24 09:40:18 PDT 2006
I have some problems with kernel-included (2.6.18-rc4) driver and 3c905b card. I
am use it to communicate with ZyXEL 841 VDSL adapter, then I will try to solve
part of problems self, but some stranges/errors are universal. But not related
to software-indicated bugs, time-to-time link are lost, but ZyXEL & MII indicate
link OK. Also I don't know how to compile (prefer - inside of kernel) new
(scyld.com) driver.
I use fixed mode all devices: 100Mbit full-duplex, autonegotiation possible, but
difficult (configurable ZyXEL 841c now moved on provider-side and I prefer
100Mbit vs. autonegotiated 10Mbit for current VDSL speed - I use 802.3x PAUSE
based shed_psp). If I try autonegotiation with fixed mode on ZyXEL, I get "eth0:
link ok" (mii-tool), but ZyXEL indicate no link ("10/100/no link" led) and no
link works (If I use rtl8139 card - "no link" autonegotiated & shown by MII &
ZyXEL).
Used 3COM DOS configurator to setting card to 100Mbs full-duplex, also driver
options (default, for all units) set to fullduplex 1, flowcontrol 1. Was trying
"tx_interrupt_mitigation 0", but now return to 1 (up to link lost solving) -
there are router role PC, CPU load better then stalled HW. All other
perfomance/hardware options now default.
Software (log & diag) say about 10Mbs AUI, but 100Mbs active and work.
100Mbs active diag:
vortex-diag.c:v2.16 1/12/2004 Donald Becker (becker at scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xc400.
Station address 00:0a:48:14:7c:d1.
Receive mode is 0x07: Normal unicast and all multicast.
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 fdfd 00bf 0000 0000.
Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
Window 2: 0a00 1448 d17c 0000 0000 0000 0002 4000.
Window 3: 0000 0010 05ea 0020 000a 0800 0800 6000.
Window 4: 0000 0000 0000 0cf2 0001 8808 2100 8000.
Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
Window 6: 0000 0000 0000 1500 2000 27bf 743c c000.
Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xc400
0xC410: **FIFO** 00000000 00000010 *STATUS*
0xC420: 00000020 00000000 00080000 00000004
0xC430: 00000000 271fd8e1 01246060 00080004
0xC440: 00f8df64 00000000 00000000 00000000
0xC450: 00000000 00000000 00000000 00000000
0xC460: 00000000 00000000 00000000 00000000
0xC470: 00001000 00000000 01600080 00000000
DMA control register is 00000020.
Tx list starts at 00000000.
Tx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to empty.
Rx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to full.
Poll period Tx 00 ns., Rx 0 ns.
Maximum burst recorded Tx 128, Rx 352.
Indication enable is 06c6, interrupt enable is 06ce.
No interrupt sources are pending.
Transceiver/media interfaces available: 100baseTx 10baseT.
Transceiver type in use: 10Mbs AUI.
MAC settings: full-duplex.
Station address set to 00:0a:48:14:7c:d1.
Configuration options 0002.
log (debug level 6, init time, no link):
ns1 0000:01:04.0: 3Com PCI 3c905B Cyclone 100baseTx at d081a000.
ns1 00:50:04:46:33:2a, IRQ 169
ns1 product code 5447 rev 00.9 date 05-15-99
ns1 Full duplex capable
ns1 Internal config register is 400000, transceivers 0xa.
ns1 8K byte-wide RAM 5:3 Rx:Tx split, 100baseTX interface.
ns1 0000:01:04.0: Media override to transceiver type 1 (10Mbs AUI).
log time-to-time messages (work near fine):
ns1 eth0: vortex_error(), status=0x8081
...
ns1 eth0: Media 10Mbs AUI has no indication, 8808.
...
ns1 eth0: Media selection timer finished, 10Mbs AUI.
...
ns1 eth0: Media selection timer tick happened, 10Mbs AUI.
--
WBR,
Denis Kaganovich, mahatma at eu.by http://mahatma.bspu.unibel.by
More information about the vortex
mailing list