<<Include(Tag/StyleCleanup)>> <<Include(Tag/NeedsExpansion)>> <<Include(Tag/ContentCleanup)>> <<Include(Tag/Unsupported)>> <<Include(Tag/Deletion)>>
- 1 Using Broadcom Wireless in Ubuntu Dapper 6.06
- 1.1 Upgrading to Dapper, keeping ndiswrapper
- 1.2 Using NDISWRAPPER (an automated installation)
- 1.3 Using the New Broadcom Driver
- 1.4 NetworkManager
- 1.5 Security
- 1.6 Troubleshooting in Dapper
- 1.7 Resources
- 1.8 Security
- 1.9 Bugs
- 2 Reader Comments
Using Broadcom Wireless in Ubuntu Dapper 6.06
There are two ways to use the broadcom chipset. One is using ndiswrapper (which works only on x86), and other is to use the native drivers in the kernel.
Upgrading to Dapper, keeping ndiswrapper
If you have upgraded from Breezy Badger to Dapper Drake, your ndiswrapper wireless is broken and you would like to still use ndiswrapper, you can easily disable the bcm43xx driver by running:
echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist
This will ensure that the bcm43xx driver doesn't load at startup and will therefore not conflict with ndiswrapper. To get it working without a reboot, you must unload the native driver and load up ndiswrapper. Simply run these commands:
sudo rmmod bcm43xx sudo rmmod ndiswrapper sudo modprobe ndiswrapper
Using NDISWRAPPER (an automated installation)
I know it's not usual to direct people from the wiki to a forum but here's the best way to get ndiswapper setup with Network Manager. It's quick, easy and automated, also there is a supportive forum in case you run into issues. HERE IS the Best Automated ndiswrapper installation I've ever found!
Using the New Broadcom Driver
Airport Extreme cards found on most Apple laptops use this chipset. The Dapper kernel has support inbuilt for the Broadcom device. You should be able to get the card working in Dapper by following the steps below. WARNING: There have been reports the firmware package mentioned below can hang the system at bootup in Apple Powerbooks with a 4318 controller! Check whether you have one of these using:
You must broadcast your essid from your router. This is not essential, and the wireless card will connect if broadcast is turned off and you specify the essid by hand, but it makes it easier to test. Don't use ifup and ifdown until you configure your /etc/network/interfaces file. (see below for instructions on how to do that here.) You must remove ndiswrapper if you were using it before. Instructions on how can be found [[UbuntuHelp:[head-f63b172ef162fdab65dae57bbd33e6df20ca4114|here]]]; You must remove wifi-radar, as it has a conflict with the driver.
Obtaining the Firmware
You don't need to compile the driver as a pre-compiled module is present. However, we need to obtain the firmware for the card from a windows, Mac OS X or Access Point driver.
Extract it Yourself
If/when Ubuntu do a kernel upgrade to 2.6.17 or later you MUST use wl_apsta.o (the script does that). The new module does not have the invalid AP bug. To obtain the wl_apsta.o visit http://drinus.net/airport/wl_apsta.o. (From the bcm43xx team). The latest firmware package contains this driver. After enabling the Universe repository (see Repositories), install the bcm43xx-fwcutter package.
sudo apt-get install bcm43xx-fwcutter
Links to various drivers come with the package. View them via
and pick one to download. Extract the firmware parts and install them to the correct location. You may have to extract the .sys and .inf files before the next step: if you downloaded an .exe, try to unzip it. If that fails, try to cabextract it (install the cabextract package). The file of interest is .sys. If you downloaded a .o, it is the file of interest.
sudo bcm43xx-fwcutter -w /lib/firmware <downloaded file>
The driver files will be copied to /lib/firmware. Alternatively you can run the provided script.
As an alternative to running the script, you can install the firmware files from a package. To automatically keep up to date, add this repository line to your /etc/apt/sources.list:
deb http://ubuntu.cafuego.net dapper-cafuego bcm43xx
and make sure apt knows about the GnuPG key used to sign the packages:
wget http://ubuntu.cafuego.net/969F3F57.gpg -O- | sudo apt-key add -
Then update your package listings and install the bcm43xx-firmware package. or download the package directly:
wget -c http://ubuntu.cafuego.net/pool/dapper-cafuego/bcm43xx/bcm43xx-firmware_1.3-1ubuntu1_all.deb
and then install it manually:
sudo dpkg -i bcm43xx-firmware_1.3-1ubuntu1_all.deb
Setting up the Wireless Card
sudo modprobe bcm43xx
The device gets loaded as either eth1/eth2 (some weird kernel bug, i am guessing). Find out which one it is by doing a
This should return the name of the interface as ethX. Check if you can scan for networks using
sudo iwlist ethX scan
VERY IMPORTANT: MOST PEOPLE NEED TO USE THE FOLLOWING COMMAND TO GET CONNECTED
sudo iwconfig ethX rate 11M
You can add this to you /etc/network/interfaces file to get connected at startup. Like so:
iface eth1 inet dhcp pre-up iwconfig eth1 rate 11M
Alternatively just add "rate 11M" to /etc/network/interfaces like this example of an 802.11b WEP network:
iface eth1 inet dhcp wireless-rate 11M wireless-essid My network wireless-key 1234-5678-9abc-def0-1234-5678-9a
You might also need to add this to associate your wifi card automatically:
pre-up ifconfig eth1 up
If when you type
iwconfig eth1 you get
eth1 IEEE 802.11b/g ESSID:"troublemaker" Nickname:"Broadcom 4318" Mode:Managed Frequency=2.437 GHz Access Point: '''Invalid''' Bit Rate=11 Mb/s Tx-Power=18 dBm RTS thr:off Fragment thr:off
you need to run
sudo iwconfig eth1 ap any
this will fix it, it might also do to add this to you /etc/network/interfaces file, (sounds like a good time to make a script? and runn that with preup?) This has been fixed as of kernel 2.6.17. You must use wl_apsta.o ( http://drinus.net/airport/wl_apsta.o) with that kernel to fix the problem (from the bcm43xx team) here's an example of my startup script
sudo ifconfig $myInterface up &>/dev/null sudo iwconfig $myInterface essid $myEssid &>/dev/null sudo iwconfig $myInterface rate 11M # &>/dev/null
note I don't know if 'sudo' is needed or 'if ifconfig ethX up' is needed but I use it and it works Note 'sudo iwconfid eth1' will report any WEP key, but 'iwconfig eth1' (as unprivileged user) does not.
As of kernel 2.6.15-20, the driver appears to play nice with NetworkManager and nm-applet. When trying this, make sure wpasupplicant is disabled in /etc/default/wpasupplicant and all lines referring to the wireless card in /etc/network/interfaces are commented out.
WPA works, but wpasupplicant may hang your machine when the interface is deconfigured via /sbin/ifdown. Sample options from /etc/default/wpasupplicant
OPTIONS="-i eth0 -D wext -c /etc/wpa_supplicant.conf"
Troubleshooting in Dapper
Were you using NDISwrapper ? OR Crashing when trying to use Networking
sudo rmmod bcm43xx sudo rmmod ndiswrapper sudo modprobe bcm43xx
Then run one of the below scipts If your card starts to work then you need to remove ndiswrapper from your system follow the steps in `Removing Ndiswrapper` from the Breezy section above.
Kernel boot parameters
At least some HP laptops seems to need altering of kernel boot parameters. You could try to add
to your kernel boot parameters or even
if first one is not enough.
Scripts to get Connectivity
Here are Two Scripts to get Connectivity: Both will prompt for root password (use: ./[script-name])
Managed Connectivity Script
#!/bin/bash interface=eth1 # fill in whatever your interface is here it should typically be eth1 # Turning off other network devices" sudo ifconfig eth0 down # assumes you have a wired NIC remove if you don't have one sudo modprobe bcm43xx # setting wireless device parameters sudo ifconfig $interface up # This step is very very important! sudo iwconfig $interface essid your_essid_here sudo iwconfig $interface mode managed # sudo iwconfig $interface mode auto # another suggested mode sudo iwconfig $interface key off # see man iwconfig for wireless encrpytion echo "Setting up dhcp" sudo dhclient $interface
Connectivity Script For Beginners
`It must be run as root to work.` i.e (sudo ./[script-name]) Good script for beginners, if you don't know how to run a script: google it and then use this one, don't read this script unless you understand scripting already as it's ugly to read. Run the script without arguments and this script will try and auto connect to your most likely interface and essid to use:
#!/bin/bash if [ "$1" == --help ] then echo "Listing of ESSID's" # Lists the availble ESSIDs iwlist scan | grep ESSID echo "Likely interface: " # Grabs the name of the interface that succefully scanned iwlist scan | grep completed | sed "s/Scan\scompleted\s://g" echo "+++++++++++++++++++++++++++++++++++++++++++++++ " echo "Usage: getit [interface] [essid] " echo "Pick one of the above interface and essid's" echo "use the interface that had the essids" echo "+++++++++++++++++++++++++++++++++++++++++++++++ " exit fi if [ -z $2 ] ; then myEssid=any else myEssid=$2 fi if [ -z $1 ] ; then myInterface="eth1" # typically eth1 but may be something else else myInterface=$1 fi echo "Bringing network down" sudo ifconfig $myInterface down &>/dev/null echo "Bringing network back up" sudo ifconfig $myInterface up &>/dev/null echo "Changing to $myEssid" sudo iwconfig $myInterface essid $myEssid &>/dev/null echo "Changing to rate to 11M" # this isn't always necessary but helps for Broadcom 4318 cards sudo iwconfig $myInterface rate 11M &>/dev/null # if your having issue getting connected to a network echo "acquiring IP" sudo dhclient $myInterface
The forum link (applies to Dapper, to be released around 6/2006) where this is discussed is http://ubuntuforums.org/showthread.php?t=114922
Changing Back to ndiswrapper
If the driver isn't for you then you can change back to ndiswrapper by following the above breezy steps for installing bcml4344. You also need to make the additional step of adding
bcml43xx to /etc/modprobe.d/blacklist so that the driver isn't automatically added into the kernel at boot.
The quick command to do this is:
echo "blacklist bcm43xx" | sudo tee -a /etc/modprobe.d/blacklist
- Forum posting about drivers included in Dapper
- BCM Howto on the forum
- Open source Broadcom 43xx project
- Devices which work with the open driver
- Driver news article
WPA works, but wpasupplicant may hang your machine when the interface is deconfigured via /sbin/ifdown.
My Linksys PCI card occasionally crashes the computer when someone tries to use my wireless connection (I've set up my desktop to share its wired internet connection).
- Dapper section needs cleanup, testing, and expansion... towsonu2003 02.08.2006
- Both scripts should be merged . VenkatRaghavan 02.12.2006
- On my Acer Ferrari 4005 this driver needs to be set to freq 11M so I can use WEP/WPA: sudo iwconfig eth1 rate 11M
- the /etc/network/interfaces system probably understands lines like "wireless-foo arg" to mean "iwconfig [correctInterface] foo arg". Using that shortcut would simplify some of the lines shown above. -drewp
- On my Acer Aspire 5024 Amd64 based the ndiswrapper module provided with amd64-k8 ubuntu kernel didn't work, and I had to build it from sources available at http://prdownloads.sourceforge.net/ndiswrapper/ndiswrapper-1.13.tar.gz?download
- This document is a must and should be included in the OFFLINE Dapper documentation. I already have a bug filed about this here https://launchpad.net/bugs/42453 please comment -thanks
- I have had success with a Belkin BCM4306 F5D7000 Rev 2.0. However I can no longer access System -> Administration -> Networking without it breaking the install. Also I think more info should be provided re the scripts and how to get them to run at startup. the_tiger 05.05.2006
- I finally got the BCM4306 in my iBook working with the Dapper kernel. Critical things for me (in addition to these docs) were: 1) Had to change my network to use Open System authentication, it didn't work with Shared Key. 2) Added "post-up iwlist eth1 scan" to my interfaces file. I also added "post-up iwconfig eth1 rate 54M", since 11M is now the default, and 54M seemed much stable for me (less packet loss). 3) Added a script to /etc/apm/resume.d which runs "ifdown eth1; ifup eth1" to re-associate when the computer resumes from sleep. - JohnSteeleScott 31.05.2006
- I got my BCM4318 to work reliably by adding "pre-up ifconfig eth1 up" to my /etc/network/interfaces I'm not sure why this works, but I would presume ifup is issuing my wireless-* iwconfig options before bringing up the interface. NM also works for me with this driver connecting to a WEP-protected wlan. - hackel 06.06.06
- Following previous entry, I tried to use "post-up iwconfig eth1 ap any" and "post-up iwconfig eth1 rate 54M" but it didn't work, presumably because it takes a while before something is initialised. Perhaps a post-up pause for ten seconds could go first?
- I got my Dell Truemobile 1400 working (FINALLY) but required using ndiswrapper as opposed to bcm43xx. Look at my article book report help regarding the install process.
- If you want my honest opinion, I'd rather listen to Vogon Poetry than install a Broadcom WiFi driver under Linux, however Dave's instructions for installing the Dell TrueMobile 1400 card (link above) worked perfectly for my Dell Inspirion 5160: Dell TrueMobile 1350. Thanks Dave!
- I really couldn't follow the discussion above, so here's the shortened version which worked for one of my students:
- Since you probably don't have net access without the wireless card, use another machine to download the bcm43xx-fwcutter package and the firmware update that the bcm43xx team recommends, wl_apsta.o. (You may have to right-click that firmware link to avoid having it open in its own window and save it to disk.)
- Boot into Ubuntu, copy those two files onto your desktop, and do the following:
cd ~/Desktop sudo dpkg -i bcm43xx-fwcutter sudo bcm43xx-fwcutter -w /lib/firmware wl_apsta.oThat should move your current directory to the desktop, install the firmware updater, and drop the firmware image in the right spot.
- All you need to do now is to take down the driver and then bring it back up so the new firmware will load.
sudo ifconfig eth1 down sudo ifconfig eth1 upYou may have to use eth2 instead of eth1. Using
lspcishould tell you.
- Go into System->Administration->Networking, and you should be good to go.
- As of 2006/08/11, http://drinus.net/airport/wl_apsta.o is down. Maybe somebody who has the file should put it on Gnutella (and put the checksum here) or make a Bittorrent, that way it would be easier to get. For the mean time, the firmware deb package seems to be up to date and available. Should we update the article to reflect this or is the situation temporary?
- I have my BCM4318 working reliably (though not perfectly) on an Acer Aspire 3023 WLMi, Ubuntu Dapper, bcm43xx, nm-applet and critically, acerhk. I've found that I have to disable the network from the nm-applet right click menu, remove and reinsert the bcm43xx kernel module then activate the card with acerhk. More detailed service essays instructions on my page.
- The 4318 chipset isn't officially supported as of August 07, 2006. You will encounter problems; these are currently being worked on. See here for more info.
- Patch for Broadcom BCM4318