Bug 115511 - Setup not detecting and setting up 3COM 3C940 network card in Fedora 2
Summary: Setup not detecting and setting up 3COM 3C940 network card in Fedora 2
Alias: None
Product: Fedora
Classification: Fedora
Component: hwdata
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact:
: 115512 115528 115609 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2004-02-13 05:56 UTC by Jerone Young
Modified: 2014-03-17 02:42 UTC (History)
7 users (show)

Fixed In Version: 0.109-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2004-02-23 17:51:30 UTC

Attachments (Terms of Use)

Description Jerone Young 2004-02-13 05:56:07 UTC
Description of problem:
Setup does not detect and setup 3com 3c940 network card (integrated on
 Asus K8V motherboard) which uses the "sk98lin" network driver. I have
to setup it up manually. Here is some output on the card.

lspci -v 
0000:00:0a.0 Ethernet controller: 3Com Corporation 3c940 1000Base?
(rev 12)
        Subsystem: Asustek Computer, Inc.: Unknown device 80eb
        Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 10
        Memory at f7e00000 (32-bit, non-prefetchable)
        I/O ports at b000 [size=256]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Vital Product Data

lspci -nvs
0000:00:0a.0 Class 0200: 10b7:1700 (rev 12)
        Subsystem: 1043:80eb
        Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 10
        Memory at f7e00000 (32-bit, non-prefetchable)
        I/O ports at b000 [size=256]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Vital Product Data

Comment 1 Gene Czarcinski 2004-02-13 10:24:25 UTC
*** Bug 115528 has been marked as a duplicate of this bug. ***

Comment 2 Gene Czarcinski 2004-02-13 10:25:22 UTC
On FC1, the driver was not recognized either but there was a prompt
where I could manually select the sk98lin driver.

Comment 3 Jerone Young 2004-02-13 14:56:17 UTC
But if a not so knowing user installs Fedora and has this network card
, how are they supposed to know this, isn't this what the automated
setup it for?

Comment 4 Dave Habben 2004-02-13 18:15:03 UTC
One of these two should be closed as a duplicate bug 115512

Comment 5 Jerone Young 2004-02-13 19:08:27 UTC
*** Bug 115512 has been marked as a duplicate of this bug. ***

Comment 6 Dave Habben 2004-02-13 19:11:57 UTC
Adding my output from the duplicated bug

Abit KV8-MAX3 with a integrated 3Com 3C940

lspci -vv
0000:00:0e.0 Ethernet controller: 3Com Corporation 3c940 1000Base?
(rev 12)
        Subsystem: ABIT Computer Corp.: Unknown device 1406
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (5750ns min, 7750ns max), cache line size 08
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at eb004000 (32-bit, non-prefetchable)
        Region 1: I/O ports at b800 [size=256]
        Capabilities: [48] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
                Status: D0 PME-Enable+ DSel=7 DScale=1 PME-
        Capabilities: [50] Vital Product Data

Comment 7 Gene Czarcinski 2004-02-13 19:18:54 UTC
I just noticed that this was filed against setup.  I believe it should
be filed against anaconda (the installer).  Setup has nothing to do
with this problem.

BTW, the 3C940 works fine after the system is installed and it is

The problem is twofold:

1. The 3C940 is not recognized as needing the sk98lin driver.

2. Anaconda has lost the capability to manually select a driver for a NIC.

Comment 8 Gene Czarcinski 2004-02-13 19:21:46 UTC
I am adding Jeremy Katz as a CC since he is currently handling at
least first cut on anaconda problems.

Comment 9 Bill Nottingham 2004-02-13 20:59:29 UTC
Jeff/Dave: why doesn't the sk98lin driver have ID tables?

Comment 10 Gene Czarcinski 2004-02-13 22:07:09 UTC
OK, looks like there may be two problems here ...

1. sk98lin should have table to handle 3c940 (or at least that is how
I interpret Bills comment).

2. Regardless, the Manual slect is notworking.  I just checked
anaconda and the code is still there in loader2/loader.c ... it just
is not getting executed.

Comment 11 Dave Jones 2004-02-13 22:30:25 UTC

See the macro at line 82 of drivers/net/sk98lin/h/skdrv2nd.h

Yes, this is horrible horrible code.

