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 HP |
45 | |
46 | For all chips, copy brcm/bcm43xx-0-610-809-0.fw and | |
47 | brcm/bcm43xx_hdr-0-610-809-0.fw to /lib/firmware/brcm (or wherever firmware is | |
48 | normally installed on the system). In the /lib/firmware/brcm directory, then | |
49 | create the following symlinks: | |
50 | ||
51 | ln -s bcm43xx-0-610-809-0.fw bcm43xx-0.fw | |
52 | ln -s bcm43xx_hdr-0-610-809-0.fw bcm43xx_hdr-0.fw | |
53 | ||
54 | ||
55 | Currently supported chips | |
56 | ============== | |
57 | PCI | |
58 | Name Device ID | |
59 | BCM4313 0x4727 | |
60 | BCM43224 0x4353 | |
61 | BCM43225 0x4357 | |
62 | ||
63 | ||
64 | Bugs/Problems | |
65 | ============== | |
66 | - Driver can get confused while scanning during high throughput, can cause | |
67 | burping, hanging, and possible crashing. | |
68 | - Occasional hangs & burps with BCM43224 on 2.4 GHz with dual stream rates. | |
69 | - Occasional crashes with BCM43224 on multicore machines. | |
70 | ||
71 | ||
72 | Note on Regulatory Implementation | |
73 | ================================ | |
74 | This generation of chips contain additional regulatory support independent of | |
75 | the driver. The devices use a single worldwide regulatory domain, with channels | |
76 | 12-14 (2.4 GHz band) and channels 52-64 and 100-140 (5 GHz band) restricted to | |
77 | passive operation. Transmission on those channels is suppressed until | |
78 | appropriate other traffic is observed on those channels. | |
79 | ||
80 | Within the driver, we use the ficticious country code "X2" to represent this | |
81 | worldwide regulatory domain. There is currently no interface to configure a | |
82 | different domain. | |
83 | ||
84 | The driver reads the SROM country code from the chip and hands it up to | |
85 | mac80211 as the regulatory hint, however this information is otherwise unused | |
86 | with the driver. | |
87 | ||
88 | ||
89 | Contact Info: | |
90 | ============= | |
6df78338 AS |
91 | Brett Rudley brudley@broadcom.com |
92 | Henry Ptasinski henryp@broadcom.com | |
93 | Dowan Kim dowan@broadcom.com | |
94 | Roland Vossen rvossen@broadcom.com | |
95 | Arend van Spriel arend@broadcom.com | |
a9533e7e | 96 |