# NIC BCM400 will not work

## persia

Hello 

i ve just re-compiled my kernel but now i cant get my internet working again. I think it is the network card. I tried everything i knew on linux (which is very much).

 *Quote:*   

> bash-2.05b# insmod bcm4400
> 
> Using /lib/modules/2.4.20-gaming-r3/kernel/drivers/net/bcm4400/bcm4400.o
> 
> /lib/modules/2.4.20-gaming-r3/kernel/drivers/net/bcm4400/bcm4400.o: unresolved symbol __netdev_watchdog_up_R01dfb9fb
> ...

 

Anyone knows what is going on ? Thanx

----------

## dpl

Have you tried compiling it directly in the kernel? If you're using your network card all the time while your computer is on, then it might be a bit better to do it like that. Then you wouldn't have to go through inserting the module every time you need to use it. I have the same network chipset, and with it built into the kernel (both 2.4 and 2.6) it works well. I have never tried to use it as a module though, so I'm not sure how well that would go here. Also, I have only tried the gentoo-sources and mm-sources, never the gaming-sources, so that might have something to do with it too.

- dpl

----------

## frenkel

To solve this goto /usr/src/linux and type

```

make dep && make clean modules modules_install

```

Then insmod will work without any errors.

Good luck!

Frank

----------

## persia

 *Quote:*   

> Have you tried compiling it directly in the kernel? If you're using your network card all the time while your computer is on, then it might be a bit better to do it like that. 

 

Hi

i did nt see my network card in the kernel menu! Where is it ? I saw only 3com cards? (I use 2.4.22 kernel)

Frenkel i ve done that and still did nt work

----------

## persia

Hi

btw in the /usr/src/ directory i see 2 linux kernels. Which one is the right one ? i compiled both of them since i did nt know which one and it still did nt work

Can someone explain the this ?

----------

## dpl

The different directorys in /usr/src are different kernels that you have downloaded. There are also symbolic links from the one you want to use to /usr/src/linux.

If you type "ls -la" while in /usr/src, you should get something like this:

```

lrwxrwxrwx    1 root     root           22 Oct 29 14:19 linux -> linux-2.4.20-gentoo-r8

drwxr-xr-x   15 root     root          592 Oct 29 14:15 linux-2.4.20-gentoo-r7

drwxr-xr-x   16 root     root          784 Oct 30 01:37 linux-2.4.20-gentoo-r8

drwxr-xr-x   19 root     root         1216 Sep 27 13:34 linux-2.6.0-test5-mm3

drwxr-xr-x   18 root     root          600 Oct  4 15:26 linux-2.6.0-test6-mm2

drwxr-xr-x   18 root     root          688 Oct 29 13:16 linux-2.6.0-test8-mm1

```

With more or less directories. The "linux -> linux-2.4.20-gentoo-r8"  is the symlink from "linux-2.4.20-gentoo-r8" to "linux". this makes it so you can just type cd /usr/src/linux to compile the kernel, instead of needing to remember which kernel is the latest one you have.

As for which is the right one, you should choose the newest version that you downloaded. Ideally when you emerge a new kernel it should adjust the symlink for you, although I do not know if it does. If there is no symlink, you can make one by typing 

```
ln -s linux-version linux
```

 replacing version with the correct version of the kernel in /usr/src.

Also, make sure that you copy the bzImage from /usr/src/linux/arch/yourarch/boot/bzImage to your /boot directory, and edit lilo or grub (whichever you use) to accomodate the new bzImage. If you use grub, I can post my grub.conf to show how I have the choice between multiple kernels when I boot.

Hope this helps,

- dpl

----------

## dpl

Oh yeah, I fogot to mention where in the kernel to find the bcm4400 part. This is in the 2.4.20 kernel, and I don't know how different it is in the 2.4.22 kernel, but go first to 

Network Device Support -> Ethernet (10 or 100Mbit) -> enable " EISA, VLB, PCI and on board controllers" and in the 2.4.20 kernel it is the 5th option below that.

- dpl

----------

## persia

Hi 

the bcm4400 driver was already included!!! What now ? 

btw: I did recompile the kernel again but still no succes! I did get the previous error again  :Sad:  .

Guys do you have any other idea's?

----------

## dpl

Ok, since it was all included, you can stop trying to insert the module. 

Make sure you copied the bzImage to your /boot directory.

The next step would be configuring your network, since the network card should work fine from now on. 

To do this, I would suggest following the installation manual as for how to set up your type of connection. If you have trouble with that, It might be a good idea to start a new thread to see what other responses you can get.

If there are errors that seem to be from your network card and not your config, feel free to post here again, and if I can I'll try to help.

Hope this helps,

- dpl

----------

## persia

Hi Dpl

thanks for the help thusfar. But it still did nt work 

Ok, maybe i am doing something wrong: I have a ADSL speedtouch (ehternet)modem/router with an adsl connection.

How should i install my network card? Can you just run through it? (let me be clear, i have done everything what the manual said, just double checking)

thnx

----------

## persia

Hello

come on guys, help me out here ....

I really dont want to reinstall everything   :Shocked: 

----------

## eagle_cz

watch out some new kernels 2.4.23-pre6(8) have new module name for BCM4400 ... the new name is B44

just recompile kernel, you dont have to recompile all other stuff untill you change version

----------

## persia

Hi Eagle

thanks but i dont think the problem is a new driver. It has been working before. I dont understand what this means:

 *Quote:*   

> 
> 
> bash-2.05b# insmod bcm4400 
> 
> Using /lib/modules/2.4.20-gaming-r3/kernel/drivers/net/bcm4400/bcm4400.o 
> ...

 

----------

## eagle_cz

this could mean that you cmopiled driver agains diferent config file that you are running

check path to kernel(kernel config) in drivers (in makefile).

check if /usr/src/linux is linked to current running version of linux

----------

## eagle_cz

this could mean that you cmopiled driver agains diferent config file that you are running

check path to kernel(kernel config) in drivers (in makefile).

check if /usr/src/linux is linked to current running version of kernel source code

btw do you compile it as part of kernel tree or you downloaded source code ?

----------

## persia

Hi

sounds good but i understand what you mean.... can you explain it a little more please?

I went in the kernel menu (make menuconfig) and enables the bcm440 driver option.

----------

## eagle_cz

so you do

make dep

make clean bzImage modules

make modules_install

make install

setup lilo.cong or grub 

and after reboot you will get that msg ?

check, if /usr/src/linux is linked to kernel you currently compiling

i guess modprobe gives you same error msg

----------

