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/05/17 11:14]
Rafał Miłecki [brcmfmac] Add SDIO BCM4334[01]
en:users:drivers:brcm80211 [2020/06/10 18:10]
Matteo Scordino [Firmware installation]
Line 34: Line 34:
 === PCIe devices === === PCIe devices ===
 ^ Chipset ^ PCI Device ID ^ Notes ^ ^ Chipset ^ PCI Device ID ^ Notes ^
 +|BCM4350 ​ |14e4:43a3 | Queued for 4.4+ |
 |BCM4354 ​ |14e4:43df | Unreleased hw, support dropped in 4.1 | |BCM4354 ​ |14e4:43df | Unreleased hw, support dropped in 4.1 |
 |BCM4356 ​ |14e4:43ec | Supported in 3.17+ | |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 |
  
  
Line 46: Line 57:
 ^ 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+   
-|BCM43340 |0xa94c |Supported in 4.0+ | +| BCM43340 ​ | 0xa94c ​    ​| Supported in 4.0+   ​
-|BCM43341 |0xa94d |Supported in 4.0+ | +| BCM43341 ​ | 0xa94d ​    ​| Supported in 4.0+   ​
-| BCM43241 ​ | 0x4324 ​    ​| ​                    ​+| BCM43241 ​ | 0x4324 ​    ​| ​Supported in 3.7+   
-| BCM4335 ​  | 0x4335 ​    ​| ​                    ​|+| BCM4335 ​  | 0x4335 ​    ​| ​Supported in 3.10+  ​|
 | BCM4339 ​  | 0x4335 ​    | Supported in 3.13+  | | BCM4339 ​  | 0x4335 ​    | Supported in 3.13+  |
 | BCM43362 ​ | 0xA962 ​    | Supported in 3.14+  | | BCM43362 ​ | 0xA962 ​    | Supported in 3.14+  |
Line 57: Line 68:
 | BCM43455 ​ | 0x4345 ​    | Supported in 4.1+   | | BCM43455 ​ | 0x4345 ​    | Supported in 4.1+   |
 | BCM4354 ​  | 0x4354 ​    | Supported in 3.15+  | | BCM4354 ​  | 0x4354 ​    | Supported in 3.15+  |
-| BCM43143 ​ | 0xA887 ​    ​| ​                    ​|+| BCM43143 ​ | 0xA887 ​    ​| ​Supported in 3.10+  ​| 
  
  
Line 104: Line 116:
 === Current === === Current ===
  
-For SDIO driver you need to copy the nvram for your system and place it in /​lib/​firmware/​brcm. The nvram file name depends on the chip you have. The kernel log will tell you the exact file name. For the USB driver no nvram file is needed. ​+For SDIO driver you need to copy the nvram for your system and place it in /​lib/​firmware/​brcm. The nvram file name depends on the chip you have. The kernel log will tell you the exact file name.  
 + 
 +For the USB driver no nvram file is //​strictly// ​needed: in fact, the driver only loads the firmware blob and does not look for an nvram text file. However, the nvram parameters are still required and they are already part of the firmware blob. This is a TRX file which contains the nvram parameters as a sequence of zero-terminated plain text strings, appended at the end of the last section. 
 +For an example of how to modify/add nvram parameters for USB devices, see [[https://​blog.elimo.io/​reverse-engineering/​wifi/​mesh/​thread/​802.15.4/​2020/​06/​05/​pta-coexistence.html|this post]]
  
 The firmware files are located in the linux-firmware repository and can be copied as is to /​lib/​firmware/​brcm. ​ The firmware files are located in the linux-firmware repository and can be copied as is to /​lib/​firmware/​brcm. ​
Line 120: Line 135:
  
  
-===== 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 203: Line 227:
 ==== 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