User Tools

Site Tools


en:users:drivers:brcm80211

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:users:drivers:brcm80211 [2015/03/23 11:17]
Rafał Miłecki [brcmfmac] Replace BCM4345 with BCM43455
en:users:drivers:brcm80211 [2018/07/08 07:50]
Joel Brinton channel number typo
Line 13: Line 13:
  
 **brcmsmac (PCIe/​AXI)** driver: ​ **brcmsmac (PCIe/​AXI)** driver: ​
-| **Name**  | **PCI Device ID**  |+Name PCI Device ID ^
 | BCM4313 ​  | 0x4727 ​            | | BCM4313 ​  | 0x4727 ​            |
 | BCM43224 ​ | 0x0576 ​            | | BCM43224 ​ | 0x0576 ​            |
Line 23: Line 23:
  
 **brcmsmac (SoC/AXI)** driver: ​ **brcmsmac (SoC/AXI)** driver: ​
-|**Name** |+Name ^
 |BCM4716 ​ | |BCM4716 ​ |
 |BCM4717 ​ | |BCM4717 ​ |
Line 34: Line 34:
 === PCIe devices === === PCIe devices ===
 ^ Chipset ^ PCI Device ID ^ Notes ^ ^ Chipset ^ PCI Device ID ^ Notes ^
-|BCM4354 ​ |14e4:43df | Supported ​in 3.17+ +|BCM4350 ​ |14e4:43a3 | Queued for 4.4+ | 
-|BCM4356 ​ |14e4:43ec | ::: |+|BCM4354 ​ |14e4:43df | Unreleased hw, support dropped ​in 4.
 +|BCM4356 ​ |14e4:43ec | Supported in 3.17+ |
 |BCM43567 |14e4:43d3 | ::: | |BCM43567 |14e4:43d3 | ::: |
 |BCM43570 |14e4:43d9 | ::: | |BCM43570 |14e4:43d9 | ::: |
-|BCM43602 ​|14e4:43ba | ::|+|BCM4358  ​|14e4:43e9 Supported in 4.2+ | 
 +|BCM4359 ​ |14e4:43ef | Queued for 4.5+ | 
 +|BCM43602 |14e4:43ba | Supported in 3.17+ |
 |BCM43602 |14e4:43bb | Supported in 3.19+, 2 GHz device | |BCM43602 |14e4:43bb | Supported in 3.19+, 2 GHz device |
 |BCM43602 |14e4:43bc | Supported in 3.19+, 5 GHz device | |BCM43602 |14e4:43bc | Supported in 3.19+, 5 GHz device |
 +|BCM43602 |14e4:aa52 | Supported in 4.2+, "​raw"​ device |
 +|BCM4365 ​ |14e4:43ca | Supported in 4.4+ |
 +|BCM4365 ​ |14e4:43cb | Supported in 4.4+, 2 GHz device |
 +|BCM4365 ​ |14e4:43cc | Supported in 4.4+, 5 GHz device |
 +|BCM4366 ​ |14e4:4365 | Queued for 4.6+ |
 +|BCM4366 ​ |14e4:43c3 | Supported in 4.4+ |
 +|BCM4366 ​ |14e4:43c4 | Supported in 4.4+, 2 GHz device |
 +|BCM4366 ​ |14e4:43c5 | Supported in 4.4+, 5 GHz device |
  
  
 === SDIO devices === === SDIO devices ===
