提交 70a73439 编写于 作者: L Larry Finger 提交者: Jeff Garzik

[PATCH] bcm43xx: Update Documentation/bcm43xx.txt

The in-kernel documentation of the bcm43xx driver is out of date.
Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 c6710e50
...@@ -2,35 +2,88 @@ ...@@ -2,35 +2,88 @@
BCM43xx Linux Driver Project BCM43xx Linux Driver Project
============================ ============================
About this software Introduction
------------------- ------------
The goal of this project is to develop a linux driver for Broadcom Many of the wireless devices found in modern notebook computers are
BCM43xx chips, based on the specification at based on the wireless chips produced by Broadcom. These devices have
http://bcm-specs.sipsolutions.net/ been a problem for Linux users as there is no open-source driver
available. In addition, Broadcom has not released specifications
for the device, and driver availability has been limited to the
binary-only form used in the GPL versions of AP hardware such as the
Linksys WRT54G, and the Windows and OS X drivers. Before this project
began, the only way to use these devices were to use the Windows or
OS X drivers with either the Linuxant or ndiswrapper modules. There
is a strong penalty if this method is used as loading the binary-only
module "taints" the kernel, and no kernel developer will help diagnose
any kernel problems.
The project page is http://bcm43xx.berlios.de/ Development
-----------
This driver has been developed using
a clean-room technique that is described at
http://bcm-specs.sipsolutions.net/ReverseEngineeringProcess. For legal
reasons, none of the clean-room crew works on the on the Linux driver,
and none of the Linux developers sees anything but the specifications,
which are the ultimate product of the reverse-engineering group.
Requirements Software
------------ --------
Since the release of the 2.6.17 kernel, the bcm43xx driver has been
distributed with the kernel source, and is prebuilt in most, if not
all, distributions. There is, however, additional software that is
required. The firmware used by the chip is the intellectual property
of Broadcom and they have not given the bcm43xx team redistribution
rights to this firmware. Since we cannot legally redistribute
the firwmare we cannot include it with the driver. Furthermore, it
cannot be placed in the downloadable archives of any distributing
organization; therefore, the user is responsible for obtaining the
firmware and placing it in the appropriate location so that the driver
can find it when initializing.
To help with this process, the bcm43xx developers provide a separate
program named bcm43xx-fwcutter to "cut" the firmware out of a
Windows or OS X driver and write the extracted files to the proper
location. This program is usually provided with the distribution;
however, it may be downloaded from
http://developer.berlios.de/project/showfiles.php?group_id=4547
1) Linux Kernel 2.6.16 or later The firmware is available in two versions. V3 firmware is used with
http://www.kernel.org/ the in-kernel bcm43xx driver that uses a software MAC layer called
SoftMAC, and will have a microcode revision of 0x127 or smaller. The
V4 firmware is used by an out-of-kernel driver employing a variation of
the Devicescape MAC layer known as d80211. Once bcm43xx-d80211 reaches
a satisfactory level of development, it will replace bcm43xx-softmac
in the kernel as it is much more flexible and powerful.
You may want to configure your kernel with: A source for the latest V3 firmware is
CONFIG_DEBUG_FS (optional): http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
-> Kernel hacking
-> Debug Filesystem
2) SoftMAC IEEE 802.11 Networking Stack extension and patched ieee80211 Once this file is downloaded, the command
modules: 'bcm43xx-fwcutter -w <dir> <filename>'
http://softmac.sipsolutions.net/ will extract the microcode and write it to directory
<dir>. The correct directory will depend on your distribution;
however, most use '/lib/firmware'. Once this step is completed,
the bcm3xx driver should load when the system is booted. To see
any messages relating to the driver, issue the command 'dmesg |
grep bcm43xx' from a terminal window. If there are any problems,
please send that output to Bcm43xx-dev@lists.berlios.de.
3) Firmware Files Although the driver has been in-kernel since 2.6.17, the earliest
version is quite limited in its capability. Patches that include
all features of later versions are available for the stable kernel
versions from 2.6.18. These will be needed if you use a BCM4318,
or a PCI Express version (BCM4311 and BCM4312). In addition, if you
have an early BCM4306 and more than 1 GB RAM, your kernel will need
to be patched. These patches, which are being updated regularly,
are available at ftp://lwfinger.dynalias.org/patches. Look for
combined_2.6.YY.patch. Of course you will need kernel source downloaded
from kernel.org, or the source from your distribution.
Please try fwcutter. Fwcutter can extract the firmware from various If you build your own kernel, please enable CONFIG_BCM43XX_DEBUG
binary driver files. It supports driver files from Windows, MacOS and and CONFIG_IEEE80211_SOFTMAC_DEBUG. The log information provided is
Linux. You can get fwcutter from http://bcm43xx.berlios.de/. essential for solving any problems.
Also, fwcutter comes with a README file for further instructions.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册