[vortex] PCI NIC 3C980 driver under kernel 2.4.18

Erich Minderlein eminderlein@locoware.de
Tue Dec 17 16:01:00 2002


Dear Sirs,

in 2000 I bought a Server System with a configuration of 3 NIC,
(1* eeproo100, onboard  2 of the above plug in)
see the output of lspci -vx following as attachm. 1

It had a SuSE 7.0 with kernel 2.2.16 preinstalled and worked fine
with the 3COM NIC (of which eth2 is not used yet) at eth1 used at 
seemingly 100 Mbit and Full duplex. I never cared, it worked.

4 xterminals (with 3c905) could be operated simultaneously and nfs 
mounts for notebook and other desktops were at speeds with unnoticable 
delays.

with module 3c90x.
see modules.conf following
======================================
#
# Copyright (c) 1996-2000 SuSE GmbH Nuernberg, Germany.  All rights 
reserved.
#
# Author: Hubert Mantel <mantel@suse.de>, 1996-2000
#
# Configuration file for loadable modules; used by modprobe and kerneld
#

# Aliases - specify your hardware
alias eth1 3c90x
alias eth2 3c90x
alias tr0 off
alias scsi_hostadapter off
alias fb0 off
cut on
...
cut off
# options eepro100
# options 3c90x


# YaST2: Network card
alias eth0 eepro100
end modules.conf
=========================================

For the usual reasons (missing functionality) I updated to SuSE 7.3., 
which originally comes with a 2.4.10, and to a selfcompiled kernel 
2.4.18 in April this year.

kernel 2.4.18 seems to have only this driver for 3com PCI NIC 3C980
ls -l /usr/src/linux-2.4.18/drivers/net/3c59x.c
-rw-r--r--    1 573      573         99841 Dez 21  2001 
/usr/src/linux-2.4.18/drivers/net/3c59x.c

I used
options=12,12 and various other such as options=0x0204,0x0204

This combination runs with only 10 Mbit / s , if it runs at all

Observing the hint of using the 3COM provided DOS tool to set
the NIC EEPROM has had disastrous effects today, such as destroying 3 
partitions and making all 3 network cards disappear on start of the 
kernel. (insmod failed 3X) (it is a linux only server. )

In April 2001 it seemed that development on 3com NICs was continuing
and I stopped using this server, but I am forced now to have it up and 
running by beginning of next year as it must be used again.

AFAIK I have studied kernel.org, support.3com.com, (which point to your 
HP), lots of googling, and did not find consistent advice. This is 
confusing me.
There is extreme little reference to kernel 2.4.x(18)  and the 3c90x has 
disappeared. you write they have been merged into 3c59x.

What is the correct driver (version) for this card ?
(Python-T is not mentioned in my 3c59x.c)

What are the correct options for FD 100MB/s ? for other cards it says 
0x0204, but ... dont work.

what is the sequence to avoid eepro100 not interfering with probing and 
goofing the 3com NICs? I remember it happened before

I want to include the module when compiling the kernel, as I have this 
running automagically in my homebrew bash script. How do I achieve this 
? make ... ( I am a "dumb" user, not a kernel developper)

any hint is aprecciated.

thx
Erich Minderlein


appendices:

see output of mii-diag:(at a time when nothing worked. )
=======================================================
This is output of : mii-diag -v eth1

mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
  http://www.scyld.com/diag/index.html
  MII PHY #0 transceiver registers:
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000.
  Basic mode control register 0x0000: Auto-negotiation disabled, with
  Speed fixed at 10 mbps, half-duplex.
  Basic mode status register 0x0000 ... 0000.
    Link status: not established.
    This transceiver is capable of <Warning! No media capabilities>.
    Unable to perform Auto-negotiation, negotiation not complete.
  Link partner information information is not exchanged when in fixed 
speed mode.
  MII PHY #0 transceiver registers:
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000.
  Basic mode control register 0x0000: Auto-negotiation disabled!
    Speed fixed at 10 mbps, half-duplex.
  Basic mode status register 0x0000 ... 0000.
    Link status: not established.
    Capable of <Warning! No media capabilities>.
    Unable to perform Auto-negotiation, negotiation not complete.
  This transceiver has no vendor identification.
  I'm advertising 0000:
    Advertising no additional info pages.
    Using an unknown (non 802.3) encapsulation.
  Link partner capability is 0000:.
    Negotiation did not complete.
=========================================================
This is output of : mii-diag -v eth2

mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
  http://www.scyld.com/diag/index.html
  MII PHY #0 transceiver registers:
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000.
  Basic mode control register 0x0000: Auto-negotiation disabled, with
  Speed fixed at 10 mbps, half-duplex.
  Basic mode status register 0x0000 ... 0000.
    Link status: not established.
    This transceiver is capable of <Warning! No media capabilities>.
    Unable to perform Auto-negotiation, negotiation not complete.
  Link partner information information is not exchanged when in fixed 
speed mode.
  MII PHY #0 transceiver registers:
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000.
  Basic mode control register 0x0000: Auto-negotiation disabled!
    Speed fixed at 10 mbps, half-duplex.
  Basic mode status register 0x0000 ... 0000.
    Link status: not established.
    Capable of <Warning! No media capabilities>.
    Unable to perform Auto-negotiation, negotiation not complete.
  This transceiver has no vendor identification.
  I'm advertising 0000:
    Advertising no additional info pages.
    Using an unknown (non 802.3) encapsulation.
  Link partner capability is 0000:.
    Negotiation did not complete.
====================================================================
uname -a
Linux peter 2.4.18 #23 SMP Mon Dez 16 23:39:42 CET 2002 i686 unknown
====================================================================
this is output of lspci -vx (another time)
00:00.0 Host bridge: ServerWorks CNB20LE (rev 06)
	Flags: bus master, medium devsel, latency 32