-^ Name ^ Device ID ^ Notes ^ +^ Name      ^ Device ID  ^ Notes               ​
-|BCM4329 ​ | 0x4329 | | +| BCM4329 ​  ​| 0x4329 ​    ​                    ​
-|BCM4330 ​ | 0x4330 | | +| BCM4330 ​  ​| 0x4330 ​    ​Supported in 3.3+   
-|BCM4334 ​ | 0x4334 | | +| BCM4334 ​  ​| 0x4334 ​    ​Supported in 3.6+   | 
-|BCM43241 | 0x4324 | | +| BCM43340 ​ | 0xa94c ​    | Supported in 4.0+   | 
-|BCM4335 ​ | 0x4335 | | +| BCM43341 ​ | 0xa94d ​    | Supported in 4.0+   
-|BCM43362 | 0xA962 | Supported in 3.14+ | +| BCM43241 ​ | 0x4324 ​    ​Supported in 3.7+   
-|BCM43430 | 0xa9a6 | Supported in 4.1+ | +| BCM4335 ​  | 0x4335 ​    | Supported in 3.10+  
-|BCM43455 | 0x4345 | Supported in 4.1+ | +| BCM4339 ​  | 0x4335 ​    ​Supported in 3.13+  ​
-|BCM4354 ​ | 0x4354 | Supported in 3.15+ | +| BCM43362 ​ | 0xA962 ​    ​| Supported in 3.14+  
-|BCM43143 | 0xA887 | |+| BCM43430 ​ | 0xa9a6 ​    ​| Supported in 4.1+   ​
 +| BCM43455 ​ | 0x4345 ​    ​| Supported in 4.1+   ​
 +| BCM4354 ​  ​| 0x4354 ​    ​| Supported in 3.15+  
 +| BCM43143 ​ | 0xA887 ​    ​Supported in 3.10+  ​| 
 + 
  
  
Line 74: Line 90:
  
 ===== Unsupported Chips ===== ===== Unsupported Chips =====
-|**Chip** |**Rev** |**Marketing name** |**USB ID** |+Chip Rev Marketing name USB ID ^
 |0x4322 |1 |? |0846:9011| |0x4322 |1 |? |0846:9011|
 |0x4322 |1 |BCM43231 |0846:9020| |0x4322 |1 |BCM43231 |0846:9020|
 |43236 | 2 |BCM43236 |0a5c:bd17| |43236 | 2 |BCM43236 |0a5c:bd17|
 +|43526 |2 |BCM43526 |0a5c:bd1d|
 | 0x4322 | 1 | BCM4323 | 1eda:2410 | | 0x4322 | 1 | BCM4323 | 1eda:2410 |
  
 BCM43231 and BCM43236 (rev <= 2) have another architecture and can't be easily supported by **brcmfmac**. They have less memory on the chip and can't run full MAC firmware, so they require implementing some extra code in the Linux driver. On the other hand they are not standard soft MAC devices, so they can't be supported by **brcmsmac** or **b43**. ​ BCM43231 and BCM43236 (rev <= 2) have another architecture and can't be easily supported by **brcmfmac**. They have less memory on the chip and can't run full MAC firmware, so they require implementing some extra code in the Linux driver. On the other hand they are not standard soft MAC devices, so they can't be supported by **brcmsmac** or **b43**. ​
  
 +^ Chip ^ SDIO ID ^ Notes ^
 +|BCM4345 | 02d0:4345 | Older version of BCM43455 |
  
 ===== Broadcom brcmsmac driver ===== ===== Broadcom brcmsmac driver =====
Line 113: Line 132:
  
  
-===== Contact Info =====+=== NVRAM from EFI === 
 +Some new devices are storing the nvram which is needed in addition to the firmware by the driver in an EFI variable and the Windows driver can access it (this file should be optional in the case of PCIe devices). Currently brcmfmac does not support this automatically. 
 +First mount the efi vars into sysfs: 
 +  mount -t efivarfs none /​sys/​firmware/​efi/​efivars
  
-For driver issues and/or bug reports, please use+The content of the nvram is in this file: 
 +  /​sys/​firmware/​efi/​efivars/​nvram-74b00bd9-805a-4d61-b51f-43268123d113
  
-[[mailto:brcm80211-dev-list@broadcom.com|brcm80211-dev-list@broadcom.com]] +Copy this file where brcmfmac expects the nvram, for example: 
 +   cat /​sys/​firmware/​efi/​efivars/​nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /​lib/​firmware/​brcm/​brcmfmac43241b4-sdio.txt
  
-For any other questions feel free to contact the developers listed below: ​+===== Contact Info =====
  