Comment 12 Dave Jones 2004-02-13 22:38:54 UTC
As a quick fix, I've added the ID to this massive chunk of code.
Long term, I've also added "convert this driver to use PCI API" to my
todo list.

It should be in the next kernel build.

Comment 13 Gene Czarcinski 2004-02-13 22:50:42 UTC
If you can figure a way to test this before test2, I can give it a try.

Fixing the driver do not explain why the manual selection prompt did
not work.

Comment 14 Dimitris 2004-02-14 04:03:24 UTC
I think using the sk98lin driver is a mistake:

the sk98lin driver was made for the SysKonnect chipset, which is
indeed used by the 3Com 3c940/3c2000 gigabit ethernet.

the problem is, that the 3Com 3c940/3c2000 have some differences,
and 3Com has released its own drivers for Linux, based on the
existing sk98lin. Their own drivers include some changes because
the sk98lin driver will drop packets at high speed if used with
the 3c940/3c2000.

The 3Com driver can be downloaded here (in source form):

The problem is that the driver is made for 2.4 kernels only,
and won't compile under the 2.6.1 that comes with FC2.

I think the best solution is to include the modified version
of the sk98lin by 3Com into the distribution, and not use
the original sk98lin driver.

Comment 15 Dimitris 2004-02-14 04:14:56 UTC
Also, please take a look at this thread:


Comment 16 Jerone Young 2004-02-14 05:16:14 UTC
The driver on Asus web site is broken (and has very strange behavior),
the driver in the kernel works just fine (100%). I started this bug
becuase the automated set was not setting it up. But I do it manually
, make the modprobe.conf entry and everything works fine. 

Comment 17 Jerone Young 2004-02-14 05:19:47 UTC
Also to add, Suse 9.0 detects my card and places sk98lin as the driver
for it. So to keep this bug on track. There is nothing wrong with the
sk98lin driver in the kernel. The only thing wrong is that Fedora
needs anacond to detect it.

Comment 18 Dimitris 2004-02-14 05:25:28 UTC
Are you using the sk98lin driver at 1gigabit speeds? because
thats when you'll start having problems, dropped packets.

I haven't had any problems with the 3c2000 driver on the Asus
website, i'm using the latest version (046_Linux.zip).

I've been using this driver since Redhat9 and now with Fedora Core 1.

When you say the driver is broken, what do you mean? Also what do
you mean by "strange behavior"?

If you can be specific, then i can try to reproduce the problem.

Comment 19 Jerone Young 2004-02-14 05:48:37 UTC
OK, not related to this bug (just so everyone knows)...

No, actually I only use it at 100. The drivers on Asuses site had a
really really strange behavior. For some reason it would not allow you
to go to certain web sites (google.com is one of them ... nothing no
ping either, no nothing), no matter what program you where using. But
it would let you go to others. I had found doing some googling that it
wasn't just me , others were seeing the same thing. It was really
really odd, I was looking at ip ranges and everything to see what was
going on. But around the (I think) 2.4.21 or 22 kernel the an updated
sk98lin was add and it worked with my card and that problem went away.
I've had no problems since. 

I think if you are having problems at gigabit speeds or see the need
of using a different driver (you should try out the sk98lin in 2.6
first) then probably you should open a new bugzilla ticket.

Comment 20 Dimitris 2004-02-14 07:13:40 UTC
The problem with gigabit speeds is related to the sk98lin driver,
the 3c2000 driver was the solution to the problem. Unless the
latest sk98lin solves the problem.

I just tested the sk98lin driver that comes with FC2 test, and it
seemed to work fine at 100mbit. Havent tested at 1gbit yet.

We agree on one thing, Fedora should be able to recognize the
3c2000/3c940 chipset on boot and load a driver.

I dont really care if the driver is the 3Com 3c2000 or the sk98lin,
as long as it works.

Comment 21 Gene Czarcinski 2004-02-14 15:17:34 UTC
OK, I took a look at the code in the current FC1 2.4 kernel, the FC2
2.6 kernel, and the stuff pointed to above form ASUS.  These are all
related with the ASUS code being the oldest and, naturally, the 2.6
code being most recently updated.

