Você está na página 1de 8

WifiDocs/Driver/bcm43xx

Inhaltsverzeichnis
1. Introduction
2. Identifying Your Broadcom BCM43xx Chipset
1. Internal cards
2. USB cards
3. Drivers available in Ubuntu
1. Broadcom STA Wireless driver
(Proprietary)
2. b43 driver (Open-source)
3. b43legacy driver (Open-source)
4. brcmsmac driver (Open-source)
5. brcmfmac driver (Open-source)
6. rndis_wlan driver (Open-source)
7. ndiswrapper (Open-source)
4. Installing STA drivers
1. STA - Internet access
1. 12.04 (Precise Pangolin)
2. STA - No Internet access
3. Upstream 802.11 Linux STA driver
5. Installing b43/b43legacy firmware
1. b43 - Internet access
1. 12.04 (Precise Pangolin) -
14.04 (Trusty Tahr)
2. b43 - No Internet access
6. Switching between drivers
7. Unsupported devices
8. Known Issues
9. Filing bug reports
1. Broadcom STA Wireless driver
2. b43/b43legacy firmware utility
3. b43/b43legacy driver
10. See Also
11. External Links

Introduction
This page provides support information on Broadcom BCM43xx wireless network cards.
The aim of Ubuntu is to ensure all card models work automatically with no, or minimal
configuration. For example, via System > Administration > Hardware/Additional
Drivers. If you are having a WiFiissue, please see below on getting this addressed.

Identifying Your Broadcom BCM43xx


Chipset
With this information, you may assess what drivers are supported for your card, and how
to switch to a different driver from the instructions below.

Internal cards
To identify a card that was installed inside your computer prior to purchase, please open a
Terminal and execute:
lspcivvnn|grepA9Network
This will display:
03:00.0Networkcontroller[0280]:BroadcomCorporationBCM4331
802.11a/b/g/n[14e4:4331](rev02)
Subsystem:AppleInc.AirPortExtreme[106b:00d6]
Control:I/OMem+BusMaster+SpecCycleMemWINVVGASnoopParErr
SteppingSERRFastB2BDisINTx
Status:Cap+66MHzUDFFastB2BParErrDEVSEL=fast>TAbort<TAbort
<MAbort>SERR<PERRINTx
Latency:0,CacheLineSize:256bytes
Interrupt:pinAroutedtoIRQ17
Region0:Memoryata0600000(64bit,nonprefetchable)[size=16K]
Capabilities:<accessdenied>
Kerneldriverinuse:wl
You now know:
1. The Chip ID: BCM4331
2. The PCI-ID: 14e4:4331
3. Kernel driver in use: wl

USB cards
One will want to execute at a terminal:
usbdevices

Drivers available in Ubuntu


The following is an overview of the different drivers that are available for Broadcom
wireless devices.

Broadcom STA Wireless driver (Proprietary)


For Chip ID BCM 4311, 4312, 4313, 4321, 4322, 4331, 4352, 4360, 43142, 43224, 43225,
43227, 43228, and others as suggested byBroadcom.

The propietary Broadcom STA Wireless driver is maintained upstream by Broadcom. As


this driver is closed source, fixes in the driver itself may only be provided by Broadcom.
As a convenience, Ubuntu offers two versions of this driver:
1. The bcmwl-kernel-source package aims to offer a later version for a given
release. Instructions for installation may be found later in this article.
2. The broadcom-sta package aims to offer an earlier version for a given
release. For further installation instructions, please seehere.

b43 driver (Open-source)


For Chip ID BCM 4306 (rev 03), 4311, 4312, 4318, 4322, 4331, 43224 and 43225.

The b43 infrastructure is composed of two parts. The first is the firmware-b43-
installer package. This is simply a script to extract and install the b43 driver firmware,
maintained by the Ubuntu community. The second is the b43 driver, maintained upstream
by the Linux kernel community. Instructions to install the package may be found below.

b43legacy driver (Open-source)