00: 66 11 09 00 47 01 00 22 06 00 00 06 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:00.1 Host bridge: ServerWorks CNB20LE (rev 06)
	Flags: bus master, medium devsel, latency 48
00: 66 11 09 00 47 01 00 02 06 00 00 06 08 30 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] 
(rev 08)
	Subsystem: Intel Corporation EtherExpress PRO/100+ Server Adapter 
(PILA8470B)
	Flags: bus master, medium devsel, latency 32, IRQ 20
	Memory at fd000000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at d800 [size=64]
	Memory at fc800000 (32-bit, non-prefetchable) [size=1M]
	Capabilities: [dc] Power Management version 2
00: 86 80 29 12 57 00 90 02 08 00 00 02 08 20 00 00
10: 00 00 00 fd 01 d8 00 00 00 00 80 fc 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 0c 10
30: 00 00 00 00 dc 00 00 00 00 00 00 00 0f 01 08 38

00:03.0 Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC 
[Python-T] (rev 78)
	Subsystem: 3Com Corporation: Unknown device 1000
	Flags: bus master, medium devsel, latency 32, IRQ 16
	I/O ports at d400 [size=128]
	Memory at fc000000 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2
00: b7 10 05 98 57 00 10 02 78 00 00 02 08 20 00 00
10: 01 d4 00 00 00 00 00 fc 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 0b 01 0a 0a

00:04.0 Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC 
[Python-T] (rev 78)
	Subsystem: 3Com Corporation: Unknown device 1000
	Flags: bus master, medium devsel, latency 32, IRQ 17
	I/O ports at d000 [size=128]
	Memory at fb800000 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2
00: b7 10 05 98 57 00 10 02 78 00 00 02 08 20 00 00
10: 01 d0 00 00 00 00 80 fb 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

00:07.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 
(prog-if 00 [VGA])
	Subsystem: Asustek Computer, Inc.: Unknown device 802b
	Flags: bus master, stepping, medium devsel, latency 32
	Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
	I/O ports at f000 [size=256]
	Memory at f9800000 (32-bit, non-prefetchable) [size=4K]
	Expansion ROM at feba0000 [disabled] [size=128K]
	Capabilities: [5c] Power Management version 2
00: 02 10 52 47 87 00 90 02 27 00 00 03 08 20 00 00
10: 00 00 00 fa 01 f0 00 00 00 00 80 f9 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 2b 80
30: 00 00 ba fe 5c 00 00 00 00 00 00 00 ff 00 08 00

00:0f.0 ISA bridge: ServerWorks OSB4 (rev 50)
	Subsystem: ServerWorks OSB4
	Flags: bus master, medium devsel, latency 0
00: 66 11 00 02 47 00 00 02 50 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 66 11 00 02
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0f.1 IDE interface: ServerWorks: Unknown device 0211 (prog-if 8a 
[Master SecP PriP])
	Flags: bus master, medium devsel, latency 64
	I/O ports at b400 [size=16]
00: 66 11 11 02 05 00 00 02 00 8a 01 01 00 40 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0f.2 USB Controller: ServerWorks: Unknown device 0220 (rev 04) 
(prog-if 10 [OHCI])
	Subsystem: ServerWorks: Unknown device 0220
	Flags: bus master, medium devsel, latency 32, IRQ 9
	Memory at f9000000 (32-bit, non-prefetchable) [size=4K]
00: 66 11 20 02 57 00 80 02 04 10 03 0c 08 20 80 00
10: 00 00 00 f9 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 66 11 20 02
30: 00 00 00 00 00 00 00 00 00 00 00 00 09 01 00 50

01:02.0 SCSI storage controller: ICP Vortex Computersysteme GmbH GDT 
7543RN/7643RN
	Subsystem: ICP Vortex Computersysteme GmbH GDT 7543RN/7643RN
	Flags: bus master, medium devsel, latency 32, IRQ 21
	Memory at fe000000 (32-bit, prefetchable) [size=16K]
	Expansion ROM at <unassigned> [disabled] [size=32K]
	Capabilities: [80] Power Management version 2
00: 19 11 6d 01 56 00 90 02 00 00 00 01 08 20 00 00
10: 08 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 19 11 6d 01
30: 00 00 00 00 80 00 00 00 00 00 00 00 0e 01 00 00

01:05.0 SCSI storage controller: LSI Logic Corp. / Symbios Logic Inc. 
(formerly NCR) 53c1010 Ultra3 SCSI Adapter (rev 01)
	Flags: bus master, medium devsel, latency 72, IRQ 24
	I/O ports at b000 [size=256]
	Memory at f8800000 (64-bit, non-prefetchable) [size=1K]
	Memory at f8000000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: [40] Power Management version 2
00: 00 10 20 00 57 00 10 02 01 00 00 01 08 48 80 00
10: 01 b0 00 00 04 00 80 f8 00 00 00 00 04 00 00 f8
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 05 01 11 12

01:05.1 SCSI storage controller: LSI Logic Corp. / Symbios Logic Inc. 
(formerly NCR) 53c1010 Ultra3 SCSI Adapter (rev 01)
	Flags: bus master, medium devsel, latency 72, IRQ 25
	I/O ports at a800 [size=256]
	Memory at f7800000 (64-bit, non-prefetchable) [size=1K]
	Memory at f7000000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: [40] Power Management version 2
00: 00 10 20 00 57 00 10 02 01 00 00 01 08 48 80 00
10: 01 a8 00 00 04 00 80 f7 00 00 00 00 04 00 00 f7
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 09 02 11 12

eof