When I am trying to configure the eth0 interface,I am getting the below error:

error:3c501 device does not seem to be present,delaying initialization


OS- Red Hat Linux 9 (2.4.20-8 )

Can anyone suggest Me what the problem is exactly and how I can fix it?

[root@localhost root]# ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:184 errors:0 dropped:0 overruns:0 frame:0
TX packets:184 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9200 (8.9 Kb) TX bytes:9200 (8.9 Kb)

[root@localhost root]# modprobe 3c501
/lib/modules/2.4.20-8/kernel/drivers/net/3c501.o: init_module: Input/output error
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
/lib/modules/2.4.20-8/kernel/drivers/net/3c501.o: insmod /lib/modules/2.4.20-8/kernel/drivers/net/3c501.o failed
/lib/modules/2.4.20-8/kernel/drivers/net/3c501.o: insmod 3c501 failed

[root@localhost root]# lspci -v|grep -i ethernet
05:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5782 Gigabit Ethernet (rev 03)
Subsystem: Hewlett-Packard Company: Unknown device 12bc
Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 5
Memory at fc500000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-


##Contents of /etc/modules.conf
[root@localhost root]# cat /etc/modules.conf
alias usb-controller ehci-hcd
alias usb-controller1 usb-uhci
alias eth0 3c501
options 3c501 irq=5

[root@localhost root]# dmesg|grep -i eth0
divert: not allocating divert_blk for non-ethernet device eth0
divert: no divert_blk to free, eth0 not ethernet
[root@localhost root]#

Below are the logs and info of the steps I did in the process of trials to fix this Broadcomm Ethernet drivers issue:

1) Installed the kernel-source-2.4.20-8.rpm first from the package spool location before trying to install the Broadcomm Ethernet drivers as they are needed for compiling the drivers and installing the driver modules.

2) Downloaded the relevant drivers from the URL below:
Broadcom Corporation - Download NetXtreme Desktop Drivers

3) The README file which came with the drivers states that the current version of the driver has been tested on 2.4.x kernels starting from 2.4.24 and all 2.6.x kernels. The driver may not compile on kernels older than 2.4.24. Testing is concentrated on i386 and x86_64 architectures. But, went ahead and tried installing the drivers for the current running kernel 2.4.20-8 to see if we find any success.


4) Below is the screenshot of the driver compiling/installation process:
[root@localhost Driver]# ls
README.TXT tg3-3.71b-1.src.rpm tg3-3.71b.tar.gz tg3_sup-3.71b.tar.gz
[root@localhost Driver]# rpm -ivh tg3-3.71b-1.src.rpm
1:tg3 ########################################### [100%]
[root@localhost Driver]# cd /usr/src
[root@localhost src]# ls
debug linux-2.4 linux-2.4.20-8 redhat
[root@localhost src]# cd redhat/
[root@localhost redhat]# ls
BUILD RPMS SOURCES SPECS SRPMS
[root@localhost redhat]# cd SPECS/
[root@localhost SPECS]# ls
tg3.spec
[root@localhost SPECS]# cd ..
[root@localhost redhat]# rpmbuild -bb SPECS/tg3.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.68636
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ cd /usr/src/redhat/BUILD
+ rm -rf tg3-3.71b
+ /usr/bin/bzip2 -dc /usr/src/redhat/SOURCES/tg3-3.71b.tar.bz2
+ tar -xvvf -
drwxr-xr-x root/root 0 2006-12-16 06:49:48 tg3-3.71b/
-rw-r--r-- root/root 360330 2006-12-16 06:49:48 tg3-3.71b/tg3.c
-rw-r--r-- root/root 97560 2006-12-16 06:49:48 tg3-3.71b/tg3.h
-rw-r--r-- root/root 3440 2006-12-16 06:49:48 tg3-3.71b/tg3.4
-rw-r--r-- root/root 15153 2006-12-16 06:49:48 tg3-3.71b/LICENSE
-rw-r--r-- root/root 10323 2006-12-16 06:49:48 tg3-3.71b/README.TXT
-rw-r--r-- root/root 114255 2006-12-16 06:49:48 tg3-3.71b/ChangeLog
-rw-r--r-- root/root 2714 2006-12-16 06:49:48 tg3-3.71b/Makefile
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd tg3-3.71b
++ /usr/bin/id -u
+ '[' 0 = 0 ']'

+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.68636
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd tg3-3.71b
+ LANG=C
+ export LANG
+ value=
+ '[' -z '' ']'
++ uname -r
+ KVER=2.4.20-8
+ make KVER=2.4.20-8
gcc -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -I/lib/modules/2.4.20-8/build/include -DRED_HAT_LINUX_KERNEL -DOLD_NETIF
-O2 -c -o tg3.o tg3.c
tg3.c:178: `PCI_DEVICE_ID_TIGON3_5705' undeclared here (not in a function)
tg3.c:178: initializer element is not constant
tg3.c:179: initializer element is not constant
tg3.c:179: (near initialization for `tg3_pci_tbl[7].device')
<<Output Truncated>>
tg3.c:12014: structure has no member named `ethtool_ops'
tg3.c: At top level:
tg3.c:9343: storage size of `tg3_ethtool_ops' isn't known
make: *** [tg3.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.68636 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.68636 (%build)
***The above output shows clearly that the rpm build of the Ethernet drivers failed.
***********************