# b43 -- Weird firmware issue

## ZeuZ_NG

Hi all, well since my recent upgrade from 2.6.24 I've noticed that the firmware that is dropped in dmesg is the 3.X version while the one I've got in /lib/firmware/b43 is the one corresponding to 4.80, and it still reads it as 3.X.. Any idea what might be causing the problem?

----------

## pappy_mcfae

From .24 to what? There is a different version of this module since at least .26. It requires a different version of firmware, and a different firmware cutter. Google b43 for more information.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> From .24 to what? There is a different version of this module since at least .26. It requires a different version of firmware, and a different firmware cutter. Google b43 for more information.
> 
> Blessed be!
> 
> Pappy

 

According to linuxwireless, cited from dmesg, the fw-cutter is 0.11 and THAT's the last version on portage.

The thing is, I was using version 3.X of the firmware before, now, I can see /lib/firmware/b43 with what should be 4.X firmware, since there I extracted it, and dmesg still complains that it's loading the 3.X version, hope that helps clarify the problem...

----------

## pappy_mcfae

You need b43-fwcutter. It is the only program that properly cuts the firmware for the b43 module. It is made specifically for that purpose, hence the name. You also need a specific file from which you cut. 

There are how-to's and other writings on the b43 module and setting it up. Search the forums, and you will find those pages. Done properly, the b43 module just works.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> You need b43-fwcutter. It is the only program that properly cuts the firmware for the b43 module. It is made specifically for that purpose, hence the name. You also need a specific file from which you cut. 
> 
> There are how-to's and other writings on the b43 module and setting it up. Search the forums, and you will find those pages. Done properly, the b43 module just works.
> 
> Blessed be!
> ...

 

Would you mind paying some attention to what I said?

I extracted the firmware, and it was placed in /lib/firmware/b43 instead of what it previously had worked (plain in /lib/firmware)

Now in /lib/firmware there's nothing but folders for each of the modules that require it.

Even though the firmware is there and with the version suggested in linuxwireless (Yes, I used b43-fwcutter v0.11 the last one recommended one ment to use one) I downloaded it from there, the Wiki has an outdated firmware which went out of support on 2006 (v 3.X) and dmesg still complains that the version loaded is 3.X while the only one present is the one in /lib/firmware/b43 and it's the version 4.80

I hope now the situation stands clear, and sorry if I¡ve been a little rough it's just that languaje barriers are what I beleave blocking the understanding of the situation...

----------

## pappy_mcfae

The version of firmware I used is available here. Clear out /lib/firmware/b43 and cut that version. 

And yes, there are better ways to communicate. However, in this case, I understand. I've had worse.

Blessed be!

Pappy

----------

## ZeuZ_NG

Thanks for understanding, however I must sadly tell that, even though the version is the same one I extracted before, I downloaded the one from your link and extracted it after removing the current one, the problem remains... 

Any further idea? It extracted it again into /lib/firmware/b43, should the firmware be dropped into /lib/firmware directly?

----------

## pappy_mcfae

The last idea I have is to ask whether or not you compiled b43 into the kernel or set it up as a module. If you compiled it into the kernel, it won't work. It has to be a module.

Beyond that, I'm at a loss. 

Good luck.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> The last idea I have is to ask whether or not you compiled b43 into the kernel or set it up as a module. If you compiled it into the kernel, it won't work. It has to be a module.
> 
> Beyond that, I'm at a loss. 
> 
> Good luck.
> ...

 

It's built as a module, so I'm also out of ideas...

By the way, has anybody else also have the problem of gentoo forums complaining about too many connections? Perhaps the DB daemon is overloaded this days?

----------

## pappy_mcfae

Post the results of iwconfig and ifconfig -a.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> Post the results of iwconfig and ifconfig -a.
> 
> Blessed be!
> 
> Pappy

 

Well, I don't really know what you're expecting to gather from it, as before told: The interface works, but dmesg drops a message complaining about the firmware, to ilustrate, here's the message that it drops:

