Commit | Line | Data |
---|---|---|
a9533e7e HP |
1 | Broadcom Mac80211 driver |
2 | ||
3 | This is a driver in progress. It has features still to be implemented well as | |
4 | bugs in current code. | |
5 | ||
6 | ||
7 | What's here and not here | |
8 | ======================= | |
9 | - Completely open source host driver, no binary object files | |
10 | - Features Broadcom's OneDriver architecture (single source base for | |
11 | supported chips and architectures) | |
12 | - On-chip firmware loaded using standard request_firmware() | |
13 | - Support for BCM43224, BCM43225, BCM4313 (PCIe NIC) | |
14 | - Framework for supporting new chips, including mac80211-aware embedded chips | |
15 | - Does not support older PCI/PCIe chips with SSB backplane | |
16 | - Driver includes BMAC interface for transparent dongle support | |
17 | - Uses minstrel_ht rate algorithm | |
18 | - HW based encryption not enabled yet | |
19 | ||
20 | ||
21 | What's done | |
22 | ========== | |
23 | - Integration with mac80211 stack | |
24 | - A-MPDU single & dual stream rates | |
25 | - BCM43224: Dualband, Dual stream, 20MHz channels | |
26 | Throughput (in chamber): ~85-90 Mbits/sec (in both 2.4 & 5 GHz bands) | |
27 | - BCM43225: 2.4 GHz, Dual Stream, 20MHz channels | |
28 | Throughput (in chamber): ~85-90 Mbits/sec | |
29 | - BCM4313: 2.4 GHz, Single Stream | |
30 | Throughput (in chamber): ~40 Mbits/sec | |
31 | ||
32 | ||
33 | Things To Be Done | |
34 | ================= | |
35 | See the TODO file | |
36 | ||
37 | ||
38 | Firmware installation | |
39 | ====================== | |
40 | Firmware is available from the Linux firmware repository at: | |
41 | ||
42 | git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git | |
29f6465f HP |
43 | http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git |
44 | https://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git | |
a9533e7e | 45 | |
fb657461 HP |
46 | For all chips, copy brcm/bcm43xx-0.fw and brcm/bcm43xx_hdr-0.fw to |
47 | /lib/firmware/brcm (or wherever firmware is normally installed on your system). | |
a9533e7e HP |
48 | |
49 | Currently supported chips | |
50 | ============== | |
51 | PCI | |
52 | Name Device ID | |
53 | BCM4313 0x4727 | |
54 | BCM43224 0x4353 | |
55 | BCM43225 0x4357 | |
56 | ||
57 | ||
58 | Bugs/Problems | |
59 | ============== | |
60 | - Driver can get confused while scanning during high throughput, can cause | |
61 | burping, hanging, and possible crashing. | |
62 | - Occasional hangs & burps with BCM43224 on 2.4 GHz with dual stream rates. | |
63 | - Occasional crashes with BCM43224 on multicore machines. | |
64 | ||
65 | ||
66 | Note on Regulatory Implementation | |
67 | ================================ | |
68 | This generation of chips contain additional regulatory support independent of | |
69 | the driver. The devices use a single worldwide regulatory domain, with channels | |
70 | 12-14 (2.4 GHz band) and channels 52-64 and 100-140 (5 GHz band) restricted to | |
71 | passive operation. Transmission on those channels is suppressed until | |
72 | appropriate other traffic is observed on those channels. | |
73 | ||
25985edc | 74 | Within the driver, we use the fictitious country code "X2" to represent this |
a9533e7e HP |
75 | worldwide regulatory domain. There is currently no interface to configure a |
76 | different domain. | |
77 | ||
78 | The driver reads the SROM country code from the chip and hands it up to | |
79 | mac80211 as the regulatory hint, however this information is otherwise unused | |
80 | with the driver. | |
81 | ||
82 | ||
83 | Contact Info: | |
84 | ============= | |
6df78338 AS |
85 | Brett Rudley brudley@broadcom.com |
86 | Henry Ptasinski henryp@broadcom.com | |
87 | Dowan Kim dowan@broadcom.com | |
88 | Roland Vossen rvossen@broadcom.com | |
89 | Arend van Spriel arend@broadcom.com | |
a9533e7e | 90 |