# iwconfig finds eth1  but dhclient doesn't....

## superbnerb

hi all, i'm getting the wireless blues.  please help a distro jumping whore, finally find a home with sabayon/gentoo system.

I can access iwconfig and i can see that eth1 is my connection to use... I know the drive works, as it's worked on countless other distros, but i want to use the native bcm43xx instead of ndiswrapper.

here is the output from iwconfig

```
eth1      IEEE 802.11b/g  ESSID:off/any  Nickname:"Broadcom 4318"

          Mode:Managed  Access Point: Invalid   Bit Rate=1 Mb/s

          RTS thr:off   Fragment thr:off

          Encryption key:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

```

i can set my essid and wep key as well.

my uname is 

```
Linux localhost 2.6.17-reiser4-r1-smp #1 SMP Wed Aug 23 09:08:20 UTC 2006 x86_64 AMD Turion(tm) 64 Mobile Technology ML-28 AuthenticAMD GNU/Linux

```

 So i should have the right kernel.

I have not succesfully configured with fwcutter yet, however, because i thought i didn't need it because i can see my eth1 already....

anyways,  dmesg puts out the following

```
[ 9492.261986] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

[ 9499.628505] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

[ 9562.623545] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

[ 9628.713564] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

[ 9676.529600] APIC error on CPU0: 40(40)

[ 9691.181466] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

[ 9713.739568] APIC error on CPU0: 40(40)

[ 9752.318248] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.
```

 Whenever i type dhclient eth1 .   also i see that in lsmod i have bcm43xx and ndiswrapper as well... for what it's worth.

What other info can i give you to help this brother out?  I need wireless so i can get my laptop up and running.  linux is close for me, as i have a compaq v2310ca Presario, and it almost runs great out of the box....  now if only i can make this wireless crap work!!!

help!

----------

## erik258

you need the firmware that you have to upload to the chip.

ndiswrapper can do this and, assumedly, so can native drivers.  

if you have problems, just use ndiswrapper maybe.  

Firmware loading support has something to do w/ the kernel ... did you roll your own?  Did you enable firmware loading support?

----------

## superbnerb

i didn't roll my own, i just used this out of the box one from sabayon linux...   it is a 64 bit system, with a 64 bit driver.

thanks for the speedy reply by the way.

What i'll do is try ndiswrapper and see what happens.

----------

## superbnerb

nothing with ndiswrapper.  the light does not come on either.

during dhclient eth1 i get the following 

```
SIOCSIFFLAGS: No such file or directory

SIOCSIFFLAGS: No such file or directory

Listening on LPF/eth1/00:90:xx:fx:xx:ex

Sending on   LPF/eth1/00:90:xx:fx:xx:ex

Sending on   Socket/fallback

DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7

send_packet: Network is down

receive_packet failed on eth1: Network is down

DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 20

send_packet: Network is down

```

any help would kick arse.

----------

## erik258

If the firmware for the card is 32-bit, it might not work properly on 64-bit.  You said you had ndiswapper working on the card previously?  and also make sure, if it's a laptop, that the wifi on/off switch , if present, is on and not off.

 *Quote:*   

> [ 9492.261986] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed. 

 

When i set ndiswrapper up for someone, i had to do some sleuthing, but eventually found out a directory somewhere (maybe in /lib) for firmware loading.  I don't know where exactly though ... I suggest looking into your kernel documentation.   I have never done this on gentoo... I just buy atheros cards ; ).

I think the 32/64 bit firmware thing probably isn't a problem, since the chip would work in either obviously; at least the right firmware might exist.  See if you can't track it down, load up the firmware-loading modules if necessary, and put the broadcom firmware in the fright directory.  then try again.

----------

## superbnerb

to recap, i should look for 64 bit firmware, correct?  The weird thing is i get this microcode erro from dmesg, but why would I see my eth1 when i do iwconfig??

to me, that's the hard part... but now i don't know....  i'll continue searching.

----------

## erik258

