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
	 Hauke Mehrtens
					Hauke Mehrtens