For Chip ID BCM 4301, 4306 (rev 02), and 4309.
The b43legacy infrastructure is composed of two parts. The first is the firmware-
b43legacy-installer package. This is simply a script to extract and install the b43legacy
driver firmware, maintained by the Ubuntu community. The second is the b43 driver,
maintained upstream by the Linux kernel community. Instructions to install the package
may be found below.

brcmsmac driver (Open-source)


For Chip ID BCM 4313, 43224 and 43225.

The open-source brcmsmac driver for PCIe devices is available from the brcm80211
module of the linux kernel package, maintained upstream by the linux kernel community.
For more granular support information, please see their wiki page here.

brcmfmac driver (Open-source)


SDIO: For Chip ID BCM 4329, 4330, 4334, 4335, 4354, 43143, 43241, and 43362.
USB: For Chip ID BCM 43143, 43242, 43566, and 43569.

The open-source brcmfmac driver is available from the brcm80211 module of


the linux kernel package, maintained upstream by thelinux kernel community. For more
granular support information, please see their wiki page here.

rndis_wlan driver (Open-source)


For Chip ID BCM 4320.

The open-source rndis_wlan driver is available from the linux kernel package, maintained
upstream by the linux kernel community. For more granular support information, please
see their wiki page here.

ndiswrapper (Open-source)
For all chip IDs.

The ndiswrapper package utilizes the Windows closed source drivers to activate
your WiFi card. It is maintained upstream here. For installation instructions, please
see here.

Installing STA drivers


STA - Internet access
If you have some other kind of Internet access on your computer (e.g. via an ethernet
cable) then use the instructions below.

12.04 (Precise Pangolin)


Open a Terminal and install the bcmwl-kernel-source package:
sudoaptgetupdate
sudoaptgetreinstallinstallbcmwlkernelsource
Note: If you see the message "Module build for the currently running kernel was skipped
since the kernel source for this kernel does not seem to be installed" then you are missing
the appropriate generic linux-header package(s).

To test the driver (and remove the need for a computer restart) use:
sudomodproberb43ssbwlbrcmfmacbrcmsmacbcma
sudomodprobewl
Allow several seconds for the network manager to scan for available networks before
attempting a connection.
The bcmwl-kernel-source package should automatically blacklist the open source drivers
so that the STA driver is the only one in use.
Back to top

STA - No Internet access


If you do not have any other means of Internet access on your computer, you can install
the bcmwl-kernel-source package from the restricted folder
under ../pool/restricted/b/bcmwl on the Ubuntu install media.
Note: The bcmwl-kernel-source package depends on the linux-headers packages so you
may need to first retrieve the appropriate package(s) from the online repositories. A
running LiveCD/LiveUSB environment has these packages (allowing the wireless to work),
but an installed system may not. Make sure you have the linux-headers package that
matches your current kernel version, plus the appropriate generic header packages so
that they are automatically updated on a kernel upgrade. To find out your current kernel
use the command:
unamer
To find what linux-headers packages you have installed use the command:
dpkggetselections|grepheaders
Systems installed from CDROM can add the install CD as a package source and
install bcmwl-kernel-source using apt-get as above. However, if you want to do it
manually then the instructions are as follows:
Navigate the install media and install the packages listed below by double
clicking OR install the packages consecutively from aTerminal (in the commands below
the install media is mounted at /cdrom, but yours maybe different):

1. ../pool/main/d/dkms
2. cd/cdrom/pool/main/d/dkms

sudodpkgidkms*
3. ../pool/main/p/patch
4. cd/cdrom/pool/main/p/patch

sudodpkgipatch*
5. ../pool/main/f/fakeroot
6. cd/cdrom/pool/main/f/fakeroot

sudodpkgifakeroot*
7. ../pool/restricted/b/bcmwl
8. cd/cdrom/pool/restricted/b/bcmwl

sudodpkgibcmwlkernelsource*
Back to top

Upstream 802.11 Linux STA driver


For download and install instructions, please
see http://www.broadcom.com/support/802.11/linux_sta.php .
Back to top

Installing b43/b43legacy firmware


The Ubuntu kernel now provides the b43 driver, however due to copyright restrictions not
the proprietary firmware which is required to run your card. The following instructions
explain how to extract the required firmware.

b43 - Internet access