```

b43-phy0 warning: You must go to http://linuxwireless.org/en/users/Drivers/b43#devicefirmware and download the latest firmware (version 4).

b43-phy0 warning: You must go to http://linuxwireless.org/en/users/Drivers/b43#devicefirmware and download the latest firmware (version 4).

```

Iwconfig results(only the associated one) : -- > Side note: I'm using the new wireless stack (mac80211)

```

wlan0     IEEE 802.11bg  ESSID:"Zideral"  

          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:1C:10:2E:3E:D3   

          Bit Rate=18 Mb/s   Tx-Power=20 dBm   

          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   

          Encryption key:0746-DE08-85C4-DCC0-C713-E17E-C037-D4E1 [2]   Security mode:open

          Power Management:off

          Link Quality=96/100  Signal level:-37 dBm  Noise level=-68 dBm

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

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

```

ifconfig -a results:

```

eth0      Link encap:Ethernet  HWaddr 00:16:d3:98:44:ca  

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

          Interrupt:23 Base address:0xa000 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:16 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1120 (1.0 KiB)  TX bytes:1120 (1.0 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:1a:73:41:a0:16  

          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:355 errors:0 dropped:0 overruns:0 frame:0

          TX packets:343 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:225739 (220.4 KiB)  TX bytes:79021 (77.1 KiB)

wmaster0  Link encap:UNSPEC  HWaddr 00-1A-73-41-A0-16-00-00-00-00-00-00-00-00-00-00  

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

```

----------

## pappy_mcfae

Just looking, I guess. If things are working, I'd just ignore the error. I had to do that a lot before they fixed wpa_supplicant so it would stop throwing errors on the screen that were meaningless.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> Just looking, I guess. If things are working, I'd just ignore the error. I had to do that a lot before they fixed wpa_supplicant so it would stop throwing errors on the screen that were meaningless.
> 
> Blessed be!
> 
> Pappy

 

Well, the problem was mainly the leds not matching the state of the device and a kinda low data transfer rate... 

But, I guess I'll follow your advice and keep ignoring them...

----------

## pappy_mcfae

Low throughput? That's a known problem with the b43 module. Due to machinations with the kernel, I am now forced to use the b43 instead of ndiswrapper, which used to provide almost 3MB/s. The highest throughput I've gotten with the b43 is about 2MB/s, and that was pushing it.

Unfortunately, the .27 kernel isn't all that great with ndiswrapper, and I don't want to go back to the .26 just to get that functionality. Nice, eh?

Blessed be!

Pappy

----------

## ep0ch

Broadcom has released official Linux drivers for some of their devices.  You didn't say in your post which card you have, but it supports "BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware." 

http://www.broadcom.com/support/802.11/linux_sta.php

My Setup:

HP Pavilion dv2700 series

AMD Turion 64 X2 TL-58

Broadcom BCM4312

lspci output:

04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

I'm using the 64-bit driver and it works great! Just follow the README and you shouldn't have any issues.

----------

## ZeuZ_NG

 *ep0ch wrote:*   

> Broadcom has released official Linux drivers for some of their devices.  You didn't say in your post which card you have, but it supports "BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware." 
> 
> http://www.broadcom.com/support/802.11/linux_sta.php
> 
> My Setup:
> ...

 

So you're using NDISWRAPPER? or a 64bits kernel? You don't really say much pointing it that way, and I also haven't got any need to report the adapter because I know it works with b43 module, it worked in earlier kernels without reporting that firmware issue, and here I am again telling the same all over and over.. 

If you want to know, my card is BCM94311MCG.

As you can see, it's one of the supported 4311 series, and no, it's not furthermore covered with b43legacy.

We share the serie, also, mine is a Pavilion DV2315NR(dv2000 series)

Sorry if I sound rude, I'm just having a crappy week...

----------

## ep0ch

