[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