First of all, this tutorial will use NDISWRAPPER, not b43, not wl (Broadcom STA). So, hooray for new method (actually, the only method ). Now, I don't want anyone to get scared because of bad experiences with Ndiswrapper or whatever, it's actually quite easy. I did not come up with any of this info. I'm just putting this guide together from Kacper Szczesniak's info (who came up with this method), WifiDocsDriverbcm43xxFeisty_No-Fluff from the Ubuntu Wiki, and my experience.
The Broadcom STA (wl) driver has references to monitor mode in it's code, but does not have that functionality in reality. The Broadcom Windows driver on the other hand does have this capability. So, for monitor mode to work, you will need a patched version of ndiswrapper.
Pre-everything stuff
----------------------
1) Install the Linux kernel headers:
Code:
sudo apt-get install linux-headers-$(uname -r)
2) Install the tools required to compile Ndiswrapper:
Code:
sudo apt-get install checkinstall dh-make fakeroot gcc build-essential
3) Unload current Ndiswrapper module, if running:
Code:
sudo rmmod ndiswrapper
4) Ummm...continue on!
Download and Patch Ndiswrapper
-------------------------------
1) Download the Latest Ndiswrapper tarball by click the green download button at http://sourceforge.net/projects/ndiswrapper/files/ to a folder called "ndiswrapper" in your home directory. So, download to ~/ndiswrapper.
2) Change to ~/ndiswrapper in the Terminal:
3) Extract the tarball:
Code:
tar zxvf ndiswrapper-1.*.tar.gz
4) Download "bcmmon.diff.zip" (attached to this post) to ~/ndiswrapper and unzip it to make "bcmmon.diff":
Code:
unzip bcmmon.diff.zip
5) This is the annoying part (for some people). If you the latest version of Ndiswrapper, when you downloaded, was 1.56, then continue to the next step. Otherwise, keep reading. If you downloaded a later version, you will need to open the "bcmmon.diff" in a text editor (Gedit -- Gnome, Kwrite -- KDE). DON'T LET ALL THAT TEXT SCARE YOU . Now, press <Ctrl> + F and find "1.56". Every time you find 1.56, change it to the version you downloaded.
6) Patch the sources:
Code:
patch -p1 < bcmmon.diff
7) Now, change to the ndiswrapper-1.* directory:
8) Now, run "make" to compile Ndiswrapper:
9) Remove existing Ndiswrapper, if installed:
Code:
sudo apt-get remove ndiswrapper-common
If you are running Linux Mint, the packages: [mint-meta-gnome mint-meta-x64 mintwifi] will be removed. This is okay. We will reinstall them later.
10) After compiling, run checkinstall to make a DEB package:
For the description, I put:
Patched ndiswrapper build to make monitor mode work on Broadcom cards.
For kernel: <your kernel>
I definitely suggest that you put your kernel version in the description because you will need to make a new DEB package every time your kernel gets upgraded (I.e. run "sudo apt-get remove ndiswrapper-common && sudo checkinstall" again).
For the name, use: "ndiswrapper-common2"
For "Provides: ," also use: "ndiswrapper-common"
11) Press Enter. Your new ndiswrapper package will be installed automatically.
If you are running Linux Mint, you can reinstall the packages: [mint-meta-gnome mint-meta-x64 mintwifi] now.
Download and Install Windows Driver
-------------------------------------
1) Change back to "~/ndiswrapper" and create "~/ndiswrapper/windriver". Then change to "~/ndiswrapper/windriver":
Code:
cd ~/ndiswrapper
mkdir ~/ndiswrapper/windriver
cd ~/ndiswrapper/windriver
2) Download this file using a web browser (wget gives wierd file name) to "~/ndiswrapper/windriver":
3) Unzip "R174291-pruned.zip":
Code:
unzip R174291-pruned.zip
4) Check if there were previous Windows WLAN drivers installed:
Code:
sudo /usr/sbin/ndiswrapper -l
If there are, remove it with:
Code:
sudo /usr/sbin/ndiswrapper -r <the driver>
5) Install the downloaded Dell Windows driver in Ndiswrapper:
Code:
sudo /usr/sbin/ndiswrapper -i bcmwl5.inf
6) Now, when you run "sudo /usr/sbin/ndiswrapper -l," you should get something similar to this:
bcmwl5 : driver installed
device (14E4:4315) present (alternate driver: wl)
7) Umm...continue on.
Ndiswrapper module stuff
--------------------------
1) Refresh the list of modules to make sure that the ndiswrapper module is found:
Code:
sudo depmod
sudo depmod -a
2) To ensure that there are no conflicting drivers loaded on boot, add the following lines to "/etc/modprobe.d/broadcom.conf":
Code:
sudo < gedit OR kwrite > /etc/modprobe.d/broadcom.conf
Add:
blacklist b43
blacklist b43legacy
blacklist bcm43xx
blacklist ssb
blacklist wl
3) Open "/etc/modules" and check to make sure that b43 / b43legacy / bcm43xx / ssb / wl aren't mentioned. Then, add "ndiswrapper" on a new line.
Code:
sudo < gedit OR kwrite > /etc/modules
4) REBOOT!!! OR to use ndiswrapper without rebooting, run:
Code:
sudo rmmod b43 b43legacy bcm43xx ssb wl
sudo modprobe ndiswrapper
5) Enjoy cracking your neighbor's wireless...I mean...I didn't say...anything .
-----------
Again, thanks to Kacper Szczesniak for his experience and his info at http://seclists.org/fulldisclosure/2008/Nov/506 and also to the Ubuntu Wiki for the Dell Windows XP Broadcom driver: https://help.ubuntu.com/community/Wi...oad/Extraction.
Bookmarks