Hey, no problem. I'm running a 64-bit system. No, the driver does not work with ndiswrapper. ndiswrapper is for wrapping the windows driver so that the linux kernel can use it. This is a complete, fully supported driver from broadcom for linux. It will not work if the ndiswrapper, b43 or ssb modules are loaded, or if the latter two are compiled into the kernel. I have not had a chance to benchmark it, however, I know that the b43 driver was slower than the native windows driver (at least on my system  :Razz: )

----------

## pappy_mcfae

I, for one would be VERY interested in knowing how this module works. Please post the results of your experiment ASAP.

Blessed be!

Pappy

----------

## ep0ch

Pappy, no issues here. I've seen good things in the ubuntu and sabayon(sp?) forums as well. I say it's worth a shot, if it doesn't work for you, you can always go back to your current method.

----------

## DaggyStyle

apparently there is an ebuild in bugzilla but the kernel is need to be patched.

did anyone got b43 and firmware13 to work?

----------

## ZeuZ_NG

 *DaggyStyle wrote:*   

> apparently there is an ebuild in bugzilla but the kernel is need to be patched.
> 
> did anyone got b43 and firmware13 to work?

 

Not me at least, and epoch, I was asking because of you named it driver instead of module, so I thought you could be using Ndis...

If anyone else get's to do it, PM me about it (running 2.6.28 if possible)

----------

## ep0ch

sorry, yes, it's a module. i'm used to talking to people who don't know the difference   :Razz: 

----------

## pappy_mcfae

Cool. I think I might download that and give it a shot. It will work for pappy-lap. Unfortunately, the module doesn't support the PCMCIA card in gen-tosh.  :Neutral: 

Such is life. All gen-tosh does is run screen savers and my printer. It hasn't moved from it's spot since I dusted underneath it, and cleaned out the air vents. 

Blessed be!

Pappy

----------

## pappy_mcfae

This works. It's not the fastest, but it sure does connect immediately and solidly. The bugzilla page on this issue is here for those who might be interested.

Blessed be!

Pappy

----------

## ZeuZ_NG

 *pappy_mcfae wrote:*   

> This works. It's not the fastest, but it sure does connect immediately and solidly. The bugzilla page on this issue is here for those who might be interested.
> 
> Blessed be!
> 
> Pappy

 

Any alternative solutions?

Perhaps I'll try to apply the patch to my vanilla 2.6.28 and see what happens

----------

## DaggyStyle

 *ZeuZ_NG wrote:*   

>  *pappy_mcfae wrote:*   This works. It's not the fastest, but it sure does connect immediately and solidly. The bugzilla page on this issue is here for those who might be interested.
> 
> Blessed be!
> 
> Pappy 
> ...

 

what patch?

I use it with gentoo-sources without patch

----------

## ZeuZ_NG

 *DaggyStyle wrote:*   

>  *ZeuZ_NG wrote:*    *pappy_mcfae wrote:*   This works. It's not the fastest, but it sure does connect immediately and solidly. The bugzilla page on this issue is here for those who might be interested.
> 
> Blessed be!
> 
> Pappy 
> ...

 

Check pappy's last post (there are some patches there).

I use vanilla, and checking dmesg complains about the firmware not being the correct version, even if it is it will not recognize it.

----------

## DaggyStyle

pappy's last post links to the ebuild, sameone I've used, you don't need to patch your kernel.

anyway, I've got a strange issue, when I load the module the device name is eth1, I need to change it to wlan0 so I won't need to reconfigure what I've configured to ndiswrapper.

I've tried to change the content of /etc/udev/rules.d/70-persistent-net.rules so the name will be wlan0 but when I load it iwconfig shows only this:

```
eth1      IEEE 802.11bg  ESSID:  Nickname:

```

and not the whole info

----------

## DaggyStyle

is it possible that the driver doesn't support scanning?

```
dagg@NCC-5001-D /etc/init.d $ lsmod | grep wl

wl                   1064000  0

ieee80211_crypt         5188  2 ieee80211_crypt_tkip,wl

```

when I run the service I get this:

