# Problems with modules for Realtek 8139

## kb

I compiled the Kernel with 

Network Devices => 10 and 100Mbit => 

[M] for RealTek  RTL-8139 PCI Fast Ethernet Adapter Support

 [*] Support for uncommon RTL-8139 rev. K (automatic channel equ ..

 [*] Support for older RTL-8129/8130 boards

i write in the /etc/modules.autoload a new line:

```
8139too
```

During the Boot Process  i see following Messages:

----------------------------------------------------------------------------------

 *  Loading module 8139too

 *  Failed to load 8139too

...

 *  Bringing eth0 up...

SIOCSIFADDR: No such device

eth0: unknown interface: No such device

SIOCSIFBRADDR: No such device

eth0: unknown interface: No such device

SIOCSIFNETMASK: No such device

 *  Failed to bring eth0 up                  [**]

 *  ERROR: Problem starting needed services.

 *                 "netmount" was not started.

----------------------------------------------------------------------------------

i read a lot here bevor i post this, so i hope that i can help with following Tests:

# /sbin/modprobe 8139too

```
/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol __netdev_watchdog_up_R53fcb6fd

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol printk_R1b7d4074

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol gr_is_capable_R3cbbecc6

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: insmod /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o failed

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: insmod 8139too failed

```

# modinfo 8139too

```
filename: /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/8139too.o

description: "RealTek RTL-8139 Fast Ethernet driver"

author: "Jeff Garzik <jgarzik@mandrakesoft.com>"

license: "GPL"

parm: multicast_filter_limit int, description "8139too maximum number of filtered multicast addresses"

parm: max_interrupt_work int, description "8139too maximum events handled per inetrrupt"

parm: media int array (min = 1, max = 8), description "8139too: Bits 4+9: force full duplex, bit 5: 100Mbps"

parm: full_duplex int array (min = 1, max = 8), description "8139too: Force full duplex for board(s) (1)"

parm: debug int, description "8139too bitmapped message enable number"

```

# cat /proc/pci

Well, it lists a huge number of things, i write down the lines which seems important for this problem.

```
Bus 0, device 12, function 0:

 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 16).

  IRQ 16.

  Master Capable. Latency=32. Min Gnt=32.Max Lat=64.

I/O at 0xec00 [0xecff].

Non-prefetchable 32bit memory at 0xdfffff00 [0xdfffffff].

```

Does anyone have a tip for me?

I'm new at unix-things, but i learn as fast as i can and i really ambitious, so please don't be angry if i sometimes ask something "stupid".

----------

## atac

try to recompile the module without the other options.

no

[*] Support for uncommon RTL-8139 rev. K (automatic channel equ .. 

[*] Support for older RTL-8129/8130 boards

----------

## kb

i try it, but there's still the same error.

I compile the Kernel with: # make dep && make clean bzImage modules modules_install is this okay? Or maybe this is the cause for the error message

----------

## mjoswig

 *Quote:*   

> I compile the Kernel with: # make dep && make clean bzImage modules modules_install is this okay?

 

Yes, perfect. But try as atac suggested compiling without the support for rtc boards you don't have...

----------

## Edition

Just a silly question... When you're done compiling the new kernel, did you put the new bzImage in /boot?

```
cp /usr/src/linux/arch/i386/boot/bzImage /boot
```

----------

## kb

 *mjoswig wrote:*   

>  *Quote:*   I compile the Kernel with: # make dep && make clean bzImage modules modules_install is this okay? 
> 
> Yes, perfect. But try as atac suggested compiling without the support for rtc boards you don't have...

  i have allready compiled without this opinion, but there is still the same error message

----------

## mjoswig

 *Quote:*   

> When you're done compiling the new kernel, did you put the new bzImage in /boot? 

 

and of course mounted /boot before?

Could you send the output from modprobe -v 8139too?

----------

## kb

 *Edition wrote:*   

> Just a silly question... When you're done compiling the new kernel, did you put the new bzImage in /boot?
> 
> ```
> cp /usr/src/linux/arch/i386/boot/bzImage /boot
> ```
> ...

 

i dont do this the times before, but i do it this time, but there's still the same two error messages.

what else should i watch if i compile my kernel?

how i do it at the moment:

i changed folder to /usr/src/linux-2.4.20-gentoo-r1, run menuconfig, compile and move the bzImage intoo boot (since now, this point  :Wink:  )

```
# cd /usr/src/linux-2.4.20-gentoo-r1

# make menuconfig

# make dep && make clean bzImage modules modules_install

# cp /usr/src/linux/arch/i386/boot/bzImage /boot
```

and reboot my system

----------

## Zu`

Is /usr/src/linux a symlink to linux-2.4.20-gentoo-r1 ?

Have a look at the output of

```
ls -l /usr/src/linux
```

----------

## kb

 *mjoswig wrote:*   

>  *Quote:*   When you're done compiling the new kernel, did you put the new bzImage in /boot?  
> 
> and of course mounted /boot before?
> 
> Could you send the output from modprobe -v 8139too?

 

# modprobe -v 8139too

```
/sbin/insmod /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o

Using /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o

Symbol version prefix 'smp_'

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved smybol __netdev_watchdog_up_R53fcb6fd

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol printk_R1b7d4074

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol gr_is_capable_R3cbbecc6

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o:  insmod /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o failed

/lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: insmod 8139too failed
```

----------

## kb

 *Zu` wrote:*   

> Is /usr/src/linux a symlink to linux-2.4.20-gentoo-r1 ?
> 
> Have a look at the output of
> 
> ```
> ...

 

as far as i can see: yes, there is a symlink:

```

lrwxrwxrwx     1 root       root            22 Mar 9 15:39 /usr/src/linux -> linux-2.4.20-gentoo-r1
```

----------

## mjoswig

 *Quote:*   

> Symbol version prefix 'smp_'

 Hmm, did you enable SMP?

Furthermore, go to /usr/src/linux, save your .config and issue make mrproper. That will remove any old traces and configuration. Then call make menuconfig. After you've done that, compare the new .config with your backup and do the well known make dep && make clean bzImage modules modules_install.

----------

## Ryan

I have the exact same problem. Just did an install from a stage3-pentium3-rc2 cd, and hte modules.autoload won't load the 8139too module.

When doing modprobe 8139too and manually starting eth0, it runs without errors, but the autoload thingie won't get it right. 

I solved it by compiling the 8139too into the kernel.

Is it a bug?

R.

----------

## kb

 *mjoswig wrote:*   

>  *Quote:*   Symbol version prefix 'smp_' Hmm, did you enable SMP?
> 
> Furthermore, go to /usr/src/linux, save your .config and issue make mrproper. That will remove any old traces and configuration. Then call make menuconfig. After you've done that, compare the new .config with your backup and do the well known make dep && make clean bzImage modules modules_install.

  i try it, but there is still the same problem as bevor.

sorry i can't try it earlier, cause my isp got some troubles.

----------

## kb

maybe i made a misstake during the installation?

Some idea?

----------

## Ethereal

Of course you have some mistake. Again, turn on [M] only realtek 8139 card option and nothing else, then recompile the kernel from scratch(make clean && ...) and properly copy it in mounted /boot partition.

Try to make all of this carefully and exactly like manual says.

Unresolved symbol errors appear when your kernel lacks some functions/features that you forgot to compile.

PS If in doubt read Kernel-Compile HOWTO on tldp.org

----------

## computx

I am having a similar problem. I just compiled the new 2.4.20 kernel. Always in the past I compile the 8139 support into the kernel rather than as a module. After reboot with new kernel ifconfig eth0 shows up and running but 0 packets transmitted or recieved. I cannot ping either by ip or name. Right now I am compiling as module to see if it makes a difference. Any help appreciated. This is a gentoo 1.2 system. Yes I did make dep && make clean && make bzImage && make modules && make modules install after compiling the kernel. copied bzImage to mounted /boot .

Also usr/src/linux does point to the 2.420r1 directory.

----------

## kb

 *Ethereal wrote:*   

> PS If in doubt read Kernel-Compile HOWTO on tldp.org

 

I think you're right. I will read this howto and try it again, from scratch

----------

## computx

FYI I solved my problem.

I looked at the gentoo bug page. there is a known bug that if you are using the realtek 8139too driver and have ACPI compiled into the kernel the driver does not work. The solution is to disable the ACPI in the kernel. 

It works great for me.

----------

## kb

 *computx wrote:*   

> FYI I solved my problem.
> 
> I looked at the gentoo bug page. there is a known bug that if you are using the realtek 8139too driver and have ACPI compiled into the kernel the driver does not work. The solution is to disable the ACPI in the kernel. 
> 
> It works great for me.

 under what point in the kernel menu can i find this option ?

----------

## gfdsa

In the "general setup"

----------

## kb

thank you, but i don't enabled ACPI Support.

Somebody other get a idea?

----------

## gfdsa

im not sure you are digging the right place:

 *Quote:*   

> 
> 
> /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol __netdev_watchdog_up_R53fcb6fd 
> 
> 

 

mii.o

and nothing about rtl1389too.o

do you happen to know what is mii?[/b]

----------

## kb

 *gfdsa wrote:*   

> im not sure you are digging the right place:
> 
>  *Quote:*   
> 
> /lib/modules/2.4.20-gentoo-r1/kernel/drivers/net/mii.o: unresolved symbol __netdev_watchdog_up_R53fcb6fd 
> ...

 once, as i boot with the 1.2 live cd cause the 1.4rc3 live cd don't find my network adapter called "via-rhine". And as i let display the results of pci auto detection there was two devices, via-rhine and mii but i don't know what mii.

Cause i don't get the via-rhine network adapter (onboard) to run i try it with realtek 8139, i think i get better support with a network adapter thats not so specific like a onboard device.

maybe i made a mistake at a early point during the installation?

Well, i think i should install it again.

It was the first time that i set a gentoo-linux up, i think i allready said that  :Wink: 

----------

## gfdsa

its not related to the installation now, and if you'll reinstall it now, you will end it up at the same point, look at the module deps file, why is mii loaded?

try to insmod 1389too.o manually with no dependecies.

IMHO you messed smthng with .config, try to make mrproper and start compiling kernel from scratch

----------

## GaryMercer

I had the same problems as above after I had emerged IPTABLES.  ETH0 would not come back up.   :Confused:   I was puzzled and I thought I had followed everything to the letter.  I made one fatal mistake though.  I hadn't actually followed EVERYTHING.  Because I thought I knew what I was doing, I compiled my kernel with all the options I needed and I thought I copied the bzImage to /boot (Gentoo didn't complain anyway).  Then I realised I hadn't actually mounted /boot and so my copy didn't actually do anything.  Mounted /boot copied bzImage over and Voila.  ETH0 up iptables running.  :Embarassed:    I should be shot down for that silly mistake.

Ah well, least I've learned something this morning.

Cheers everyone

----------

## GaryMercer

PS.  Forgot to mention.  I also had 8139too in my modules.autoload file.  Commented this line out and this helped to solve some of the issues too.  :Laughing: 

----------

## kb

Well.

I sell my ASROCK K7VT2 Board, because there so low performance, and massive passive ram timings, and i think that could be a reason why no NIC works.

i bought a Abit NF7-S with nForce 2.

And the Onboard LAN works on the first step! I don't know why .. i don't know why the old configuration don't work.

but thank you all so much, i learned really a lot of things here.

thank you!

----------

## doener

I've just spent the last 12 hours trying to get the 8139too driver to run the RTL8139C chip, but I've finally managed to find the hitch.

Aftering (statically and dynamically) binding various different combinations of modules as well as compiling Donald Beckers driver (8139cp) and the version from realtek.com (derived from 8139too 0.9.16) I found out that the culprit was ACPI (as other posts also indicate).

I got the card running by not compiling ACPI (and Power Management as a whole, but that may not necessarily be the cause) and disabling it in BIOS.

Thi has, BTW, be covered by the gentoo bugzilla.

So, hang it there, whatever problem you've got, you'll eventually find a solution..........

----------

## bimbo

I have a Realtek 8139 and a Via-Rhine card on this computer. I have the some problems as above and when I compile the driver in the kernel I can't use the card eventhough it seems to be up and working.

Since I have a (Giga-Byte) GA-7VAX motherboard I don't think I'm able to disable my ACPI support in the BIOS. After reading some more info on that topic (I don't remember where) I acutally understood that disabling ACPI in the BIOS is the only way to make it work. I was just wondering how come it works perfectly under RedHat and when Installing Gentooo?????

They must have done something different or patched the kernel to make it work??

Can I do the same thing???

For more info you can look at https://bugs.gentoo.org/show_bug.cgi?id=15807

Also that might provide you with background information : http://groups.google.ca/groups?q=8139too+bug+ACPI&hl=en&lr=&ie=UTF-8&scoring=d&selm=20030411211021%247c28%40gated-at.bofh.it&rnum=2

----------

## derk

just for info  'mii' is a common code library that is shared by several network card drivers and will need to be loaded before they will work, if the card is compiled as a module. Compiling the driver into the kernel ensures that these dependencies are compiled in as well.

Note that the default kernel often/always has a default network card set to be compiled in. You should as a habit toggle it out or to a module (unless you are using this card) so you don't cause other problems. I've found that the 8139 driver doesn't like the default card being there. (i suspect it uses mii)

derk

----------

## doener

I imagine the guys from RH have written a script that probes your hardware and binds the modules in accordingly, as opposed to choosing all modules manually as per gentoo.

(Maybe they've written the script so it tests a probable working combination, and just permutates until it finds a match.....don't quote me on this!)

Anyway, that's the whole point of gentoo: invest the time, do it yourself resulting in you understanding your own system.

----------