some computer hardware is 'good to go' right out of the box.  You run a driver on your computer, that tells the OS how to talk to the hardware, and the hardware does it's thing.  For more complicated hardware, though, like wireless cards for example, it is often necessary to load a piece of 'firmware' onto the hardware before using it.  Firmware is basically a little computer program for a microprocessor on your wireless card.  At least you can think of it that way.  

the reason for that, i think, is that even though the device hasn't been 'programmed' with the right firmware, it still was added to the kernel's list of network devices.  In a sense, it's like a broken network interface.  It might be recognized, but it still doesn't work because a resistor or something's broken off the card.  

your card has a piece of 'broken' (or to be correct, 'unitnitialized') hardware on it, but the rest works fine, it can interface with the PCI bus (or PCMCIA or miniPCI or whatever) but it can't actually use the wifi transciever because it needs the firmware to do that .  So that's probably why it doesn't work but comes up in the output of iwconfig.  To be clear, it's not that your wifi card is broken, just that it's like it's broken because it doesn't have the program code to function.  It exists, it can talk to the computer to some extent, but it can't do it's wifi thing.  

For the record, i wouldn't be surprised if some (all?) iwconfig or ifconfig commands failed due to the card not being properly initialized.  

I don't know if you need 64-bit firmware or not.  You certainly need some kind of firmware, though.  Usually firmware will come bundled with the windows drivers.  Those will be 32-bit.  But that may work fine with the 64-bit drivers, i really don't know.  I am not sure how much the firmware is dependant on a specific CPU architecture.  

I do know that a 32-bit multimedia codec from windows wont work on my 64-bit gentoo system.  I realize that's pretty different from a wireles card, but it is possible the inconsistancy between firmware and OS may also cause problems for your wifi.  I don't know.  It is also possible that, since it just gets uploaded to the card before use, the 32-bit firmware will work fine.  I have never used a broadcom on 64bit computer. BUt i bet somewhere on the internet somebody has.

Hope that clears things up a little.  If not, post back.  I am exited to hear your results.  Good luck!

----------

## superbnerb

thanks for your help eric.  the kernel isn't ready for my computer yet... tis a shame.

For all those looking in the future who have a compaq presario v2310ca fwcutter, as of today will not work.  

i recieved this message when i tried to cut my file...

```
localhost bcmw # bcm43xx-fwcutter /usr/lib/ bcmwl564.sys

Sorry, the input file is either wrong or not supported by bcm43xx-fwcutter.

I can't find the MD5sum d41d8cd98f00b204e9800998ecf8427e :(

```

So as of now, this MD5sum isn't supported by fwcutter or bcm43xx kernel mod.  I once found this list of successful working bcm43xx firmware cases.  if i find the link again i'll post it, as it was in a forum somewhere, could even be in gentoo forums for all i know.

How i got mine working, was to first do a 

```
modprobe -r bcm43xx
```

as my system's prepackaged kernel came with it turned on, for lack of a better word.  so i modprobe'd it off.  then i went about using ndiswrapper, same as always, just like the ndiswrapper installation wiki says to do.  So the same driver i used to get my wireless working and that i am using to write this post, is not supported by bcm43xx firmware cutter, yet...

thanks again.  let's hope we will eventually have a native/out of the box compaq linux solution to wireless soon.

----------

## erik258

nice job.  I find that for wireless, a working configuration is sometimes all you can hope for.  Especially when you have to work with the kernel you have.  

You might try recompling your kernel anyway, though.  It will probably perform better, and once you get over a (small!) learning curve, you'll find it a very important suppliment to 'out-of-the-box' garden variety distros and performance-packed gentoo optimized systems alike. 

once more, congradulations.  I think wireless is the trickiest problem I have dealt with to date and my success rate is only about 75%, so great job.

----------

## superbnerb

erik,

ok, so today is a new day, right.  i get home from work and want to turn on my wireless... i know it doesn't work right off the bat, so i must go through the iwconfig bit but....

when i come home, i see that the bcm43xx "driver" or kernel mod has restarted again, and it screwed up my ndiswrapper settings.

i had to ndiswrapper -e bcmwl5 i.e. remove my driver and then reinstall it all over again.

How does one get rid of the bcm43xx or at least turn it off at startup?

----------

