> I am having problems with my Realtek 8139 network card under linux 2.4.
> Basically, it worked fine using the 8139too driver, until I switched from a
> 100Mbps switch to a 10Mbps hub; now it doesn't work at all.
> It seems that this problem is known to the 8139too people, and that the
> recommended solution is to use the rtl8139 driver, which apparently works
> better at 10Mbps. However: rtl8139 is not in the 2.4 kernel, nor can I find
> any patches which I can apply. I need to use 2.4, not 2.2 because my
> graphics card requires XFree4, which in turn requires linux 2.4. I think.
> Please correct me if I'm wrong on this one.
> Can anyone suggest how I can get the rtl8139 driver working with the 2.4
> kernel, or direct me to a kernel that contains it. Currently, I've
> downloaded the source & compiled rtl8139.o successfully, but modprobe
> complains of missing symbols when I try to load this module. So I'm sort of
> stuck without it, at the moment.
> thanks,
> Dave
Here's a mail in which I posted to the driver maintainer regarding my problems
and solutions
with the rtl8139 Chipset:
------------------------------------------------snip-----------------------
------------------------
I've got some questions regarding the 8139too network driver in the
2.4.x kernel.
Here in Germany ADSL becomes very popular. But the ADSL-Modem
supplied by German Telekom (including cabling) seems to confuse the
autosensing of NICs which are capable of different media speeds.
As cards with realtek chipsets are very popular, this problem
is discussed very often in the newsgroups (also on www.adsl4linux.de).
Symptom : The pppoe-driver hangs with <Sending PADI>.
In most cases the people in the forum are advised to buy another NIC!!!
But forcing the card to 10baseT Half-Duplex seems to solve the problem.
I experienced this with a 3COM 3C-905B-TX (3c59x) and a NoName Card with
a Realtek RTL8139C (rtl8139too) Chipset.
The 3c59x module can be forced to 10baseT Half-Duplex with
<option 3c59x options=0> in /etc/modules.conf.
I haven't found that feature in rtl8139too supplied with the kernel (in
my case: 2.4.16 rtl8139too v.0.9.22).
In the end I found a solution at
http://www.realtek.com/tw/htm/download/driver.asp
This driver based on your V.0.9.15 can be forced to a fixed
media speed and then it works. I only had to tweak the makefile a little
bit.
------------------------------------------snip---------------------------------------------------
I had problems forcing the rtl8139 driver to 10baseT. But take a look at the
mii-diag howto
at Donald Becker's page and see if it works for you.
I tried the module from realtek.
And the solution for the unresolved module symbols is to tweak the makefile.
Here's an example for the rtl8139-driver:
--------------------------------------
all: rtl8139.o \
pci-scan.o
rtl8139.o: rtl8139.c
gcc -D__KERNEL__ -DMODULE -DMODVERSIONS \
-include /usr/src/linux/include/linux/modversions.h -Wall \
-Wstrict-prototypes -O6 -I/usr/src/linux/include -c rtl8139.c
pci-scan.o: pci-scan.c
gcc -D__KERNEL__ -DMODULE -DMODVERSIONS \
-include /usr/src/linux/include/linux/modversions.h -Wall \
-Wstrict-prototypes -O6 -I/usr/src/linux/include -c pci-scan.c
clean:
rm -f core *.o
--------------------------------------
You can use this basically for all the realtek-modules in the 2.4 kernel. Just
modify the names.
Then copy the modules <you know where> and call <depmod -r>.
Regards
Robert Becker