12.04 (Precise Pangolin) - 14.04 (Trusty Tahr)
Open a Terminal and if you haven't already done so, update your package list:
sudoaptgetupdate
If you have a b43 card use the command
sudoaptgetinstallfirmwareb43installer
or, if you need the b43legacy driver, use:
sudoaptgetinstallfirmwareb43legacyinstaller
or, (12.04) if you need a LP-PHY version (e.g BCM4312), use:
sudoaptgetinstallfirmwareb43lpphyinstaller
Restart the computer or reload the b43/b43legacy module as outlined in the Switching
between drivers section below (replace b43 with b43legacy where appropriate).
Back to top

b43 - No Internet access


If you do not have any other means of Internet access from Ubuntu, then you will have to
download the firmware from another computer with Internet access, from an existing OS
on another partition, or before you install Ubuntu. You will also need the b43-fwcutter
package which is usually included on the install media or can be downloaded from the
official online repositories.
1. Install the b43-fwcutter package. This is usually located on the Ubuntu
install media under /cdrom/pool/main/b/b43-fwcutter/ or you can
download the binary '.deb' package by following the links on launchpad.
Double click on the package to install or in a Terminal issue the following
commands:
cd/cdrom/pool/main/b/b43fwcutter/
sudodpkgib43fwcutter*
2. On a computer with Internet access, download the required firmware file:

b43legacy - http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
b43 (12.04 Precise
Pangolin) - http://mirror2.openwrt.org/sources/broadcom-wl-
5.10.56.27.3_mipsel.tar.bz2
b43 (14.04 Trusty Tahr) - http://www.lwfinger.com/b43-
firmware/broadcom-wl-5.100.138.tar.bz2

For the latest information on what files to download


seehttp://wireless.kernel.org/en/users/Drivers/b43#Other_distributions_not
_mentioned_above andhttp://wireless.kernel.org/en/users/Drivers/b43/deve
lopers .
3. Copy the downloaded file to your home folder. Open a new Terminal and
use b43-fwcutter to extract and install the firmware:

b43legacy
sudob43fwcutterw/lib/firmwarewl_apsta3.130.20.0.o
b43 (12.04 Precise Pangolin)
tarxfvjbroadcomwl5.10.56.27.3_mipsel.tar.bz2
sudob43fwcutterw/lib/firmwarebroadcomwl
5.10.56.27.3/driver/wl_apsta/wl_prebuilt.o
b43 (14.04 Trusty Tahr)
tarxfvjbroadcomwl5.100.138.tar.bz2
sudob43fwcutterw/lib/firmwarebroadcomwl
5.100.138/linux/wl_apsta.o
4. Restart the computer or reload the b43/b43legacy module as outlined in
the Switching between drivers section below (replace b43 with b43legacy
where appropriate).
Back to top

Switching between drivers


If you card is supported by more than one driver then use the modprobe command to test
the drivers. First unload all conflicting drivers (this includes removing the driver you're
trying to install):
sudomodproberb43bcma
sudomodproberbrcmsmacbcma
sudomodproberwl
To load a specific driver use one of the following commands:
sudomodprobeb43
sudomodprobebrcmsmac
sudomodprobewl
Allow several seconds for the network manager to scan for available networks before
attempting a connection.
After a reboot the system may auto-load a different driver to the one you wanted to use.
Consequently, for permanent use, you may find it necessary to blacklist the
driver/module you are not using. In the command below replace drivername with the
driver you want to blacklist:
echo"blacklistdrivername"|sudoteea/etc/modprobe.d/blacklist
broadcomwireless.conf
Update the initramfs after any changes to the blacklist files:
sudoupdateinitramfsu
Note: The bcmwl-kernel-source package will automatically blacklist the open source
drivers/modules in/etc/modprobe.d/blacklist-bcm43.conf.
If you wish to permanently use the open source drivers then remove the bcmwl-kernel-
source package:
sudoaptgetpurgebcmwlkernelsource
Ensure that the driver/modules you wish to use are not blacklisted in any of the other files
in /etc/modprobe.d .
Back to top