```
dagg@NCC-5001-D /etc/init.d $ Service net.eth1 start

Password:

 * Starting eth1

 *   Configuring wireless network for eth1

 *   eth1 does not support scanning

 *   You either need to set a preferred_aps list in /etc/conf.d/wireless

 *      preferred_aps=( "ESSID1" "ESSID2" )

 *      and set associate_order_eth1="forcepreferred"

 *      or set associate_order_eth1="forcepreferredonly"

 *   or hardcode the ESSID to "any" and let the driver find an Access Point

 *      essid_eth1="any"

 *   or configure defaulting to Ad-Hoc when Managed fails

 *      adhoc_essid_eth1="WLAN"

 *   or hardcode the ESSID against the interface (not recommended)

 *      essid_eth1="ESSID"

 *   Failed to configure wireless for eth1                                [ !! ]

```

iwconfig shows:

```
eth1      IEEE 802.11bg  ESSID:""  Nickname:""

          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated

          Bit Rate:54 Mb/s   Tx-Power:off

          Retry min limit:7   RTS thr:off   Fragment thr:off

          Power Managementmode:All packets received

          Link Quality=5/5  Signal level=0 dBm  Noise level=0 dBm

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

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

```

btw, after running the service iwconfig shows:

```
eth1      IEEE 802.11  Nickname:""

          Access Point: Not-Associated

```

----------

## pappy_mcfae

The only "other" alternative I know would be ndiswrapper. It's barely breathing, and coughing up blood. The kernel devs, up to and including Linus Torvalds, have been slowly moving ndiswrapper to extinction.

To get the best out of it, you need to use 2.6.22.19 or 2.6.22-gentoo-r10. I actually recommend to people with bcm wireless adapters who wish to use ndiswrapper get things going with one or both of the above kernels. Once you get ndiswrapper working, then you can move to the .25 or .26 kernel without modification, and the .27 with modification. Your degree of success will diminish as you move up in kernel version. As a matter of fact, I have yet to get a stable connect with ndiswrapper and the .27, but others have said that they made it happen...lucky them :/ 

I haven't tried it with .28, and I'm not planning on trying. I haven't read anything about it in a little while here, either.

Blessed be!

Pappy

----------

## ZeuZ_NG

What makes me angry is that this thing works, still it complains about the firmware being it the correct version.-

But, oh well... I guess it's about time to let this die...

Dag: Mine does support scanning at least (bcm94311mcg)

EDIT: Corrected the chipset..

----------

## DaggyStyle

 *ZeuZ_NG wrote:*   

> What makes me angry is that this thing works, still it complains about the firmware being it the correct version.-
> 
> But, oh well... I guess it's about time to let this die...
> 
> Dag: Mine does support scanning at least (bcm94312)

 

what's your exact chip?

----------

## ZeuZ_NG

 *DaggyStyle wrote:*   

>  *ZeuZ_NG wrote:*   What makes me angry is that this thing works, still it complains about the firmware being it the correct version.-
> 
> But, oh well... I guess it's about time to let this die...
> 
> Dag: Mine does support scanning at least (bcm94312) 
> ...

 

As stated before, it's BCM94311MCG.

----------

## DaggyStyle

 *ZeuZ_NG wrote:*   

>  *DaggyStyle wrote:*    *ZeuZ_NG wrote:*   What makes me angry is that this thing works, still it complains about the firmware being it the correct version.-
> 
> But, oh well... I guess it's about time to let this die...
> 
> Dag: Mine does support scanning at least (bcm94312) 
> ...

 

I meant output of lspci -nvv

----------

## ZeuZ_NG

 *DaggyStyle wrote:*   

>  *ZeuZ_NG wrote:*    *DaggyStyle wrote:*    *ZeuZ_NG wrote:*   What makes me angry is that this thing works, still it complains about the firmware being it the correct version.-
> 
> But, oh well... I guess it's about time to let this die...
> 
> Dag: Mine does support scanning at least (bcm94312) 
> ...

 

14e3:4311 (revision 01)

----------

