NOTE: this page is for archival only, see the note at the end of the page.

b43 and b43legacy

The b43 drivers (bcm43xx in mainline kernels, b43 and b43legacy in wireless-2.6 and 2.6.24 and later) are drivers for the 802.11 B/G family of wireless chips Broadcom produces.

caveats

All Broadcom chips require firmware that is loaded onto the wireless chip before it can operate. See below.

There are also USB devices based on Broadcom chips, these are not supported at all!

supported

  • bcm4303 (802.11b-only chips)
  • bcm4306
  • bcm4311 rev 1 / bcm4312
  • bcm4318

unsupported

  • The 802.11a part of the 4309 and 4312 is not supported.
  • bcm4311 rev 2
  • There is no support for any Draft 802.11n features.

available devices

Please see the device list.

features

working

  • Station mode
  • Access Point mode (although not tested very well).
  • Ad-Hoc (IBSS) mode
  • Monitor and Promisc mode.
  • "Monitor while operating" and multiple monitor interfaces.
  • In-Hardware traffic de/encryption (relieves your CPU).
  • LEDs to signal card state and traffic.
  • In-Hardware MAC address filter.
  • Probably something we forgot to add here.

not working yet

  • Interference mitigation.
  • Bluetooth coexistance (most code implemented, but untested)
  • Probably something else that's not listed under "Works".

donations

Many people have donated money, hardware or other services to make this driver possible. Thanks! Please see the donations page for details.

device firmware

firmware installation

The Broadcom wireless chip needs software, called "firmware", that runs on the wireless chip itself during operation. This firmware is copyrighted by Broadcom, no one is allowed to distribute it, and it must be extracted from Broadcom's proprietary drivers. To get such firmware on your system, you must download the driver from a legal distribution point, as noted below. Then you must extract the firmware from that Broadcom driver and install it in the special directory for firmware - usually /lib/firmware. To accomplish this task, do the following:

  1. Download the appropriate driver.
  2. Install the appropriate version of the fwcutter software, either by installing the package using the method appropriate for your distro (YaST, apt-get, etc.), or by downloading the package from http://developer.berlios.de/project/showfiles.php?group_id=4547.

    • For b43 and b43legacy, you need b43-fwcutter.

    • For bcm43xx, you need bcm43xx-fwcutter.

  3. Extract the firmware by cd'ing to the directory containing the ".o" file, and using one or more of the following commands:
    • For bcm43xx: 'sudo bcm43xx-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o'
    • For b43legacy: 'sudo b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o'
    • For b43: 'sudo b43-fwcutter -w /lib/firmware wl_apsta.o'

Please note that the firmware from the binary drivers is Copyrighted by Broadcom Corporation and must not be redistributed.

bcm43xx, b43legacy, b43, softmac,... the full story

This was gathered from forums and mailing lists (hi JoseJX) and should be reviewed by a developer for accuracy. Thanks for deleting this warning line after that.

The bcm43xx is the oldest driver. It is using the ieee80211 + softmac libraries of code shared with other drivers. This stack is deprecated and being replaced by the new mac80211 stack. A new stack implies brand new, re-written driver(s): here come b43 and b43legacy.

What's the difference between b43legacy and b43?

b43 offers a newer codebase and hardware crypto support. Broadcom did not release any version 4 firmware files for some older boards, possibly due to memory constraints on the cards themselves. Stuck with firmware version 3, these cards must use b43legacy which doesn't have hardware crypto support because that has not been reverse engineered completly for version 3 firmware.

bcm43xx

b43legacy

b43

needs firmware

version 3

version 4

extracted by

bcm43xx-fwcutter

b43-fwcutter

depends on

softmac

mac80211

b43legacy should be used on all 4301 and 4303 cards. 4306 and 4309 cards with a MAC core revision of 4 or less should also use b43legacy. b43 should be used on all other cards. You can safely have both versions built on the same system. The full MAC core version is printed in the kernel logs when the driver finds a board. Type "dmesg" to see it.

related tools

  • bcm43xx-sprom

    • A tool for the modification of the Broadcom Sonics Silicon Backplane SPROM (e.g. you can permanently change the MAC address or the PCI IDs of your wireless card – useful on some (e.g. Compaq/HP) laptops where the BIOS checks these at boot.

external links


This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v385, v384, v383, v382, v381, v380, v379, v378, v377, v376, v375, v374, v373, v372, v371, v370, v369, v368, v367, v366, v365, v364, v363, v362, v361, v360, v359, v358, v357, v356, v355, v354, v353, v352, v351, v350, v349, v348, v347, v346, v345, v344, v343, v342, v341, v340, v339, v338, v337, v336, v335, v334, v333, v332, v331, v330, v329, v328, v327, v326, v325, v324, v323, v322, v321, v320, v319, v318, v317, v316, v315, v314, v313, v312, v311, v310, v309, v308, v307, v306, v305, v304, v303, v302, v301, v300, v299, v298, v297, v296, v295, v294, v293, v292, v291, v290, v289, v288, v287, v286, v285, v284, v283, v282, v281, v280, v279, v278, v277, v276, v275, v274, v273, v272, v271, v270, v269, v268, v267, v266, v265, v264, v263, v262, v261, v260, v259, v258, v257, v256, v255, v254, v253, v252, v251, v250, v249, v248, v247, v246, v245, v244, v243, v242, v241, v240, v239, v238, v237, v236, v235, v234, v233, v232, v231, v230, v229, v228, v227, v226, v225, v224, v223, v222, v221, v220, v219, v218, v217, v216, v215, v214, v213, v212, v211, v210, v209, v208, v207, v206, v205, v204, v203, v202, v201, v200, v199, v198, v197, v196, v195, v194, v193, v192, v191, v190, v189, v188, v187, v186, v185, v184, v183, v182, v181, v180, v179, v178, v177, v176, v175, v174, v173, v172, v171, v170, v169, v168, v167, v166, v165, v164, v163, v162, v161, v160, v159, v158, v157, v156, v155, v154, v153, v152, v151, v150, v149, v148, v147, v146, v145, v144, v143, v142, v141, v140, v139, v138, v137, v136, v135, v134, v133, v132, v131, v130, v129, v128, v127, v126, v125, v124, v123, v122, v121, v120, v119, v118, v117, v116, v115, v114, v113, v112, v111, v110, v109, v108, v107, v106, v105, v104, v103, v102, v101, v100, v99, v98, v97, v96, v95, v94, v93, v92, v91, v90, v89, v88, v87, v86, v85, v84, v83, v82, v81, v80, v79, v78, v77, v76, v75, v74, v73, v72, v71, v70, v69, v68, v67, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1