As Dave Jones pointed out in a previous comment, the 3Com pciid
10b7:1700 is coded in the driver (horrible code or not).  Furthermore,
the driver appears to work (mostly) ... at least it has for me.  There
may be issues with it working at 1000Mbps but that should be true with
all versions of this driver since they are basically the same. 
Therefore, I would consider that the 2.6 kernels version to be the
most "up to date" and any non-working aspects should be worked against
that version.

The problems related to in this report and a related one --
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115609 -- are
concerned with the anaconda installer handling things correctly.

Comment 22 Dimitris 2004-02-14 15:46:14 UTC
Thank you for taking the time to work this out.

An association should then be made to match the
2.6 kernel driver with those ids.

btw, the /usr/share/hwdata/ database which holds
pci and usb ids, includes the 10b7:1700.

Comment 23 Gene Czarcinski 2004-02-14 15:56:37 UTC
There appear to be three problems:

1. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115609

is a report asking for automatic recognition of NICs supported by the
sk98lin driver.

2. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115667

is a report for the lack of the ability to manually select a driver or
to use a driver disk.

3.  There may be problems with the 1000Mbps support ... I can't speak
to that and it should be opened as a new problem.

I suggest that this report be closed since it seems to be covering
multiple problems and that the above reports be used.

Comment 24 Gene Czarcinski 2004-02-14 16:08:10 UTC
Dimitris -- you are correct that the /usr/share/hwdata/pci.ids
database has the 3C940 id (and a lot of SysKonnect ones too). 
However, for whatever reason, anaconda has its own version of the
pci.ids file which is not "as current".

There should be some consideration given to a single database but
there may be reasons why this is not practical.

Comment 25 Dimitris 2004-02-14 16:26:33 UTC
erm, anaconda shouldn't use its own file, the hwdata package
was made just for that reason. I think its a dependency by all the
hardware related applications. For example, lspci will use the
strings found in the hwdata database, as well as the printer gui.

Comment 26 Jeremy Katz 2004-02-14 19:44:09 UTC
anaconda does use the information from hwdata (and supplements that
with information from the pcimap files from the kernel)

Comment 27 Dimitris 2004-02-14 23:56:45 UTC
Then why not detect and load the correct driver? Is the problem
on the kernel side? I dont know much about the kernel unfortunately,
so i can't comment, but i'm sure there must be a file somewhere
which matches kernel modules with hardware devices.

Comment 28 Gene Czarcinski 2004-02-15 00:08:01 UTC
Yes, why doesn't it load sk98lin?

And if it does not recognize the proper driver, why doesn't it prompt
for manual selection like FC1 did?

My comments on them being missing are based on what is in the anaconda
src.rpm.  I am likely misunderstanding how things work.

Comment 29 keith adamson 2004-02-15 00:17:16 UTC
anaconda bug possibly related to bug #115682 and bug #115505

anaconda ignores nforce NIC during install even though;

# /sbin/lspci -v

0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet
Controller (rev a1)
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device 0531
        Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 5
        Memory at e2086000 (32-bit, non-prefetchable)
        I/O ports at c400 [size=8]
        Capabilities: [44] Power Management version 2

# /sbin/lspci -nv

0000:00:04.0 Class 0200: 10de:0066 (rev a1)
        Subsystem: 1297:0531
        Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 5
        Memory at e2086000 (32-bit, non-prefetchable)
        I/O ports at c400 [size=8]
        Capabilities: [44] Power Management version 2

# grep '10de.*0066' /lib/modules/2.6.2-1.79/modules.pcimap
forcedeth            0x000010de 0x00000066 0xffffffff 0xffffffff
0x00000000 0x00000000 0x0

# egrep '10de|0066' /usr/share/hwdata/pci.ids
10de  nVidia Corporation
                10de 0020  Riva TNT
                10de 0005  RIVA TNT2 Pro
                10de 000f  Compaq NVIDIA TNT2 Pro
                10de 001e  M64 AGP4x
        0066  nForce2 Ethernet Controller

Comment 30 Bill Nottingham 2004-02-16 04:24:33 UTC
*** Bug 115609 has been marked as a duplicate of this bug. ***

Comment 31 Bill Nottingham 2004-02-23 17:51:30 UTC
pcitable whacked in for now, will be in 0.109-1.

Note You need to log in before you can comment on or make changes to this bug.