This is the easiest way to get your Broadcom 4306 wireless card working in the shortest amount of time. I wouldn't use the firmware cutter because it only allows you to run at 11 Mbps with it. With ndiswrapper you will get 54 Mbps if your router will allow it.
The Drivers listed below work for most broadcom 4306 wireless cards but not all of them. If you use the drivers below and your card doesn't show up under network then you should try using the driver that came with your card or go to the manufacturer's website.
Get the 32 bit drivers from here or the website of the manufacturer of your wireless card.
Get the 64 bit drivers from here. I've heard that you don't change the name .inf file to bcmwl5.inf just keep it the way it is.
Do everything in the order as it is listed.
run the following command to make sure you have a broadcom chipset wireless card.
1.
Code:
lspci | grep Broadcom\ Corporation
2.If you get an error message saying ERROR: Module bcm43xx does not exist in /proc/modules it is ok and you can move on to the next step.
3.
Code:
echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist
5. You will need the Ubuntu CD to get these packages.
Code:
sudo apt-get install build-essential
6.
Insert the output of the uname -r command into the following 2 commands where the numbers are at
7.
Code:
sudo apt-get install linux-headers-2.6.22-14-generic
Insert the output of the uname -r command into the following 2 commands where the numbers are at
8.
Code:
sudo ln -s /usr/src/linux-2.6.22-14-generic /lib/modules/2.6.22-14-generic/build
Download ndiswrapper
9.
Code:
wget http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.56.tar.gz
Make a folder for ndiswrapper and place it in there
10.
Code:
mkdir ~/ndiswrapper
mv ndiswrapper-1.56.tar.gz ~/ndiswrapper
Install ndiswrapper
11.
Code:
cd ~/ndiswrapper
sudo tar -xvzf ndiswrapper-1.56.tar.gz
cd ~/ndiswrapper/ndiswrapper-1.56
make distclean
sudo make
sudo make install
12 If you are running Dapper or Edgy run this command. Some people say that compiling it works for them and some people say getting it with synaptic so I thought if you just installed both then you'll have some form of ndiswrapper working. If you don't have a working internet connection then you can get these packages off of the Ubuntu CD.
Code:
sudo apt-get install ndiswrapper-utils-1.8
If you are running Feisty or any version higher than Feisty run this command. You might need the Ubuntu CD to get these packages.
Code:
sudo apt-get install ndiswrapper-utils-1.9
If you can't get ndiswrapper from any of the sources above you can get it from the Ubuntu CD.
13.
Code:
sudo ndiswrapper -i ~/folder where driver is/bcmwl5.inf
If you are using the 64 bit drivers run this command
Code:
sudo ndiswrapper -i ~/folder where driver is/netbc564.inf
Make sure the .sys file is in there also, without it, it won't work
14.To make sure the hardware is present
15.
Code:
sudo ndiswrapper -m
To load ndiswrapper automatically when the wlan0 interface is used
16.
Code:
echo 'ndiswrapper' | sudo tee -a /etc/modules
16. B
Code:
sudo gedit /etc/init.d/wirelessfix.sh
Paste this into that file
#!/bin/bash
modprobe -r b44
modprobe -r b43
modprobe -r b43legacy
modprobe -r ssb
modprobe -r ndiswrapper
modprobe ndiswrapper
modprobe b44
Close and save that file
Code:
cd /etc/init.d/ && sudo chmod 755 wirelessfix.sh
Code:
sudo update-rc.d wirelessfix.sh defaults
17.
Code:
sudo iwconfig wlan0
If you are running Gutsy or any version higher than Gutsy restart your computer and skip to step 26.
Enable the Connection
18. Go to System -> Administration -> Networking
19. If you don't see any wlan0 connections in Networking then you should restart your computer.
20. Go to your eth0 connection and disable the connection.
21. Now go to your wlan0 connection and enable it.
Network Manager
If you need WPA or WEP encryption do the following:
Note: If you are running Feisty or any version higher than Feisty you can skip steps 22 through 25.
22.
Code:
sudo apt-get install network-manager-gnome
23.
Code:
sudo gedit /etc/network/interfaces
24. Comment out anything in there at the bottom that has to do with your wireless essid. You need to also comment out anything that says eth1, eth2, or atho. When I say comment out that means put a # in from of it. You can leave all of the eth0, wlan0, lo, inet, and auto stuff.
25.26. Now click on the applet that is in the top right corner and you should see all of the available connections. Click on yours and set it up.
SOLUIONS TO PROBLEMS
Problem 1
If wlan0 isn't showing up under your network connections and you're getting invalid driver errors when you run ndiswrapper -l then:
Code:
sudo gedit /etc/udev/rules.d/70-persistent-net.rules
Look for the entry for your bcm43xx device and change the NAME at the end to wlan0, example below.
# PCI device 0x14e4:0x4320 (bcm43xx)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:03:c9:70:7b:a9", NAME="wlan0"
Thanks fireant for the fix for problem 1
Problem 2
Totoro found a fix for the eth1 problem. Thank You Totoro!
add ndiswrapper to /etc/modules
change eth1 -> wlan0 in the files below:
Code:
sudo gedit /etc/modeprobe.d/ndiswrapper
sudo gedit /etc/network/interfaces
sudo gedit /etc/iftab
Problem 3
Shaton found a fix for the FATAL: Error inserting ndiswrapper problem. Thank You Shaton!
If you get an error saying
FATAL: Error inserting ndiswrapper (/lib/modules/2.6.17-10-generic/kernel/drivers/net/ndiswrapper/ndiswrapper.ko): Invalid argument
then try this.
Code:
sudo apt-get install ndiswrapper-utils-1.8
sudo rm /usr/sbin/ndiswrapper
sudo ln -s /usr/sbin/ndiswrapper-1.8 /usr/sbin/ndiswrapper
If you are using Feisty then you will need to put a 9 where the 8 is.
Problem 4
If you get a lot of error messages talking about the icon then run this command:
Code:
sudo gtk-update-icon-cache -f /usr/share/icons/hicolor/
Problem 5
If you have to run modprobe ndiswrapper every time you reboot your computer run this command.
Code:
echo 'ndiswrapper' | sudo tee -a /etc/modules
Thanks Phifer for the fix for problem 5
I hope this helps a lot of people!