Bug 58835 - NETGEAR FA311 ethernet card is not supported
NETGEAR FA311 ethernet card is not supported
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.2
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-01-25 11:08 EST by Need Real Name
Modified: 2007-04-18 12:39 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-01-25 17:49:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2002-01-25 11:08:39 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)

Description of problem:
I downloaded the "natsemi.c" driver 
from "http://www.scyld.com/network/ethercard.html". According to their 
instructions at "http://www.scyld.com/expert/modules.html" I compiled it using 
command "gcc -DMODULE -D__KERNEL__ -O6 -c driver.c" and tested it using 
command "insmod driver.o". Unfortunately I could not succeed.

We contacted the driver's author Donald Becker about the problem and he told us 
that Red Hat changed somehow the kernel. He could not solve the problem and 
suggested to contact Red Hat.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Download the "natsemi.c" driver 
from "http://www.scyld.com/network/ethercard.html"
2.Compile it using command "gcc -DMODULE -D__KERNEL__ -O6 -c driver.c" 
3.Test it using command "insmod driver.o"	

Additional info:
Comment 1 Arjan van de Ven 2002-01-25 11:15:57 EST
Two things: 1) we ship a FA311 driver with the kernel just fine
and 2) that driver is UNMODIFIED from the official 2.4.9 kernel so we did not
"change the kernel in an incompatible way"
Comment 2 Michael K. Johnson 2002-01-25 11:33:58 EST
We ship a working driver with tested support for the FA311.  There is
not a bug here.
Comment 3 Need Real Name 2002-01-25 14:10:47 EST
Three things:

1) Here is reply from the Red Hat web support team regarding to the Service 
Request #198497.

<<
Hello Konstantin,

Since the Netgear is not listed at the Hardware Compatible List for Red Hat
Linux, there are no guarantees that it will work.  We already try to
help/suggest a workarounds that you can do and it seems that the best thing
that you can do right now is to report this issue to the Red Hat Bugzilla site.
 Most of the Red Hat Developers are the one who handles the issues reported
there, the URL is:

http://bugzilla.redhat.com/bugzilla

Feel free to write us back if you have other concerns.

Regards,

Ryan
>>

2) Does the "natsemi.c" driver work with Red Hat 7.2?

3) What options do I need to compile the driver?
Comment 4 Arjan van de Ven 2002-01-25 14:16:02 EST
2) Yes it works, I have a FA311 myself and it "just works"
3) No need to compile it, it is already included!
Comment 5 Need Real Name 2002-01-25 14:25:26 EST
I want to have the ability to "play" with the card and chip. This is why I want 
to be able to compile the driver's source code.

I received the following messages after I tried the command "insmod driver.o":

./natsemi_2.o: unresolved symbol eth_type_trans
./natsemi_2.o: unresolved symbol __kfree_skb
./natsemi_2.o: unresolved symbol alloc_skb
./natsemi_2.o: unresolved symbol init_etherdev
./natsemi_2.o: unresolved symbol kmalloc
./natsemi_2.o: unresolved symbol cpu_raise_softirq
./natsemi_2.o: unresolved symbol free_irq
./natsemi_2.o: unresolved symbol pci_drv_unregister
./natsemi_2.o: unresolved symbol unregister_netdev
./natsemi_2.o: unresolved symbol iounmap
./natsemi_2.o: unresolved symbol del_timer
./natsemi_2.o: unresolved symbol kfree
./natsemi_2.o: unresolved symbol request_irq
./natsemi_2.o: unresolved symbol netif_rx
./natsemi_2.o: unresolved symbol skb_over_panic
./natsemi_2.o: unresolved symbol tvec_bases
./natsemi_2.o: unresolved symbol do_BUG
./natsemi_2.o: unresolved symbol jiffies
./natsemi_2.o: unresolved symbol softnet_data
./natsemi_2.o: unresolved symbol printk
./natsemi_2.o: unresolved symbol add_timer
./natsemi_2.o: unresolved symbol pci_drv_register

Comment 6 Arjan van de Ven 2002-01-25 14:29:46 EST
Fair enough.
Simplest is the following:
Install the kernel-source rpm
Grab http://people.redhat.com/arjanv/xircom_cb/Makefile

edit the Makefile to not say "xircom_cb" but "natsemi_2" near the top
(xircom_cb is another network card)
and type "make"......
Comment 7 Arjan van de Ven 2002-01-25 14:31:36 EST
Oh and just take the natsemi.c from any 2.4 kernel source of your taste of course...
Comment 8 Need Real Name 2002-01-25 15:55:24 EST
I tried it and received the following message.

I put both driver and makefile in the directory /usr/src/modules.