Unsupported devices
If your wifi card/chipset and/or various modes are not supported by the STA driver or the
open source kernel drivers, then you will need to go for ndiswrapper - this will allow you
to use the Windows closed source drivers to activate your wifi card.
Back to top

Known Issues
* LP#1010931 14e4:4727 [Dell Vostro 3555] Broadcom BCM4313 5GHz doesn't work but
2.4GHz does
1. The root cause is the card only transmits/receives on the single-band
2.4GHz only, so it would never broadcast at 5GHz.
Back to top
Filing bug reports
Broadcom STA Wireless driver
Before filing a bug report against either the bcmwl-kernel-source or broadcom-sta-
source package, one from the Ubuntu repositories is installed (not a recompiled/custom
version) and then execute one of the following via a terminal:
ubuntubugbcmwlkernelsource
ubuntubugbroadcomstasource
If this doesn't work, or doesn't include all of the following information, please ensure all of
the below is provided:
1. Please include only one (not both) of the following corresponding to which
driver series you are filing a report against:
aptcachepolicybcmwlkernelsource
or:
aptcachepolicybroadcomstasource
2. Please execute the following via a terminal and post the results in your
report:
3. lspcivvnn|grepA9Network
4. lsb_releaserd
5. unamea
6. sudodmidecodesbiosversion

sudodmidecodesbiosreleasedate
7. The full manufacturer and model of your computer as noted on the sticker
of the computer itself.
8. Did this problem not occur in a previous release? If so, which one(s)
specifically?
9. Does this problem occur with the latest version of Ubuntu?
10. If available, please comment to how testing the relevant open source
driver for your card type provides a WORKAROUND. If your chipset is
supported as per above, but doesn't work, please file a bug following the
b43 driver procedure below.
11. Please provide the router manufacturer, model, and firmware version.
12. Please comment to how testing ndiswrapper for your card type provides a
WORKAROUND. If it doesn't work, please file a bug report as per the
support article.
If the version of the driver you are using in the repository is the latest version available as
per Broadcom, it is also advised to send them an e-mail via their contact page, and post
their response to your report.
If the version of the driver you are using in the repository is an older version than that
available from Broadcom, then contacting them would not apply. Instead, an investigation
would need to occur to see if the version available for your release should be changed.

b43/b43legacy firmware utility


Before filing a bug report about b43 or b43legacy, it's important to distinguish this as a
issue with the firmware extraction script, or the driver itself. If it's an issue with the script,
one will need to install the version from the Ubuntu repositories (not a recompiled/custom
version) and then execute via a terminal either:
ubuntubugfirmwareb43installer
or:
ubuntubugfirmwareb43legacyinstaller
b43/b43legacy driver
For bugs regarding the b43 or b43legacy driver, please execute the following via a
terminal:
ubuntubuglinux
Also, please provide the following:
1. The full manufacturer and model of your computer as noted on the sticker
of the computer itself.
2. Did this problem not occur in a previous release? If so, which one(s)
specifically?
3. Does this problem occur with the latest version of Ubuntu?
4. If available, please comment to how testing test the relevant Broadcom
STA Wireless driver for your card type provides a WORKAROUND. If it
doesn't, please file a report as per the procedure above.
5. Please provide the router manufacturer, model, and firmware version.
6. Please comment to how testing ndiswrapper for your card type provides a
WORKAROUND. If it doesn't work, please file a bug report as per the
support article.
Once all of the required information is present, if the version of the driver you are using is
the latest version available from the Ubuntu repositories, then one would want to e-mail
the b43-dev mailing list following this procedure.

See Also
1. Wireless Troubleshooting
Guide https://help.ubuntu.com/community/WifiDocs/WirelessTroubleShooti
ngGuide.
2. Installing Windows drivers with NdisWrapper.

External Links
1. Upstream b43 and b43legacy kernel
driver http://wireless.kernel.org/en/users/Drivers/b43.
2. Upstream Broadcom STA driver page https://www.broadcom.com/support/?
gid=1.
3. Debian Broadcom 43xx wireless devices
wiki http://wiki.debian.org/bcm43xx.
4. Open source firmware http://www.ing.unibs.it/~openfwwf/.

Você também pode gostar