The topic of 3c905B (3Com Fast Etherlink XL 10/100 PCI) support has
been brought up in numerous threads from those using Red Hat 5.0 and
other distributions which ship with kernel versions <= 2.0.32. Here
is my attempt to squash any further questions on the subject.
First of all, stock 2.0.32 does not support 3c905B. To fix this, you
really should upgrade your kernel. Besides 3c905B support, the newer
stable kernels have many nice and necessary additions and fixes. That
said, if you are too lazy or too impatient to download, configure,
build and deploy a new kernel then read on.
First, go get the latest 3c59x driver (v0.99D) at:
v0.99D was, until recently, located in linux/drivers/test and v0.99
lived in the linux/drivers spot. If you picked up v0.99 then you
probably had problems receiving ICMP packets (pinging), arping, and
perhaps receiving anything at all. v0.99D does not have these
Alright, you now have the new driver. Compile it with:
gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -I/usr/src/linux/net/inet -O6 -c 3c59x.c
This compiles the driver as a module.
Now install it to /lib/modules:
install -m 644 3c59x.o /lib/modules/`uname -r`/net/
For those using stock RedHat 5.0 "uname -r" produces 2.0.32.
The driver is ready to load using "insmod 3c59x".
After running insmod, verify the driver is loaded with lsmod and by
looking at the end of /var/log/messages (or wherever you point syslog
to) for lines resembling:
3c59x.c:v0.99D 4/26/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/v
loading device 'eth0'...
eth0: 3Com 3c905B Cyclone 100baseTx at 0x6500, 00:10:4b:70:8f:ce, IRQ 11
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/NWay Autonegotiation interface.
Enabling bus-master transmits and whole-frame receives.
All done. If you would like to configure Red Hat to load the driver
module at startup then add this line to /etc/conf.modules:
alias eth0 3c59x
If you have any problems or questions consult
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html before posting.
Much of the information in this post was gathered from there.