[vortex] driver problem

Chris Jones chris@black-sun.co.uk
Mon, 11 Sep 2000 22:09:47 +0100


Hi

I've just installed a 3c905B 100BaseTX [Cyclone] (rev 30) in my machine
(Abit BP6, celeron 433's, g400, sb live, aha2940u2w, bt878 wintv) running
kernel 2.4.0-test7 and I am getting very poor transfer rates to/from the
other machines on the network (a simple three box, 1 hub, 10Mb UTP LAN). 

I did a search through the various vortex mailing lists and noted a similar
instance, but from a kernel 2.2.x user who was recommended to try the fixed
driver from andrewm. I visited the site to discover that there was a 2.3.99
version of the driver, but nothing more recent.
Is a patch for this bug available (I assume it is a bug - the card transfers
at full speed in win2k) for the 2.4.x series kernels? I got this card with
the intention of upgrading the LAN to 100Mb, but I'll hold out on buying a
new hub until the card is working properly ;)

I have included some information that may be useful.

Many thanks,

-- 
 _____ _         _       _____
| __  | |___ ___| |_ ___|   __|_ _ ___        Chris "Ng" Jones
| __ -| | .'|  _| '_|___|__   | | |   |  chris@black-sun.co.uk
|_____|_|__,|___|_,_|   |_____|___|_|_|    www.black-sun.co.uk
            S o f t w a r e

The following sort of message appears in /var/log/messages when transferring
data (with the driver set to output at it's default level - 1 I believe):

Sep 11 22:01:16 tenshu kernel:   Flags; bus-master 1, full 0; dirty 195(3)
current 197(5). 
Sep 11 22:01:16 tenshu kernel:   Transmit list 00000000 vs. c8723230. 
Sep 11 22:01:16 tenshu kernel:   0: @c8723200  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   1: @c8723210  length 8000004a status
0001004a 
Sep 11 22:01:16 tenshu kernel:   2: @c8723220  length 800005ea status
000105ea 
Sep 11 22:01:16 tenshu kernel:   3: @c8723230  length 800005ea status
000105ea 
Sep 11 22:01:16 tenshu kernel:   4: @c8723240  length 800004f2 status
800104f2 
Sep 11 22:01:16 tenshu kernel:   5: @c8723250  length 8000003c status
0001003c 
Sep 11 22:01:16 tenshu kernel:   6: @c8723260  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   7: @c8723270  length 8000004a status
0001004a 
Sep 11 22:01:16 tenshu kernel:   8: @c8723280  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   9: @c8723290  length 8000004a status
0001004a 
Sep 11 22:01:16 tenshu kernel:   10: @c87232a0  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   11: @c87232b0  length 8000003e status
0001003e 
Sep 11 22:01:16 tenshu kernel:   12: @c87232c0  length 8000003c status
0001003c 
Sep 11 22:01:16 tenshu kernel:   13: @c87232d0  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   14: @c87232e0  length 80000042 status
00010042 
Sep 11 22:01:16 tenshu kernel:   15: @c87232f0  length 8000004a status
0001004a 

Loading the 3c59x kernel module gives the following output:

Sep 11 21:58:31 tenshu kernel: 3c59x.c:LK1.1.8  13 Aug 2000  Donald Becker
and others. http://www.scyld.com/network/vortex.html $Revision: 1.102.2.25 $ 
Sep 11 21:58:31 tenshu kernel: See Documentation/networking/vortex.txt 
Sep 11 21:58:31 tenshu kernel: eth0: 3Com PCI 3c905B Cyclone 100baseTx at
0xd000,  00:10:5a:20:60:12, IRQ 16 
Sep 11 21:58:31 tenshu kernel:   8K byte-wide RAM 5:3 Rx:Tx split,
autoselect/Autonegotiate interface. 
Sep 11 21:58:31 tenshu kernel:   MII transceiver found at address 24, status
786d. 
Sep 11 21:58:31 tenshu kernel:   MII transceiver found at address 0, status
786d. 
Sep 11 21:58:31 tenshu kernel:   Enabling bus-master transmits and
whole-frame receives. 

Bringing the interface associated with the card up gives:

Sep 11 21:58:37 tenshu kernel: eth0: using NWAY autonegotiation 

lspci -v reports this for the card:

00:0f.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone]
(rev 30)
        Subsystem: Unknown device 10b7:9055
        Flags: bus master, medium devsel, latency 32, IRQ 16
        I/O ports at d000
        Memory at d7003000 (32-bit, non-prefetchable)
        Capabilities: [dc] Power Management version 1

/proc/interrupts shows that the card is sharing an IRQ with my g400 thus:

 16:      89263      89137   IO-APIC-level  mga@PCI:1:0:0, eth0

ifconfig reports this for the interface:

eth0      Link encap:Ethernet  HWaddr 00:10:5A:20:60:12  
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:248 errors:0 dropped:0 overruns:0 frame:0
          TX packets:293 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:16 Base address:0xd000