<<
[root@localhost modules]# make -f  make1
gcc -D__KERNEL__ -I/lib/modules/`uname -r`/build/include -march=`uname -m` -
Wall -Wstrict-prototypes -Werror -O2 -fomit-frame-pointer -fno-strict-aliasing -
pipe -mpreferred-stack-boundary=2 -DMODULE -DMODVERSIONS -
include /lib/modules/`uname -r`/build/include/linux/modversions.h   -c -o 
natsemi_2.o natsemi_2.c
natsemi_2.c:1:13: /lib/modules/2.4.7-10/build/include/linux/modversions.h: No 
such file or directory
cc1: warnings being treated as errors
natsemi_2.c:544: warning: `mdio_write' defined but not used
make: *** [natsemi_2.o] Error 1
>>
Comment 9 Arjan van de Ven 2002-01-25 15:59:38 EST
Do you have the kernel-source rpm installed (is on cd 2) ?
Comment 10 Need Real Name 2002-01-25 16:20:34 EST
I think I installed 2 cd of operating system. How can I check if I have all 
necessary files installed?
Comment 11 Arjan van de Ven 2002-01-25 16:23:34 EST
rpm -qa | grep kernel
will show all installed packages with the word "kernel" in it.
If kernel-source is NOT listed, mount cd2 and rpm -i <full path>
the kernel-source-2.4.7-10.i386.rpm
Comment 12 Need Real Name 2002-01-25 16:46:02 EST
I did it. Then I repeated "make" command.

I got the following results.

<<
[root@localhost modules]# make -f  make1
gcc -D__KERNEL__ -I/lib/modules/`uname -r`/build/include -march=`uname -m` -
Wall -Wstrict-prototypes -Werror -O2 -fomit-frame-pointer -fno-strict-aliasing -
pipe -mpreferred-stack-boundary=2 -DMODULE -DMODVERSIONS -
include /lib/modules/`uname -r`/build/include/linux/modversions.h   -c -o 
natsemi_2.o natsemi_2.c
In file included from natsemi_2.c:112:
/lib/modules/2.4.7-10/build/include/linux/malloc.h:3:2: #warning The Use of 
linux/malloc.h is deprecated, use
linux/slab.h
cc1: warnings being treated as errors
natsemi_2.c:544: warning: `mdio_write' defined but not used
make: *** [natsemi_2.o] Error 1
>>
Comment 13 Arjan van de Ven 2002-01-25 16:49:06 EST
Ok... it's just a compiler warning about an unused function;
edit the Makefile to remove the "-Werror" flag to make gcc not abort on
warnings........ you're nearly there
Comment 14 Need Real Name 2002-01-25 17:02:33 EST
I did it and received the following results.

After "make" command:

<<
[root@localhost modules]# make -f  make1
gcc -D__KERNEL__ -I/lib/modules/`uname -r`/build/include -march=`uname -m` -
Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -
mpreferred-stack-boundary=2 -DMODULE -DMODVERSIONS -
include /lib/modules/`uname -r`/build/include/linux/modversions.h   -c -o 
natsemi_2.o natsemi_2.c
In file included from natsemi_2.c:112:
/lib/modules/2.4.7-10/build/include/linux/malloc.h:3:2: warning: #warning The 
Use of linux/malloc.h is deprecated, use linux/slab.h
natsemi_2.c:544: warning: `mdio_write' defined but not used
>>

After "insmod" command:

<<
[root@localhost modules]# insmod ./natsemi_2.o
./natsemi_2.o: unresolved symbol pci_drv_unregister
./natsemi_2.o: unresolved symbol pci_drv_register
>>
Comment 15 Arjan van de Ven 2002-01-25 17:07:22 EST
pci_drv_register() does not exist in any 2.4 kernel... is this the standard
kernel driver (with modifications) or something completely else ?
Comment 16 Need Real Name 2002-01-25 17:16:18 EST
This is the driver by Donald Becker 
from "http://www.scyld.com/network/ethercard.html".
Comment 17 Arjan van de Ven 2002-01-25 17:21:08 EST
"You will need to build pci-scan.o along with the specific driver.o file. You
must download pci-scan.c, pci-scan.h, and kern_compat.h." <-----

or just use the natsemi.c from /usr/src/linux-2.4/drivers/net/natsemi.c
which is basically a 2.4 kernel port of Donald's driver
Comment 18 Need Real Name 2002-01-25 17:41:16 EST
I did it.

Looks like I need to edit the makefile again since I received the following 
results after "insmod" command:

<<
[root@localhost modules]# insmod pci-scan.o
pci-scan.o: unresolved symbol pci_write_config_byte
pci-scan.o: unresolved symbol kmalloc
pci-scan.o: unresolved symbol pci_find_class
pci-scan.o: unresolved symbol __check_region
pci-scan.o: unresolved symbol pci_read_config_byte
pci-scan.o: unresolved symbol pci_read_config_dword
pci-scan.o: unresolved symbol __ioremap
pci-scan.o: unresolved symbol pci_read_config_word
pci-scan.o: unresolved symbol kfree
pci-scan.o: unresolved symbol pci_set_master
pci-scan.o: unresolved symbol pci_write_config_dword
pci-scan.o: unresolved symbol pci_write_config_word
pci-scan.o: unresolved symbol printk
pci-scan.o: unresolved symbol ioport_resource
>>
Comment 19 Need Real Name 2002-01-25 17:49:22 EST
Yes, I changed "xircom_cb" on "pci-scan".

Then both commands "insmod pci-scan.o" and "insmod natsemi_2.o" came through.

Thanks a lot.

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