-Arend van Spriel ​       [[mailto:arend@broadcom.com|arend@broadcom.com]] ​+For driver issues and/or bug reports, please use one or both:
  
-Franky Lin              ​[[mailto:frankyl@broadcom.com|frankyl@broadcom.com]] ​+[[mailto:brcm80211-dev-list.pdl@broadcom.com|brcm80211-dev-list.pdl@broadcom.com]]\\ 
 +[[mailto:​brcm80211-dev-list@cypress.com|brcm80211-dev-list@cypress.com]]
  
-Hante Meuleman ​         [[mailto:meuleman@broadcom.com|meuleman@broadcom.com]]  +For any other questions feel free to contact the developers listed below
- +
-Brett Rudley ​           [[mailto:​brudley@broadcom.com|brudley@broadcom.com]] ​+
  
 +Arend van Spriel ​       [[mailto:​arend.vanspriel@broadcom.com|arend.vanspriel@broadcom.com]]\\
 +Franky Lin              [[mailto:​franky.lin@broadcom.com|franky.lin@broadcom.com]]\\
 +Hante Meuleman ​         [[mailto:​hante.meuleman@broadcom.com|hante.meuleman@broadcom.com]]\\
 +Chi-Hsien Lin           ​[[mailto:​Chi-Hsien.Lin@cypress.com|Chi-Hsien.Lin@cypress.com]]\\
 +Wright Feng             ​[[mailto:​Wright.Feng@cypress.com|Wright.Feng@cypress.com]]
  
 ===== Developer information ===== ===== Developer information =====
Line 147: Line 175:
               * Integrated with cfg80211 ​               * Integrated with cfg80211 ​
               * Most of Mac functionality is performed on chip                * Most of Mac functionality is performed on chip 
-              * support for SDIO and USB +              * support for SDIOUSB and PCIe 
               * SoftAP ​               * SoftAP ​
               * P2P                * P2P 
Line 166: Line 194:
                 *  *  *  * -> [ ] SDIO bus interface support for FullMAC driver ​                 *  *  *  * -> [ ] SDIO bus interface support for FullMAC driver ​
                 *  *  *  * -> [ ] USB bus interface support for FullMAC driver ​                 *  *  *  * -> [ ] USB bus interface support for FullMAC driver ​
 +                *  *  *  * -> [ ] PCIE bus interface support for FullMAC driver
  
 For the PCIe SoftMAC WLAN driver (brcmsmac) you need to enable select the BCMA bus driver as well:  For the PCIe SoftMAC WLAN driver (brcmsmac) you need to enable select the BCMA bus driver as well: 
Line 195: Line 224:
 ==== Regulatory Implementation for brcmsmac ==== ==== Regulatory Implementation for brcmsmac ====
  
-This generation of chips contain additional ​ regulatory support independent of the driver. The devices use a single ​ worldwide regulatory domain, with channels ​12-14 (2.4 GHz band) and  channels 52-64 and 100-140 (5 GHz band) restricted to passive operation. ​ Transmission on those channels is suppressed until appropriate other  traffic is observed on those channels. Within the driver, we use the  ficticious country code "​X2"​ to represent this worldwide regulatory ​ domain. There is currently no interface to configure a different domain. ​ The driver reads the SROM country code from the chip and hands it up to  mac80211 as the regulatory hint, however this information is otherwise ​ unused with the driver. ​+This generation of chips contain additional ​ regulatory support independent of the driver. The devices use a single ​ worldwide regulatory domain, with channels ​1-11 (2.4 GHz band) and  channels 52-64 and 100-140 (5 GHz band) restricted to passive operation. ​ Transmission on those channels is suppressed until appropriate other  traffic is observed on those channels. Within the driver, we use the  ficticious country code "​X2"​ to represent this worldwide regulatory ​ domain. There is currently no interface to configure a different domain. ​ The driver reads the SROM country code from the chip and hands it up to  mac80211 as the regulatory hint, however this information is otherwise ​ unused with the driver. ​
  
en/users/drivers/brcm80211.txt · Last modified: 2024/03/20 10:46 by Peter Robinson