# B43 wireless module become stable with kernel 2.6.39

## Logicien

Maybe you have been able to use it efficiently before, but for me, most of the times, the b43 module was suffering disconnections, specially with WPA authentification. Since kernel 2.6.39, things have changed. It do not stop associating after 500 milliseconds of probe, or if it does, it reconnect, what it was not doing before, leaving the wireless card in an unusable state. So I can use my BCM4312 with b43 now.

The firmware it use can be in cause, the b43 module have  better reception/emission than the wl module. Windows 7 often cannot connect to the router when wl and better again b43 can. The link quality is at best 2/5 or between 30 and 40% because of the distance. I tried several's things to make the link better, disable power management of the wireless card and PCIe bus, disable IPV6, and so on. It have'nt help a lot.

Because a lot of wireless modules use the mac80211 module as dependency, I want to say that kernel 2.6.39 bring new options for that module that previous kernel's versions did'nt:

```
modinfo -p mac80211

ieee80211_default_rc_algo:Default rate control algorithm for mac80211 to use (charp)

max_nullfunc_tries:Maximum nullfunc tx tries before disconnecting (reason 4). (int)

max_probe_tries:Maximum probe tries before disconnecting (reason 4). (int)

probe_wait_ms:Maximum time(ms) to wait for probe response before disconnecting (reason 4). (int)

ieee80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)
```

You can see that you can now set the number of tries and time probe before disconnecting. For those who are suffering from disconnections, you can like me, set options for the mac80211 module in /etc/modprobe.d/modprobe.conf:

```
options mac80211       max_nullfunc_tries=60 max_probe_tries=60 probe_wait_ms=3600000
```

The mac80211 module must try 60 times and for a day before giving up and disconnecting. It seem's to work as well without those options.

 :Very Happy: 

----------

