Why can't I set monitor mode with the wl STA driver on a Broadcom wireless card?

The official Broadcom STA/wl driver DOES NOT support monitor mode

  • You are using the Broadcom STA (wl) official driver; this does not support monitor or promiscuous modes (regardless of whatever airmon-ng tells you.)
  • For this you need the b43 driver, which can be installed with sudo apt-get install b43-fwcutter firmware-b43-installer
  • You can unload one and load the other with sudo rmmod wl; sudo modprobe b43 (and vice versa).
  • Note that b43 and wl have their own advantages and disadvantages, so you may want to google before choosing one or the other.

The above answer is not true. At least, from version 5.100.82.1 (I think that is from year 2007 or so).

The official Broadcom STA/wl driver does support monitor mode

However, it's not standard the way it does, so in order to enable it you have to do the following:

  • You have to type in a 1 to the file /proc/brcm_monitor0. You may do this via the following shell command: echo 1 | sudo tee /proc/brcm_monitor0.
  • It will create a new interface. The interface is called prism0, and not mon0.

Enjoy.

In my case, I can't set b43 up, and whenever I actually get the kernel to load it, my connectivity will drop to unusable, dropping most packets.

I hate wl not being free, but I can't use the b43 alternative in my BCM4322.


If you choose to use non official drivers, pay attention that it doesn't support all cards. Check it here: http://wireless.kernel.org/en/users/Drivers/b43#Supported_devices

For example (not supported): Broadcom Corporation Device [14e4:4365]

Check your card:

lspci -vnn -d 14e4: