X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=package%2Fmac80211%2FMakefile;h=4d9d95cd2fa35ce8acc87e93e8707e9728893c39;hp=31e1ad382cce7b926bf2351a11aa7a5498da13a1;hb=801985e5286881dd578a19280b2a6c8e212a530d;hpb=f0ce8c9691f4d0b0b79f6be2132883e4328ec50f diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index 31e1ad382c..4d9d95cd2f 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -10,17 +10,19 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=2012-07-16 +PKG_VERSION:=2013-06-13 PKG_RELEASE:=1 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources -PKG_MD5SUM:=8e41a935ad147631b78f99eda7187c1f +PKG_MD5SUM:=986749f5fbc5ec9b963e49c7171be300 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION) PKG_BUILD_PARALLEL:=1 +PKG_MAINTAINER:=Felix Fietkau + PKG_DRIVERS = \ - ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \ + adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \ rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \ rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \ rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \ @@ -39,7 +41,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_B43_N_PHY \ CONFIG_ATH_USER_REGD \ -CARL9170_FW_VERSION:=1.9.4 +CARL9170_FW_VERSION:=1.9.6 include $(INCLUDE_DIR)/package.mk @@ -49,13 +51,13 @@ define KernelPackage/mac80211/Default SUBMENU:=$(WMENU) URL:=http://linuxwireless.org/ MAINTAINER:=Felix Fietkau - DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN) + DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN) endef define KernelPackage/cfg80211 $(call KernelPackage/mac80211/Default) TITLE:=cfg80211 - wireless configuration API - DEPENDS+= +wireless-tools +iw + DEPENDS+= +iw FILES:= \ $(PKG_BUILD_DIR)/compat/compat.ko \ $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko @@ -78,23 +80,22 @@ define KernelPackage/mac80211 endef define KernelPackage/mac80211/config - menu "Configuration" - depends on PACKAGE_kmod-mac80211 + if PACKAGE_kmod-mac80211 config PACKAGE_MAC80211_DEBUGFS bool "Export mac80211 internals in DebugFS" + select KERNEL_DEBUG_FS + select KERNEL_RELAY if PACKAGE_kmod-ath9k-common default y help Select this to see extensive information about the internal state of mac80211 in debugfs. - Say N unless you know you need this. - config PACKAGE_MAC80211_MESH bool "Enable 802.11s mesh support" default y - endmenu + endif endef define KernelPackage/mac80211/description @@ -102,12 +103,12 @@ Generic IEEE 802.11 Networking Stack (mac80211) endef PKG_LINUX_FIRMWARE_NAME:=linux-firmware -PKG_LINUX_FIRMWARE_VERSION:=375e9548bf75a5664256d47a2f9e14b79181e02d +PKG_LINUX_FIRMWARE_VERSION:=6942dba419d2ebf8c15514972e89734fd7a8cebc PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2 PKG_LINUX_FIRMWARE_PROTO:=git -# PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.infradead.org/users/dwmw2/linux-firmware.git PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION) +PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=a5f8c27af9e43f0ad24d7f821c5a781e define Download/linux-firmware FILE:=$(PKG_LINUX_FIRMWARE_SOURCE) @@ -116,6 +117,7 @@ define Download/linux-firmware PROTO:=$(PKG_LINUX_FIRMWARE_PROTO) VERSION:=$(PKG_LINUX_FIRMWARE_VERSION) SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR) + MIRROR_MD5SUM:=$(PKG_LINUX_FIRMWARE_MIRROR_MD5SUM) endef $(eval $(call Download,linux-firmware)) @@ -149,7 +151,7 @@ $(eval $(call Download,p54spi)) define Download/carl9170 FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION) URL:=http://downloads.openwrt.org/sources/ - MD5SUM:=30e2ae80c33b3008d271556d1a14e3ea + MD5SUM:=2fa6ed98d53d0b5fbcc136d1cf5e9609 endef $(eval $(call Download,carl9170)) @@ -194,12 +196,6 @@ define KernelPackage/p54-spi AUTOLOAD:=$(call AutoLoad,31,p54spi) endef -NEED_RT2X00_LIB_CRYPTO:=y -NEED_RT2X00_LIB_FIRMWARE:=y -NEED_RT2X00_LIB_EEPROM:=y -NEED_RT2X00_LIB_HT:=y -NEED_RT2X00_LIB_LEDS:=y - define KernelPackage/rt2x00/Default $(call KernelPackage/mac80211/Default) TITLE:=Ralink Drivers for RT2x00 cards @@ -210,17 +206,16 @@ $(call KernelPackage/rt2x00/Default) DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t TITLE+= (LIB) FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko - AUTOLOAD:=$(call AutoLoad,25,rt2x00lib) + AUTOLOAD:=$(call AutoLoad,24,rt2x00lib) MENU:=1 endef define KernelPackage/rt2x00-lib/config - menu "Configuration" - depends PACKAGE_kmod-rt2x00-lib + if PACKAGE_kmod-rt2x00-lib config PACKAGE_RT2X00_LIB_DEBUGFS bool "Enable rt2x00 debugfs support" - depends PACKAGE_MAC80211_DEBUGFS + depends on PACKAGE_MAC80211_DEBUGFS help Enable creation of debugfs files for the rt2x00 drivers. These debugfs files support both reading and writing of the @@ -231,14 +226,22 @@ define KernelPackage/rt2x00-lib/config help Enable debugging output for all rt2x00 modules - endmenu + endif endef -define KernelPackage/rt2x00-pci +define KernelPackage/rt2x00-mmio $(call KernelPackage/rt2x00/Default) DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6 + TITLE+= (MMIO) + FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko + AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio) +endef + +define KernelPackage/rt2x00-pci +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib TITLE+= (PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko + FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko AUTOLOAD:=$(call AutoLoad,26,rt2x00pci) endef @@ -252,7 +255,7 @@ endef define KernelPackage/rt2x00-soc $(call KernelPackage/rt2x00/Default) - DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib + DEPENDS+= @TARGET_ramips +kmod-rt2x00-mmio +kmod-rt2x00-lib TITLE+= (SoC) FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko AUTOLOAD:=$(call AutoLoad,26,rt2x00soc) @@ -308,7 +311,7 @@ endef define KernelPackage/rt2800-pci $(call KernelPackage/rt2x00/Default) - DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc + DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +PCI_SUPPORT:kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc TITLE+= (RT2860 PCI) FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko AUTOLOAD:=$(call AutoLoad,28,rt2800pci) @@ -362,10 +365,16 @@ define KernelPackage/zd1211rw AUTOLOAD:=$(call AutoLoad,60,zd1211rw) endef -define KernelPackage/ath/config - menu "Configuration" - depends on PACKAGE_kmod-ath +define KernelPackage/adm8211 + $(call KernelPackage/mac80211/Default) + TITLE:=ADMTek 8211 support + DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6 + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko + AUTOLOAD:=$(call AutoLoad,60,adm8211) +endef +define KernelPackage/ath/config + if PACKAGE_kmod-ath config ATH_USER_REGD bool "Force Atheros drivers to respect the user's regdomain settings" help @@ -382,8 +391,7 @@ define KernelPackage/ath/config help Say Y, if you want to debug atheros wireless drivers. Right now only ath9k makes use of this. - - endmenu + endif endef define KernelPackage/ath @@ -504,7 +512,7 @@ endef define KernelPackage/libertas-sd $(call KernelPackage/mac80211/Default) - DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT + DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT TITLE:=Marvell 88W8686 Wireless Driver FILES:= \ $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \ @@ -631,10 +639,10 @@ endef define KernelPackage/iwlagn $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 @PCI_SUPPORT + DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT TITLE:=Intel AGN Wireless support FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko - AUTOLOAD:=$(call AutoLoad,60,iwlagn) + AUTOLOAD:=$(call AutoLoad,60,iwlwifi) MENU:=1 endef @@ -643,66 +651,92 @@ define KernelPackage/iwlagn/description endef define KernelPackage/iwlagn/config - menu "Configuration" - depends on PACKAGE_kmod-iwlagn + if PACKAGE_kmod-iwlagn config IWL5000_FW bool "Intel 5000 Firmware" default y help Download and install firmware for: - Intel 5000 wireless card into /lib/firmware. + Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN config IWL5150_FW bool "Intel 5150 Firmware" default y help Download and install firmware for: - Intel 5150 wireless card into /lib/firmware. + Intel Wireless WiFi 5150AGN config IWL1000_FW bool "Intel 1000 Firmware" default y help Download and install firmware for: - Intel 1000 wireless card into /lib/firmware. + Intel Centrino Wireless-N 1000 config IWL6000_FW bool "Intel 6000 Firmware" default y help Download and install firmware for: - Intel 6000 wireless card into /lib/firmware. + Intel Centrino Ultimate-N 6300 and Advanced-N 6200 config IWL6050_FW bool "Intel 6050 Firmware" default y help Download and install firmware for: - Intel 6050 wireless card into /lib/firmware. + Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150 config IWL6005_FW bool "Intel 6005 Firmware" default y help Download and install firmware for: - Intel 6005 wireless card into /lib/firmware. + Intel Centrino Advanced-N 6205 config IWL6030_FW bool "Intel 6030 Firmware" default y help Download and install firmware for: - Intel 6030 wireless card into /lib/firmware. + Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235 config IWL100_FW bool "Intel 100 Firmware" default y help Download and install firmware for: - Intel 100 wireless card into /lib/firmware. + Intel Centrino Wireless-N 100 + + config IWL2000_FW + bool "Intel 2000 Firmware" + default y + help + Download and install firmware for: + Intel Centrino Wireless-N 2200 + + config IWL2030_FW + bool "Intel 2030 Firmware" + default y + help + Download and install firmware for: + Intel Centrino Wireless-N 2230 + + config IWL105_FW + bool "Intel 105 Firmware" + default y + help + Download and install firmware for: + Intel Centrino Wireless-N 105 - endmenu + config IWL135_FW + bool "Intel 135 Firmware" + default y + help + Download and install firmware for: + Intel Centrino Wireless-N 135 + endif endef define KernelPackage/iwl-legacy @@ -710,7 +744,7 @@ define KernelPackage/iwl-legacy DEPENDS:= +kmod-mac80211 @PCI_SUPPORT TITLE:=Intel legacy Wireless support FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko - AUTOLOAD:=$(call AutoLoad,60,iwl-legacy) + AUTOLOAD:=$(call AutoLoad,60,iwlegacy) endef define KernelPackage/iwl-legacy/description @@ -731,7 +765,7 @@ endef define KernelPackage/iwl4965 $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy + DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT TITLE:=Intel iwl4965 Wireless support FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko AUTOLOAD:=$(call AutoLoad,61,iwl4965) @@ -746,7 +780,7 @@ define KernelPackage/mwl8k $(call KernelPackage/mac80211/Default) TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k - DEPENDS+= @PCI_SUPPORT +kmod-mac80211 + DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko AUTOLOAD:=$(call AutoLoad,27,mwl8k) endef @@ -822,35 +856,6 @@ PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/ PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3 -ifeq ($(CONFIG_B43_OPENFIRMWARE),y) - PKG_B43_FWCUTTER_NAME:=b43-fwcutter - PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417 - PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2 - PKG_B43_FWCUTTER_PROTO:=git - PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git - PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION) - PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/ -else - PKG_B43_FWCUTTER_NAME:=b43-fwcutter - PKG_B43_FWCUTTER_VERSION:=015 - PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2 - PKG_B43_FWCUTTER_PROTO:=default - PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/ - PKG_B43_FWCUTTER_MD5SUM:=628e030565222a107bc40300313cbe76 - PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION) - PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/ -endif - -define Download/b43-common - FILE:=$(PKG_B43_FWCUTTER_SOURCE) - URL:=$(PKG_B43_FWCUTTER_SOURCE_URL) - MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM) - PROTO:=$(PKG_B43_FWCUTTER_PROTO) - VERSION:=$(PKG_B43_FWCUTTER_VERSION) - SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR) -endef -$(eval $(call Download,b43-common)) - define Download/b43 FILE:=$(PKG_B43_FWV4_SOURCE) URL:=$(PKG_B43_FWV4_SOURCE_URL) @@ -865,27 +870,21 @@ define Download/b43legacy endef $(eval $(call Download,b43legacy)) -define KernelPackage/b43-common + +define KernelPackage/b43 $(call KernelPackage/mac80211/Default) - TITLE:=Generic stuff for Broadcom wireless devices + TITLE:=Broadcom 43xx wireless support URL:=http://linuxwireless.org/en/users/Drivers/b43 KCONFIG:= \ CONFIG_HW_RANDOM=y - DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb -endef - -define KernelPackage/b43 -$(call KernelPackage/b43-common) - DEPENDS+= +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma - TITLE:=Broadcom 43xx wireless support + DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko AUTOLOAD:=$(call AutoLoad,30,b43) MENU:=1 endef define KernelPackage/b43/config - menu "Configuration" - depends on PACKAGE_kmod-b43 + if PACKAGE_kmod-b43 choice prompt "b43 firmware version" @@ -917,7 +916,7 @@ define KernelPackage/b43/config This firmware is mostly untested. It is needed for some N-PHY devices. If unsure, select the "stable" firmware. - + config B43_FW_5_100_138 bool "Firmware 666.2 from driver 5.100.138 (stable)" help @@ -956,7 +955,7 @@ define KernelPackage/b43/config config B43_FW_SQUASH_COREREVS string "Core revisions to include" depends on B43_FW_SQUASH - default "5,6,7,8,9,10,11,13,14,15,16" + default "5,6,7,8,9,10,11,13,15,16,29" help This is a comma seperated list of core revision numbers. @@ -969,7 +968,7 @@ define KernelPackage/b43/config config B43_FW_SQUASH_PHYTYPES string "PHY types to include" depends on B43_FW_SQUASH - default "G,LP,N" + default "G,LP,N,HT" help This is a comma seperated list of PHY types: A => A-PHY @@ -977,6 +976,8 @@ define KernelPackage/b43/config G => G-PHY LP => LP-PHY N => N-PHY + HT => HT-PHY + LCN => LCN-PHY Example (keep files for G-PHY only): G @@ -1006,7 +1007,9 @@ define KernelPackage/b43/config bool "Enable support for N-PHYs" default y help - Enable support for BCM4321 and BCM4322. + Enable support for N-PHY. This includes support for the following devices: + PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225 + SoC: BCM4716, BCM4717, BCM4718 Currently only 11g speed is available. @@ -1014,11 +1017,14 @@ define KernelPackage/b43/config config PACKAGE_B43_PHY_HT bool "Enable support for HT-PHYs" - default n + default y help - Currently broken. + Enable support for HT-PHY. This includes support for the following devices: + PCI: BCM4331 - If unsure, say N. + Currently only 11g speed is available. + + If unsure, say Y. config PACKAGE_B43_PHY_LCN bool "Enable support for LCN-PHYs" @@ -1029,7 +1035,7 @@ define KernelPackage/b43/config If unsure, say N. - endmenu + endif endef define KernelPackage/b43/description @@ -1037,16 +1043,19 @@ Kernel module for Broadcom 43xx wireless support (mac80211 stack) new endef define KernelPackage/b43legacy -$(call KernelPackage/b43-common) + $(call KernelPackage/mac80211/Default) TITLE:=Broadcom 43xx-legacy wireless support + URL:=http://linuxwireless.org/en/users/Drivers/b43 + KCONFIG:= \ + CONFIG_HW_RANDOM=y + DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko AUTOLOAD:=$(call AutoLoad,30,b43legacy) MENU:=1 endef define KernelPackage/b43legacy/config - menu "Configuration" - depends on PACKAGE_kmod-b43legacy + if PACKAGE_kmod-b43legacy config B43LEGACY_FW_SQUASH bool "Remove unnecessary firmware files" @@ -1071,7 +1080,7 @@ define KernelPackage/b43legacy/config Example (keep files for rev2 and rev4): 2,4 - endmenu + endif endef define KernelPackage/b43legacy/description @@ -1083,6 +1092,7 @@ define KernelPackage/brcmutil $(call KernelPackage/mac80211/Default) TITLE:=Broadcom IEEE802.11n common driver parts URL:=http://linuxwireless.org/en/users/Drivers/brcm80211 + DEPENDS+=@PCI_SUPPORT||USB_SUPPORT FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko AUTOLOAD:=$(call AutoLoad,30,brcmutil) MENU:=1 @@ -1093,17 +1103,30 @@ define KernelPackage/brcmutil/description endef define KernelPackage/brcmutil/config - menu "Configuration" - depends on PACKAGE_kmod-brcmutil + if PACKAGE_kmod-brcmutil config PACKAGE_BRCM80211_DEBUG bool "Broadcom wireless driver debugging" help Say Y, if you want to debug brcmsmac and brcmfmac wireless driver. - endmenu + endif 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 Download/brcmsmac + FILE:=$(PKG_BRCMSMAC_FW_SOURCE) + URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL) + MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM) +endef +$(eval $(call Download,brcmsmac)) + define KernelPackage/brcmsmac $(call KernelPackage/mac80211/Default) TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver @@ -1111,12 +1134,31 @@ define KernelPackage/brcmsmac 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 AUTOLOAD:=$(call AutoLoad,31,brcmsmac) + MENU:=1 endef define KernelPackage/brcmsmac/description Kernel module for Broadcom IEEE802.11n PCIe Wireless cards endef +define KernelPackage/brcmsmac/config + if 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. + + endif +endef + + define KernelPackage/brcmfmac $(call KernelPackage/mac80211/Default) TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver @@ -1130,192 +1172,141 @@ define KernelPackage/brcmfmac/description Kernel module for Broadcom IEEE802.11n USB Wireless cards endef -BUILDFLAGS:= \ - -I$(PKG_BUILD_DIR)/include \ - -DCONFIG_CFG80211_INTERNAL_REGDB=y \ - $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \ - $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \ - $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \ - -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \ - $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \ - $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \ - $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \ - $(if $(CONFIG_PACKAGE_MAC80211_MESH),-DCONFIG_MAC80211_MESH) \ - $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \ - -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \ - -DCONFIG_MAC80211_RC_MINSTREL_HT \ - $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \ - $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \ - $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \ - $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_BCMA_PIO) \ - $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \ - $(if $(CONFIG_PACKAGE_B43_PHY_HT),-DCONFIG_B43_PHY_HT) \ - $(if $(CONFIG_PACKAGE_B43_PHY_LCN),-DCONFIG_B43_PHY_LCN) \ - -DCONFIG_B43_BCMA -DCONFIG_B43_BCMA_EXTRA \ - -DCONFIG_B43_SSB \ - $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \ - $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \ - $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \ - $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \ - $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \ - $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \ - $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \ - $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \ - $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \ - $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2800USB_RT53XX) \ - $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \ - $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \ - $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \ - $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \ - $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \ - $(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG) \ - $(if $(CONFIG_PACKAGE_kmod-brcmfmac),-DCONFIG_BRCMFMAC_USB) - -MAKE_OPTS:= \ +config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m) + +config-y:= \ + WLAN \ + NL80211_TESTMODE \ + CFG80211_WEXT \ + CFG80211_INTERNAL_REGDB \ + MAC80211_RC_MINSTREL \ + MAC80211_RC_MINSTREL_HT \ + MAC80211_RC_DEFAULT_MINSTREL \ + +config-$(call config_package,cfg80211) += CFG80211 + +config-$(call config_package,mac80211) += MAC80211 +config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH +ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS + config-y += \ + CFG80211_DEBUGFS \ + MAC80211_DEBUGFS \ + ATH9K_DEBUGFS \ + ATH9K_HTC_DEBUGFS \ + CARL9170_DEBUGFS \ + ATH5K_DEBUG +endif + +config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP + +config-$(call config_package,ath) += ATH_CARDS ATH_COMMON +config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG + +config-$(call config_package,ath9k) += ATH9K +config-$(call config_package,ath9k-common) += ATH9K_COMMON +config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB +config-$(CONFIG_PCI) += ATH9K_PCI +config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD + +config-$(call config_package,ath9k-htc) += ATH9K_HTC + +config-$(call config_package,ath5k) += ATH5K +ifdef CONFIG_TARGET_atheros + config-y += ATH5K_AHB +else + config-y += ATH5K_PCI +endif + +config-$(call config_package,carl9170) += CARL9170 + +config-$(call config_package,b43) += B43 +config-y += B43_SSB B43_BCMA B43_BCMA_EXTRA +config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N +config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP +config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT +config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO +config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG + +config-$(call config_package,b43legacy) += B43LEGACY +config-y += B43LEGACY_DMA_MODE + +config-$(call config_package,brcmutil) += BRCMUTIL +config-$(call config_package,brcmsmac) += BRCMSMAC +config-$(call config_package,brcmfmac) += BRCMFMAC BRCMFMAC_USB +config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG + +config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM + +config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB +config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI +config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO +config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB +config-$(call config_package,rt2x00-soc) += RT2X00_LIB_SOC +config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS +config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG + +config-$(call config_package,rt2400-pci) += RT2400PCI +config-$(call config_package,rt2500-pci) += RT2500PCI +config-$(call config_package,rt2500-usb) += RT2500USB +config-$(call config_package,rt61-pci) += RT61PCI +config-$(call config_package,rt73-usb) += RT73USB + +config-$(call config_package,rt2800-lib) += RT2800_LIB +config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290 + +config-$(call config_package,rt2800-pci) += RT2800PCI +config-$(call config_package,rt2800-usb) += RT2800USB + +config-$(call config_package,iwl-legacy) += IWLEGACY +config-$(call config_package,iwl3945) += IWL3945 +config-$(call config_package,iwl4965) += IWL4965 +config-$(call config_package,iwlagn) += IWLWIFI + +config-$(call config_package,net-libipw) += LIBIPW +config-$(call config_package,net-ipw2100) += IPW2100 +config-$(call config_package,net-ipw2200) += IPW2200 + +config-$(call config_package,p54-common) += P54_COMMON +config-$(call config_package,p54-pci) += P54_PCI +config-$(call config_package,p54-usb) += P54_USB +config-$(call config_package,p54-spi) += P54_SPI + +config-$(call config_package,net-hermes) += HERMES +config-$(call config_package,net-hermes-pci) += PCI_HERMES +config-$(call config_package,net-hermes-plx) += PLX_HERMES +config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES +config-y += HERMES_PRISM + +config-$(call config_package,adm8211) += ADM8211 +config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO +config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB +config-$(call config_package,mwl8k) += MWL8K +config-$(call config_package,rtl8180) += RTL8180 +config-$(call config_package,rtl8187) += RTL8187 +config-$(call config_package,wl12xx) += WL_TI WLCORE WLCORE_SDIO WL12XX +config-$(call config_package,zd1211rw) += ZD1211RW + +config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS + +MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \ CROSS_COMPILE="$(KERNEL_CROSS)" \ ARCH="$(LINUX_KARCH)" \ - EXTRA_CFLAGS="$(BUILDFLAGS)" \ - $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \ - CONFIG_CFG80211_INTERNAL_REGDB=y \ - CONFIG_CFG80211=$(if $(CONFIG_PACKAGE_kmod-cfg80211),m) \ - CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \ - CONFIG_MAC80211_RC_MINSTREL=y \ - CONFIG_MAC80211_MESH=$(CONFIG_PACKAGE_MAC80211_MESH) \ - CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \ - CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \ - CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \ - CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \ - CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \ - CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \ - CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \ - CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \ - CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \ - CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \ - CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \ - CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \ - CONFIG_B43_BCMA_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \ - CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \ - CONFIG_B43_PHY_HT=$(if $(CONFIG_PACKAGE_B43_PHY_HT),y) \ - CONFIG_B43_PHY_LCN=$(if $(CONFIG_PACKAGE_B43_PHY_LCN),y) \ - CONFIG_B43_BCMA=y \ - CONFIG_B43_SSB=y \ - CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \ - CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \ - CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \ - CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \ - CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \ - CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \ - CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \ - CONFIG_ATH9K_PCI=$(CONFIG_PCI) \ - CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \ - CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \ - CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \ - CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \ - CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \ - CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ - CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \ - CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \ - CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \ - CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \ - CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \ - CONFIG_P54_SPI_DEFAULT_EEPROM=n \ - CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \ - CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \ - CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \ - CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \ - CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \ - CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \ - CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \ - CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \ - CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \ - CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \ - CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \ - CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \ - CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \ - CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \ - CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \ - CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \ - CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \ - CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \ - CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \ - CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \ - CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \ - CONFIG_RTL8192CE= \ - CONFIG_RTLWIFI= \ - CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \ - CONFIG_PCMCIA= \ - CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \ - CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \ - CONFIG_LIBERTAS_CS= \ - CONFIG_LIBERTAS_SPI= \ - CONFIG_COMPAT_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \ - CONFIG_LIBERTAS_THINFIRM= \ - CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \ - CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \ - CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \ - CONFIG_NL80211=y \ - CONFIG_LIB80211=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \ - CONFIG_LIB80211_CRYPT_WEP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \ - CONFIG_LIB80211_CRYPT_CCMP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \ - CONFIG_LIB80211_CRYPT_TKIP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \ - CONFIG_IWLWIFI=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \ - CONFIG_IWLEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \ - CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \ - CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \ - CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \ - CONFIG_ATMEL= \ - CONFIG_PCMCIA_ATMEL= \ - CONFIG_ADM8211= \ - CONFIG_USB_NET_RNDIS_HOST= \ - CONFIG_USB_NET_RNDIS_WLAN= \ - CONFIG_USB_NET_CDCETHER= \ - CONFIG_USB_USBNET= \ - CONFIG_AT76C50X_USB= \ - CONFIG_WL_TI=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \ - CONFIG_WLCORE=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \ - CONFIG_WL12XX=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \ - CONFIG_WLCORE_SDIO=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \ - CONFIG_EEPROM_93CX6= \ - CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \ - CONFIG_HERMES_CACHE_FW_ON_INIT= \ - CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \ - CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \ - CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \ - CONFIG_HERMES_PRISM= \ - CONFIG_APPLE_AIRPORT= \ - CONFIG_TMD_HERMES= \ - CONFIG_NORTEL_HERMES= \ - CONFIG_PCMCIA_SPECTRUM= \ - CONFIG_ORINOCO_USB= \ - CONFIG_IWM= \ - CONFIG_MWIFIEX= \ - CONFIG_ATH6KL= \ - CONFIG_MAC80211_RC_MINSTREL_HT=y \ - MADWIFI= \ - CONFIG_B44= \ - CONFIG_ATL1= \ - CONFIG_ATL2= \ - CONFIG_ATL1E= \ - CONFIG_ATL1C= \ - CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmutil),m) \ - CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \ - CONFIG_BRCMFMAC=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),m) \ - CONFIG_BRCMFMAC_USB=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),y) \ - CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \ + EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \ KLIB_BUILD="$(LINUX_DIR)" \ MODPROBE=true \ KLIB=$(TARGET_MODULES_DIR) \ KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \ KBUILD_LDFLAGS_MODULE_PREREQ= -ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),) - MAKE_OPTS += CONFIG_COMPAT_KFIFO= -endif +define ConfigVars +$(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1) +)) +endef + +define mac80211_config +$(call ConfigVars,m)$(call ConfigVars,y) +endef +$(eval $(call shexport,mac80211_config)) define Build/Prepare rm -rf $(PKG_BUILD_DIR) @@ -1326,10 +1317,19 @@ define Build/Prepare $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE) - rm -rf $(PKG_BUILD_DIR)/include/linux/ssb - rm -rf $(PKG_BUILD_DIR)/include/linux/bcma - rm -f $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h - rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h + rm -rf \ + $(PKG_BUILD_DIR)/include/linux/ssb \ + $(PKG_BUILD_DIR)/include/linux/bcma \ + $(PKG_BUILD_DIR)/include/net/bluetooth + + rm -f \ + $(PKG_BUILD_DIR)/include/linux/cordic.h \ + $(PKG_BUILD_DIR)/include/linux/crc8.h \ + $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \ + $(PKG_BUILD_DIR)/include/linux/wl12xx.h \ + $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \ + $(PKG_BUILD_DIR)/include/net/ieee80211.h + echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt endef @@ -1337,10 +1337,18 @@ endef ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),) define Build/Compile/kmod rm -rf $(PKG_BUILD_DIR)/modules - $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) modules + +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules endef endif +define Build/Configure + cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h + cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h + cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h + $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config + $(MAKE) $(MAKE_OPTS) allnoconfig +endef + define Build/Compile $(call Build/Compile/kmod) endef @@ -1348,20 +1356,21 @@ endef define Build/InstallDev mkdir -p \ $(1)/usr/include/mac80211 \ + $(1)/usr/include/mac80211-backport \ $(1)/usr/include/mac80211/ath \ $(1)/usr/include/net/mac80211 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/ + $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/ $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/ $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/ endef define KernelPackage/libertas-usb/install - $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DIR) $(1)/lib/firmware/libertas $(INSTALL_DATA) \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \ - $(1)/lib/firmware/ + $(1)/lib/firmware/libertas/ endef define KernelPackage/libertas-sd/install @@ -1371,8 +1380,6 @@ define KernelPackage/libertas-sd/install $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \ $(1)/lib/firmware/libertas @@ -1414,7 +1421,10 @@ endef define KernelPackage/rt2800-pci/install $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/ + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \ + $(1)/lib/firmware endef define KernelPackage/rt2800-usb/install @@ -1425,9 +1435,9 @@ endef define KernelPackage/wl12xx/install $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-mr.bin \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-plt.bin \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-sr.bin \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \ $(1)/lib/firmware/ti-connectivity endef @@ -1449,7 +1459,7 @@ endef define KernelPackage/mwl8k/install $(INSTALL_DIR) $(1)/lib/firmware/mwl8k $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \ + $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \ @@ -1468,7 +1478,7 @@ define KernelPackage/net-ipw2200/install endef define KernelPackage/iwlagn/install - $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DIR) $(1)/lib/firmware ifneq ($(CONFIG_IWL5000_FW),) $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware endif @@ -1485,45 +1495,40 @@ ifneq ($(CONFIG_IWL6050_FW),) $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware endif ifneq ($(CONFIG_IWL6005_FW),) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware endif ifneq ($(CONFIG_IWL6030_FW),) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware endif ifneq ($(CONFIG_IWL100_FW),) $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware endif +ifneq ($(CONFIG_IWL2000_FW),) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware +endif +ifneq ($(CONFIG_IWL2030_FW),) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware +endif +ifneq ($(CONFIG_IWL105_FW),) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware +endif +ifneq ($(CONFIG_IWL135_FW),) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware +endif endef define KernelPackage/iwl3945/install - $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware endef define KernelPackage/iwl4965/install - $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware endef -define Build/b43-common - tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)" - patch -p1 -d "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" < ./files/b43-fwcutter-fw-dirname.patch - $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \ - CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \ - QUIET_SPARSE=: - $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/ -ifeq ($(CONFIG_B43_OPENFIRMWARE),y) - $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/ - $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/" - $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/ -endif - $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/ -endef - define KernelPackage/b43/install rm -rf $(1)/lib/firmware/ - $(call Build/b43-common) ifeq ($(CONFIG_B43_OPENFIRMWARE),y) tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)" else @@ -1545,9 +1550,7 @@ endif endef define KernelPackage/b43legacy/install - $(call Build/b43-common) $(INSTALL_DIR) $(1)/lib/firmware/ - b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE) ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),) b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy" @@ -1556,10 +1559,15 @@ endef define KernelPackage/brcmsmac/install $(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) \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \ $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \ $(1)/lib/firmware/brcm/ +endif endef define KernelPackage/brcmfmac/install @@ -1569,6 +1577,7 @@ define KernelPackage/brcmfmac/install $(1)/lib/firmware/brcm/ endef +$(eval $(call KernelPackage,adm8211)) $(eval $(call KernelPackage,ath5k)) $(eval $(call KernelPackage,lib80211)) $(eval $(call KernelPackage,libertas-usb)) @@ -1580,6 +1589,7 @@ $(eval $(call KernelPackage,p54-pci)) $(eval $(call KernelPackage,p54-usb)) $(eval $(call KernelPackage,p54-spi)) $(eval $(call KernelPackage,rt2x00-lib)) +$(eval $(call KernelPackage,rt2x00-mmio)) $(eval $(call KernelPackage,rt2x00-pci)) $(eval $(call KernelPackage,rt2x00-usb)) $(eval $(call KernelPackage,rt2x00-soc))