mac80211: brcmsmac: use firmware extracted from proprietary driver
The firmware from linux-firmware does not support the rev 17 core found in a bcm4716. The firmware extracted from the proprietary driver supports this core. Use this firmware instead by default. SVN-Revision: 33669
This commit is contained in:
		@@ -1079,6 +1079,13 @@ define KernelPackage/brcmutil/config
 | 
				
			|||||||
	endmenu
 | 
						endmenu
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_NAME:=broadcom-wl
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_VERSION:=5.100.138
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
 | 
				
			||||||
 | 
					PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define KernelPackage/brcmsmac
 | 
					define KernelPackage/brcmsmac
 | 
				
			||||||
  $(call KernelPackage/mac80211/Default)
 | 
					  $(call KernelPackage/mac80211/Default)
 | 
				
			||||||
  TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
 | 
					  TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
 | 
				
			||||||
@@ -1086,12 +1093,32 @@ define KernelPackage/brcmsmac
 | 
				
			|||||||
  DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
 | 
					  DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
 | 
				
			||||||
  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
 | 
					  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
 | 
				
			||||||
  AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
 | 
					  AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
 | 
				
			||||||
 | 
					  MENU:=1
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define KernelPackage/brcmsmac/description
 | 
					define KernelPackage/brcmsmac/description
 | 
				
			||||||
 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
 | 
					 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define KernelPackage/brcmsmac/config
 | 
				
			||||||
 | 
						menu "Configuration"
 | 
				
			||||||
 | 
							depends on PACKAGE_kmod-brcmsmac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						config BRCMSMAC_USE_FW_FROM_WL
 | 
				
			||||||
 | 
							bool "Use firmware extracted from broadcom proprietary driver"
 | 
				
			||||||
 | 
							default y
 | 
				
			||||||
 | 
							help
 | 
				
			||||||
 | 
							  Instead of using the official brcmsmac firmware a firmware
 | 
				
			||||||
 | 
							  version 666.2 extracted from the proprietary Broadcom driver
 | 
				
			||||||
 | 
							  is used. This is needed to get core rev 17 used in bcm4716
 | 
				
			||||||
 | 
							  to work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  If unsure, say Y.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						endmenu
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define KernelPackage/brcmfmac
 | 
					define KernelPackage/brcmfmac
 | 
				
			||||||
  $(call KernelPackage/mac80211/Default)
 | 
					  $(call KernelPackage/mac80211/Default)
 | 
				
			||||||
  TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
 | 
					  TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
 | 
				
			||||||
@@ -1521,10 +1548,15 @@ endef
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
define KernelPackage/brcmsmac/install
 | 
					define KernelPackage/brcmsmac/install
 | 
				
			||||||
	$(INSTALL_DIR) $(1)/lib/firmware/brcm
 | 
						$(INSTALL_DIR) $(1)/lib/firmware/brcm
 | 
				
			||||||
 | 
					ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
 | 
				
			||||||
 | 
						tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
 | 
				
			||||||
 | 
						b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
	$(INSTALL_DATA) \
 | 
						$(INSTALL_DATA) \
 | 
				
			||||||
		$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
 | 
							$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
 | 
				
			||||||
		$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
 | 
							$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
 | 
				
			||||||
		$(1)/lib/firmware/brcm/
 | 
							$(1)/lib/firmware/brcm/
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define KernelPackage/brcmfmac/install
 | 
					define KernelPackage/brcmfmac/install
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /* recognized BCMA Core IDs */
 | 
					 /* recognized BCMA Core IDs */
 | 
				
			||||||
 static struct bcma_device_id brcms_coreid_table[] = {
 | 
					 static struct bcma_device_id brcms_coreid_table[] = {
 | 
				
			||||||
+//	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 17, BCMA_ANY_CLASS),
 | 
					+	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 17, BCMA_ANY_CLASS),
 | 
				
			||||||
 	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 23, BCMA_ANY_CLASS),
 | 
					 	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 23, BCMA_ANY_CLASS),
 | 
				
			||||||
 	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 24, BCMA_ANY_CLASS),
 | 
					 	BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 24, BCMA_ANY_CLASS),
 | 
				
			||||||
 	BCMA_CORETABLE_END
 | 
					 	BCMA_CORETABLE_END
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,7 +25,7 @@ ifneq ($(CONFIG_TARGET_ar71xx),)
 | 
				
			|||||||
tools-y += lzma-old squashfs
 | 
					tools-y += lzma-old squashfs
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
tools-y += lzma squashfs4
 | 
					tools-y += lzma squashfs4
 | 
				
			||||||
ifneq ($(CONFIG_PACKAGE_kmod-b43)$(CONFIG_PACKAGE_kmod-b43legacy),)
 | 
					ifneq ($(CONFIG_PACKAGE_kmod-b43)$(CONFIG_PACKAGE_kmod-b43legacy)$(CONFIG_BRCMSMAC_USE_FW_FROM_WL),)
 | 
				
			||||||
tools-y += b43-tools
 | 
					tools-y += b43-tools
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user