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
docs:techref:hardware:soc:soc.broadcom.bcm47xx [2018/06/11 14:40] – link fixed tmomasdocs:techref:hardware:soc:soc.broadcom.bcm47xx [2020/12/14 14:04] (current) – ↷ Links adapted because of a move operation tmomas
Line 1: Line 1:
 ====== Broadcom BCM47xx ====== ====== Broadcom BCM47xx ======
 This page covers the BCM47xx and BCM53xx Wireless Router/AP SoC running MIPS CPUs. This page covers the BCM47xx and BCM53xx Wireless Router/AP SoC running MIPS CPUs.
- 
  
 ===== Subtargets in Barrier Breaker ===== ===== Subtargets in Barrier Breaker =====
- 
 Beginning with [[https://dev.openwrt.org/changeset/41024|r41024]] this arch was split into 3 subtargets: Beginning with [[https://dev.openwrt.org/changeset/41024|r41024]] this arch was split into 3 subtargets:
- 
   * legacy: old devices based on SSB bus   * legacy: old devices based on SSB bus
   * generic: devices based on BCM4705 and two Linksys exceptions: WRT610N V2 and E3000 V1   * generic: devices based on BCM4705 and two Linksys exceptions: WRT610N V2 and E3000 V1
   * mips74k: newer devices with BCMA SoC and bgmac ethernet   * mips74k: newer devices with BCMA SoC and bgmac ethernet
  
-See [[http://wireless.kernel.org/en/users/Drivers/b43/soc|list of Broadcom SoCs]] to see if your BCM* chipset is SSB or BCMA.+See [[http://wireless.wiki.kernel.org/en/users/Drivers/b43/soc|list of Broadcom SoCs]] to see if your BCM* chipset is SSB or BCMA.
  
 ===== Images ===== ===== Images =====
- 
 The current goal is to boot one image on all the different devices using SoC of the bcm47xx family. The current goal is to boot one image on all the different devices using SoC of the bcm47xx family.
 The main image is openwrt-brcm47xx-squashfs.trx which is in the generic image format used by the Broadcom SDK for these devices. The main image is openwrt-brcm47xx-squashfs.trx which is in the generic image format used by the Broadcom SDK for these devices.
Line 26: Line 22:
  
 ==== Attitude Adjustment ==== ==== Attitude Adjustment ====
- 
 Version 12.09-rc1: http://downloads.openwrt.org/attitude_adjustment/12.09-rc1/brcm47xx/ Version 12.09-rc1: http://downloads.openwrt.org/attitude_adjustment/12.09-rc1/brcm47xx/
  
Line 33: Line 28:
  
 === BCM4785/BCM4705 === === BCM4785/BCM4705 ===
- 
 This SoC has a different Ethernet core and does not use b44 as the Ethernet driver.  It needs tg3 instead. This SoC has a different Ethernet core and does not use b44 as the Ethernet driver.  It needs tg3 instead.
 The default images for Attitude Adjustment do not include the tg3 Ethernet driver. The default images for Attitude Adjustment do not include the tg3 Ethernet driver.
Line 43: Line 37:
  
 ==== Barrier Breaker ==== ==== Barrier Breaker ====
- +Snapshot images download: [[http://downloads.openwrt.org/snapshots/trunk/brcm47xx/]]
-Snapshot images download: http://downloads.openwrt.org/snapshots/trunk/brcm47xx/+
  
 This is the current version where development takes place. This is the current version where development takes place.
Line 52: Line 45:
  
 ===== Ethernet ===== ===== Ethernet =====
- 
 New Broadcom devices with gigabit Ethernet are supported by the bgmac kernel driver. Unfortunately CPUs on most of these SoCs are too slow to provide 1000 Mb/s routing or NAT. It results in NAT being limited to something around 130Mb/s on BCM4706 and even less on slower units (like ~50Mb/s on BCM4718A1). New Broadcom devices with gigabit Ethernet are supported by the bgmac kernel driver. Unfortunately CPUs on most of these SoCs are too slow to provide 1000 Mb/s routing or NAT. It results in NAT being limited to something around 130Mb/s on BCM4706 and even less on slower units (like ~50Mb/s on BCM4718A1).
  
Line 73: Line 65:
 This is the open source driver built by the community based on reverse engineered specifications of the proprietary Broadcom driver. This is the driver that is included in the current OpenWrt builds. It is also in the mainline Linux kernel. This driver supports most of the current available Broadcom WiFi cores. It has support for station (STA), AP, AdHoc, Mesh and other modes and it supports 5 GHz band on N-PHY devices. It supports 802.11g rates only and can't handle multiple SSIDs. This is the open source driver built by the community based on reverse engineered specifications of the proprietary Broadcom driver. This is the driver that is included in the current OpenWrt builds. It is also in the mainline Linux kernel. This driver supports most of the current available Broadcom WiFi cores. It has support for station (STA), AP, AdHoc, Mesh and other modes and it supports 5 GHz band on N-PHY devices. It supports 802.11g rates only and can't handle multiple SSIDs.
  
-Website: http://wireless.kernel.org/en/users/Drivers/b43+Website: http://wireless.wiki.kernel.org/en/users/Drivers/b43
  
 The OpenWrt package is named: **kmod-b43** The OpenWrt package is named: **kmod-b43**
Line 82: Line 74:
 This driver has a similar feature set to b43 and is only supported by the community based on reverse engineered specifications. This driver has a similar feature set to b43 and is only supported by the community based on reverse engineered specifications.
  
-Website: http://wireless.kernel.org/en/users/Drivers/b43+Website: http://wireless.wiki.kernel.org/en/users/Drivers/b43
  
 The OpenWrt package is named: **kmod-b43legacy** The OpenWrt package is named: **kmod-b43legacy**
- 
  
 ==== brcm80211 ==== ==== brcm80211 ====
 This is the open source driver supported and released by Broadcom in 2010. It is in the mainline Linux kernel, but only since version 3.2. It is still missing some functionality, as of 2013: dual width 40MHz channels, advanced power saving features, LED support, HW-based encryption, among others. The driver has been renamed to its two constituents, the soft MAC driver (brcmsmac) and the full MAC driver (brcmfmac). This is the open source driver supported and released by Broadcom in 2010. It is in the mainline Linux kernel, but only since version 3.2. It is still missing some functionality, as of 2013: dual width 40MHz channels, advanced power saving features, LED support, HW-based encryption, among others. The driver has been renamed to its two constituents, the soft MAC driver (brcmsmac) and the full MAC driver (brcmfmac).
  
-Website: http://wireless.kernel.org/en/users/Drivers/brcm80211+Website: http://wireless.wiki.kernel.org/en/users/Drivers/brcm80211
  
 === brcmsmac === === brcmsmac ===
Line 104: Line 95:
  
 The OpenWrt package is named: **kmod-brcmfmac** The OpenWrt package is named: **kmod-brcmfmac**
- 
- 
  
 ==== broadcom-wl ==== ==== broadcom-wl ====
Line 119: Line 108:
 The OpenWrt package for the configuration utility is named: **wl**\\ The OpenWrt package for the configuration utility is named: **wl**\\
 The OpenWrt package for the open source variant of the configuration utility is named: **wlc** The OpenWrt package for the open source variant of the configuration utility is named: **wlc**
- 
  
 == Setting up the broadcom-wl driver == == Setting up the broadcom-wl driver ==
Line 143: Line 131:
 In the future maybe the community will further integrate the proprietary Broadcom driver into the OpenWrt framework. What is more likely though is that the open source drivers (brcm80211) will obtain more functionality. In the future maybe the community will further integrate the proprietary Broadcom driver into the OpenWrt framework. What is more likely though is that the open source drivers (brcm80211) will obtain more functionality.
  
-If you want to use [[docs:guide-user:luci:luci.essentials-tomerge|LuCI]] to configure UCI configuration, note that not all functionality and features are currently well supported and do not correspond well to the driver functionality in the graphical interface. It may therefore sometimes call the driver configuration utility with unsupported arguments. +If you want to use [[docs:guide-user:luci:luci.essentials|LuCI]] to configure UCI configuration, note that not all functionality and features are currently well supported and do not correspond well to the driver functionality in the graphical interface. It may therefore sometimes call the driver configuration utility with unsupported arguments. 
  
 For providing authentication and encryption with Wi-Fi and the broadcom-wl driver, you need the proprietary application from Broadcom, **nas** (Network Authentication Service). The tool is automatically started by the wireless infrastructure to accomodate the broadcom-wl driver. There is no configuration necessary, just install the package **nas**. See also [[docs:guide-user:network:wifi:encryption]]. For providing authentication and encryption with Wi-Fi and the broadcom-wl driver, you need the proprietary application from Broadcom, **nas** (Network Authentication Service). The tool is automatically started by the wireless infrastructure to accomodate the broadcom-wl driver. There is no configuration necessary, just install the package **nas**. See also [[docs:guide-user:network:wifi:encryption]].
Line 163: Line 151:
  option mode 'ap'  option mode 'ap'
  option encryption 'psk2'  option encryption 'psk2'
- 
 </code> </code>
  
Line 175: Line 162:
 ===== CFE ===== ===== CFE =====
 ==== Network boot ==== ==== Network boot ====
- 
 Most of the recent devices have a [[docs:techref:bootloader:cfe]] bootloader able to boot images over the network. Most of the recent devices have a [[docs:techref:bootloader:cfe]] bootloader able to boot images over the network.
  
Line 186: Line 172:
 boot -tftp -elf 192.168.1.2:/brcm47xx/openwrt-brcm47xx-vmlinux.elf boot -tftp -elf 192.168.1.2:/brcm47xx/openwrt-brcm47xx-vmlinux.elf
 </code> </code>
 +
 ===== BCM4704 JTAG pinout ===== ===== BCM4704 JTAG pinout =====
 {{:media:doc:hardware:bcm4704_jtag_pinout.png?400|}} {{:media:doc:hardware:bcm4704_jtag_pinout.png?400|}}
 +
 ===== Links ===== ===== Links =====
 List with some detailed informations about bcm47xx SoCs: List with some detailed informations about bcm47xx SoCs:
-http://wireless.kernel.org/en/users/Drivers/b43/soc +[[http://wireless.kernel.org/en/users/Drivers/b43/soc]] 
-[[docs:techref:header]]+[[docs:techref:headers]] 
 + 
 +===== Devices ===== 
 +The list of related devices: 
 +{{tagpage>bcm4702}}, 
 +{{tagpage>bcm4704}}, 
 +{{tagpage>bcm4705}}, 
 +{{tagpage>bcm4706}}, 
 +{{tagpage>bcm4708}}, 
 +{{tagpage>bcm4716}}, 
 +{{tagpage>bcm47162}}, 
 +{{tagpage>bcm4717}}, 
 +{{tagpage>bcm4718}}, 
 +{{tagpage>bcm47186}}, 
 +{{tagpage>bcm47xx}}, 
 +{{tagpage>bcm5352}}, 
 +{{tagpage>bcm5354}}, 
 +{{tagpage>bcm5357}}, 
 +{{tagpage>bcm5358}}, 
 +{{tagpage>bcm53xx}}, 
 +{{tagpage>bcm5836}}
  
-===== Tags ===== 
-{{tag>bcm47xx bcm4702 bcm4704 bcm4705 bcm4706 bcm4708 bcm4716 bcm4717 bcm4718 bcm47162 bcm47186}} 
-{{tag>bcm53xx bcm5352 bcm5354 bcm5357 bcm5358 bcm5836}} 
  • Last modified: 2018/06/11 14:40
  • by tmomas