Injection capable bcm43xx driver - 2.6.20-16-generic kernel
As I promised, here you go. Just the 32 bit version for now. Works with current Ubuntu kernel, 2.6.20-16-generic and supports packet injection.
Tested and OK with my Dell 1390 WiFi card, using the bcm4311 chipset.
If you haven’t installed the firmware files:
cd ~
wget http://ubuntu.cafuego.net/pool/feisty-cafuego/bcm43xx/bcm43xx-firmware_1.3-1ubuntu2_all.deb
sudo dpkg -i ./bcm43xx-firmware_1.3-1ubuntu2_all.deb
sudo rm ./bcm43xx-firmware_1.3-1ubuntu2_all.deb
Install the module:
sudo rm /lib/modules/2.6.20-16-generic/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko
wget http://www.linux-geek.org/files/bcm43xx-2.6.20-16-injection.tar.bz2
sudo tar xvjf ./bcm43xx-2.6.20-16-injection.tar.bz2 -C /lib/modules/2.6.20-16-generic/kernel/drivers/net/wireless/bcm43xx/
Test it:
sudo rmmod bcm43xx
sudo modprobe bcm43xx
sudo iwlist scan
17 Jun 2007 Cosmin


[...] Edit 4: You can get the injection capable module for 2.6.20-16-generic from here. [...]
[...] for the 2.6.20-16-generic one compile it yourself or wait until I’ll provide one get it here) . If you are using another wireless network card, search for instructions about patching your [...]
I’m waiting for 64 version of it. Or, if you wish, you can publish the instructions for compiling it.
After installing the driver and aircrack, injection doesn’t seem to be working (to probe that I’ve used the imjection test as described in http://www.aircrack-ng.org/doku.php?id=injection_test ). Any idea of what might be the problem? Thank you in advance.
Gahedros: The test works just with aircrack-ng 0.9. You need to compile that version, because the Ubuntu package contains an outdated version. Also, make sure your network card is in Monitor mode.
Hello BlackNight,
I had compiled aircrack-ng 0.9.1 and I have the network card in monitor mode. Yje test returns this:
gahedros@gahedros-laptop:~$ sudo airmon-ng start eth1
Password:
Interface Chipset Driver
eth1 Broadcom bcm43xx (monitor mode enabled)
gahedros@gahedros-laptop:~$ sudo aireplay-ng -9 eth1
11:46:17 Trying broadcast probe requests…
11:46:18 No Answer…
11:46:18 Found 1 AP
11:46:18 Trying directed probe requests…
11:46:18 00:60:B3:D9:A4:4C - channel: 7 - ‘WLAN_BD’
11:46:27 0/30: 0%
Well, this being the case, I don’t know where’s the problem. Anyway, you can try injection even if that test fails. To be honest, I never tried that test, but with this module injection worked.
nice… ive already installed the 64 bit module on my kubuntu feisty… and would really appreciate if anyone can help me get the injection capable module for my dell 1390 wifi card…
My laptop wireless is being a pain in the behind. I have tried everything I could think of and was hoping that you might be able to provide some answers. I have the card listed here in a HP dv9000. First what I have done and the results. I am using Ubuntu 7.04 Feisty.
1. I can get it working with ndiswrapper using the latest drivers from Dell but they lockup occasionally. Will lockup at just about any time and always locks up if it goes to sleep.
I am using ndiswrapper 1.47 and have it setup now so that I uninstall ndiswrapper when I am trying to install the firmware.
2. I tried to install the firmware as per instructions on so many different how-to sites.
I have tried to install the firmware included in the distro and tried to compile my own using the latest drivers I am using for the ndiswrapper solution.
I can get the wireless light to turn blue with the firmware but sudo iwlist scan always returns no scan results.
3. I tried this solution but got the same results as in solution 2. I ended up rebooting and still get the same results after running the modprobe bcm43xx command followed by the iwlist scan command.
Currently I can see the card in the network manager and can see the “Wireless Networks” item in the manager thing on the toolbar but there are no networks listed.
At this point I am thinking my system may be so buggered that I need to clean it up but I am not sure. I have tried to clean it up as much as I could after each attempt. This solution seems to have put in more files in than the other solutions and I am not sure how to clean this one up.
Here are my questions:
What am I doing wrong?
How do I get my system cleaned up so I know that I know that I am not chasing the wrong problem?
Can I get this thing working so that it will work on wireless and not lockup on me?
Please post the output of lspci.
ddevore@holiday:~$ lspci | grep Broad
03:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 02)
This is what I thought you would need. Below is the whole output.
00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
00:0a.3 Co-processor: nVidia Corporation MCP51 PMU (rev a3)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev f1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev f1)
00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev f1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
03:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 02)
07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
07:05.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
07:05.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
My card is revision 1, yours is revision 2. I don’t know if this may be a problem, but I think it shouldn’t. Now please post the output of cat /var/log/messages.log |grep bcm and dmesg |grep bcm.
I wondered about the specific version number but I thought that if it was that specific I wouldn’t get as far as I do. The main problem I seem to be having is the scan thing. Anyway here is the output.
There is more before it but it is related to the ndis wrapper I had installed, which has been uninstalled.
The only 2 which will be related to your method/code is the last 2 from 12:02 and 12:19. It looks like there is something I buggered up somewhere. I am a fair noob when it comes to the drivers and all.. Usually I simply follow directions and cross my fingers.
Aug 13 09:45:15 holiday kernel: [ 794.316000] bcm43xx driver
Aug 13 09:45:15 holiday kernel: [ 794.324000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 09:45:15 holiday kernel: [ 794.328000] bcm43xx: Invalid PHY Revision 9
Aug 13 09:58:24 holiday kernel: [ 233.580000] bcm43xx driver
Aug 13 09:58:24 holiday kernel: [ 233.588000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 09:58:24 holiday kernel: [ 233.588000] bcm43xx: Invalid PHY Revision 9
Aug 13 10:00:49 holiday kernel: [ 378.288000] bcm43xx driver
Aug 13 10:00:49 holiday kernel: [ 378.296000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 10:00:49 holiday kernel: [ 378.300000] bcm43xx: Invalid PHY Revision 9
Aug 13 10:13:40 holiday kernel: [ 231.252000] bcm43xx driver
Aug 13 10:13:40 holiday kernel: [ 231.260000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 10:13:40 holiday kernel: [ 231.260000] bcm43xx: Invalid PHY Revision 9
Aug 13 10:14:03 holiday kernel: [ 254.520000] bcm43xx driver
Aug 13 10:14:03 holiday kernel: [ 254.528000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 10:14:03 holiday kernel: [ 254.532000] bcm43xx: Invalid PHY Revision 9
Aug 13 12:02:44 holiday kernel: [ 6775.956000] bcm43xx: no version for “struct_module” found: kernel tainted.
Aug 13 12:02:44 holiday kernel: [ 6775.964000] bcm43xx driver
Aug 13 12:02:44 holiday kernel: [ 6775.968000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 12:02:44 holiday kernel: [ 6775.972000] bcm43xx: Invalid PHY Revision 9
Aug 13 12:19:19 holiday kernel: [ 633.168000] bcm43xx: no version for “struct_module” found: kernel tainted.
Aug 13 12:19:19 holiday kernel: [ 633.172000] bcm43xx driver
Aug 13 12:19:19 holiday kernel: [ 633.176000] bcm43xx: Unsupported 80211 core revision 13
Aug 13 12:19:19 holiday kernel: [ 633.180000] bcm43xx: Invalid PHY Revision 9
Googled a little and it seems that your card is not supported. Maybe you should contact the bcm43xx developers. Their site is here.
I guess I was searching on the wrong thing. I will get in contact with the developers and see how that goes. Thanks for your help.
If I delete all the bcm43* files in the /lib/firmware directory and below will that clean up what I have installed from your script?
Remove the package bcm43xx-firmware with sudo apt-get –purge remove bcm43xx-firmware, but that’s just the firmware, you may keep. To restore the original ubuntu bcm43xx driver, I think you need to remove the kernel (using –purge) and the install it again. Or download the deb from packages.ubuntu.com and replace just /lib/modules/2.6.20-16-generic/kernel/drivers/net/wireless/bcm43xx/.
This works great on my Presario c500, except for one problem. While I’m running airodump-ng and aireplay-ng to generate some traffic, I notice that every few minutes I’ll stop receiving packets and I have to put my card into monitor mode again with airmon again. I have to do this about every 3 minutes. For a while, I noticed that the wifi-radar daemon was screwing things up and kept locking up my system so I did `sudo /etc/init.d/wifi-radar stop`, and it fixed that problem, but do you have any idea what’s causing this one?
I’m using a Dell 1521 which /should/ have this card, but lspci says
0b:00.0 Network controller: Broadcom Corporation Unknown device 4328 (rev 03)
I found a review that said it was a Dell Wireless 1390, and in that other O/S, it said it was simply a “broadcom 802.11n network” — the Broadcom 43xx project page lists the Dell 1390 as the last entry in the table at http://bcm43xx.berlios.de/?go=devices but gives it an ID of 4311 (can I hack that number somewhere?)
garym@uhuru:~$ sudo grep bcm /var/log/messages.log ; dmesg |grep bcm
Sep 12 16:21:01 uhuru kernel: [25378.144000] bcm43xx: no version for “struct_module” found: kernel tainted.
Sep 12 16:21:01 uhuru kernel: [25378.152000] bcm43xx driver
[25378.144000] bcm43xx: no version for “struct_module” found: kernel tainted.
[25378.152000] bcm43xx driver
That’s it. No further messages. Any guesses what went wrong? is the 4328 vs 4311 confusing the driver?
Broadcom 4311 is not 802.11n compatible, just 802.11b/g, so I think you have a card that uses another chipset, possibly Broadcom 4328.
From what I can see on Dell’s site, I think you have a Dell 1505 WiFi card.
It is NOT supported by bcm43xx, so I think you should try ndiswrapper.
Hello,
I bought a DV6000 this week and have been trying to get my bcm4311 card to work under Feisty for 4 days now.
I have tried ndiswrapper with the original WinXP drivers from HP, Dell and Compaq sites. I’ve also tried fwcutter by extracting the firmware from every possible bcmwl5 drivers i found and the deb package on this blog.
All my attempts get the wifi to work, the light goes blue, everything is perfect for a couple of minutes, then the packet loss starts increasing and the connection slows down. I get the same result from kernel 2.6.20(15), 2.6.20(16) and a manually-compiled 2.6.22.6.
lspci:
03:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
03:00.0 0280: 14e4:4311 (rev 01)
Subsystem: 103c:1363
Flags: bus master, fast devsel, latency 0, IRQ 21
Memory at b8000000 (32-bit, non-prefetchable) [size=16K]
dmesg:
bcm43xx driver
ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LK4E] -> GSI 19 (level, high) -> IRQ 21
PCI: Setting latency timer of device 0000:03:00.0 to 64
bcm43xx: Chip ID 0×4311, rev 0×1
bcm43xx: Number of cores: 4
bcm43xx: Core 0: ID 0×800, rev 0×11, vendor 0×4243
bcm43xx: Core 1: ID 0×812, rev 0xa, vendor 0×4243
bcm43xx: Core 2: ID 0×817, rev 0×3, vendor 0×4243
bcm43xx: Core 3: ID 0×820, rev 0×1, vendor 0×4243
bcm43xx: PHY connected
bcm43xx: Detected PHY: Analog: 4, Type 2, Revision 8
bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: PHY connected
bcm43xx: Microcode rev 0×122, pl 0×99 (2005-01-22 22:40:08)
bcm43xx: Radio turned on
bcm43xx: Radio enabled by hardware
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
ADDRCONF(NETDEV_UP): wlan0: link is not ready
bcm43xx: set security called, .active_key = 0, .level = 1, .enabled = 1, .encrypt = 1
bcm43xx: set security called, .active_key = 0, .level = 1, .enabled = 1, .encrypt = 1
bcm43xx: set security called, .level = 1, .enabled = 1, .encrypt = 1, .auth_mode = 0
SoftMAC: Open Authentication completed with 00:40:f4:fc:e2:36
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
router ping:
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=127 time=17.8 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=127 time=28.6 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=127 time=7.48 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=127 time=3.58 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=127 time=27.0 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=127 time=40.7 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=127 time=1.49 ms
— 192.168.1.1 ping statistics —
10 packets transmitted, 7 received, 30% packet loss, time 8999ms
As you can see, everything normal, no errors, except the constant packet loss after a few seconds. On Vista the card works perfectly.
Any ideas? i am about to purchase an usb-wifi
Thanks in advance
What’s the distance between you and the AP? Because TX power on this cards seems lower when using bcm43xx compared to windows drivers.
About 12 feet. I’ve tried with the AP beside the computer also.
I have a 4306 in another laptop that works well with the same drivers, at the same distance. I ran out of ideas
eth1 IEEE 802.11b/g ESSID:”mwwifi” Nickname:”Broadcom 4306″
Mode:Managed Frequency=2.437 GHz Access Point: 00:40:F4:FC:E2:36
Bit Rate=24 Mb/s Tx-Power=15 dBm
RTS thr:off Fragment thr:off
Encryption key:0000-0000-00 Security mode:open
Link Quality=61/100 Signal level=-60 dBm Noise level=-71 dBm
Rx invalid nwid:0 Rx invalid crypt:185789 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
wlan0 IEEE 802.11b/g ESSID:”mwwifi” Nickname:”Broadcom 4311″
Mode:Managed Frequency=2.437 GHz Access Point: 00:40:F4:FC:E2:36
Bit Rate=24 Mb/s Tx-Power=18 dBm
RTS thr:off Fragment thr:off
Encryption key:0000-0000-00 Security mode:open
Link Quality=68/100 Signal level=-63 dBm Noise level=-64 dBm
Rx invalid nwid:0 Rx invalid crypt:186 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:
wlan0 is the bcm4311 that is losing packets. eth1 is the bcm4306 in a zv5000 which is working perfectly. The 4311 actually has a better tx-power and link quality. Very weird.
In this case, I think you should contact bcm43xx developers. See http://bcm43xx.berlios.de/?go=development for their mailing list / irc channel. I wish you luck!
If you find a solution, please contact me.
I got it fixed, i removed the bcm43xx module and reinstalled ndiswrapper. This time i installed an older 2006 HP driver listed in ndiswrapper’s wiki list. The signal level increased from 18dBm to 32dBm, better than ever
I hope the kernel’s bcm43xx will be fixed soon.
Thanks again
btw, the link to the driver i used is:
http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-45290-1&lc=en&cc=sg&dlc=en&product=3245619&os=228&lang=en
Running on kernel 2.6.22.6, ndiswrapper 1.47.
i noticed that sometime my connection doesn’t work…it’s locked and i can’t open sites… strange… i use ubuntu feisty
Ok it’s great. It works on my Acer Extensa 5220. I can see my AP but I can’t connect when it’s protected. I will looking for any idea as Wicd or something else.
Thanks
Thanks a million for the clear instructions!
Wifi is now working like a charm on my 1705E inspiron with a broadcom 1390
I installed this with my dell 1501 and injection works great, so does monitor mode and everything, however i cant simply connect to my AP to use the internet, the AP is WPA2 encrypted..
Seems strange that I can inject packets and retrieve lots of information about networks with kismet, but when i try to simply connect to my network (with the correct key of course) ubuntu 7.04 (2.6.20-16-generic) just tries and tries then fails… and while its trying, my AP does nothing (no flashing ‘activity’ lights)… anyone know of anything that might be going wrong?
Thanks for any help
I need help im trying to run airdump but it says i dont have the driver so the adapter can work i got a
Board: Dell Wireless 1390 WLAN MiniCard Rev 3.6
Chipset: BCM4311/BCM2050
i need the corret driver for make airdump to work
please help
and thanks..
Ciao Cosmin
I would like to kindly ask you to tell me where i could find the sources for the bcm43xx injection capable driver. The point is that the one u provide above, is not working under suse. I would like to try to compile it on my own. I am running opensuse 10.3, 2.6.22 kernel, but until now i couldn;t find any suitable driver for my bcm4311 wireless card, also capable of monitoring or injection. Any advice would be welcome.
Thx.
You can find drivers and instructions on the aircrack homepage. Or more precisely, here.