ath10k: make title for the old firmware config option more meaningful
[openwrt/openwrt.git] / package / kernel / mac80211 / Makefile
index 11c8bcfa1ae3be68cdeb740648749165ecd6033d..28c27ab7ed957bf5c0e5cb32cce0f9e6da07cb7f 100644 (file)
@@ -10,11 +10,11 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=2015-03-09
-PKG_RELEASE:=3
+PKG_VERSION:=2015-07-21
+PKG_RELEASE:=1
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 PKG_BACKPORT_VERSION:=
-PKG_MD5SUM:=6d4b04e4ce8a1f54dabfb04f4709453c
+PKG_MD5SUM:=ec529acfb9c942daf8116e5cff47c999
 
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
@@ -31,7 +31,7 @@ PKG_DRIVERS = \
        mwl8k mwifiex-pcie net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
        iwl-legacy iwl3945 iwl4965 iwlagn wlcore wl12xx wl18xx lib80211 \
        rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
-       rtl8192de rtl8192cu
+       rtl8192de rtl8192cu mt7601u
 
 PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_kmod-mac80211 \
@@ -60,7 +60,6 @@ define KernelPackage/mac80211/Default
   SUBMENU:=$(WMENU)
   URL:=https://wireless.wiki.kernel.org/
   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
-  DEPENDS:=@!TARGET_uml
 endef
 
 define KernelPackage/cfg80211
@@ -79,7 +78,7 @@ endef
 define KernelPackage/mac80211
   $(call KernelPackage/mac80211/Default)
   TITLE:=Linux 802.11 Wireless Networking Stack
-  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211 +hostapd-common
+  DEPENDS+= +kmod-cfg80211 +hostapd-common
   KCONFIG:=\
        CONFIG_AVERAGE=y
   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
@@ -109,8 +108,8 @@ Generic IEEE 802.11 Networking Stack (mac80211)
 endef
 
 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
-PKG_LINUX_FIRMWARE_VERSION:=f404336ba808cbd57547196e13367079a23b822c
-PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-2015-03-20-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
+PKG_LINUX_FIRMWARE_VERSION:=6ebf5d57d9f6d0cf05558baef1af2b90a3fe98ed
+PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-2015-09-03-$(PKG_LINUX_FIRMWARE_VERSION).tar.xz
 PKG_LINUX_FIRMWARE_PROTO:=git
 PKG_LINUX_FIRMWARE_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
@@ -128,7 +127,7 @@ endef
 $(eval $(call Download,linux-firmware))
 
 PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
-PKG_ATH10K_LINUX_FIRMWARE_VERSION:=da0f85d924226ee30c46e037120621c9e192b39e
+PKG_ATH10K_LINUX_FIRMWARE_VERSION:=b46f3e01a6c1f9150fb4612ef53611d714565842
 PKG_ATH10K_LINUX_FIRMWARE_SOURCE:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION).tar.bz2
 PKG_ATH10K_LINUX_FIRMWARE_PROTO:=git
 PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git
@@ -516,7 +515,7 @@ define KernelPackage/ath/config
                bool "Atheros wireless debugging"
                help
                  Say Y, if you want to debug atheros wireless drivers.
-                 Right now only ath9k makes use of this.
+                 Only ath9k & ath10k make use of this.
 
        config PACKAGE_ATH_DFS
                bool "Enable DFS support"
@@ -624,12 +623,12 @@ endef
 define KernelPackage/ath10k/config
   if PACKAGE_kmod-ath10k
 
-       config ATH10K_STA_FW
-               bool "Firmware optimized for STA operation"
+       config ATH10K_API2_FW
+               bool "Use old AP mode firmware release (v10.1 / API v2)"
                default n
                help
-                 Use the ath10k firmware optimized for wireless client instead
-                 of access point operation.
+                 Use the ath10k firmware from the 10.1 SDK using API v2 optimized
+                 for access point operation if the default firmware keeps crashing.
 
   endif
 endef
@@ -696,10 +695,31 @@ define KernelPackage/mac80211-hwsim
   AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
 endef
 
+PKG_MT7601U_FW_NAME:=DPO_MT7601U_LinuxSTA
+PKG_MT7601U_FW_VERSION:=3.0.0.4_20130913
+PKG_MT7601U_FW_MD5SUM:=5f440dccc8bc952745a191994fc34699
+PKG_MT7601U_FW_SOURCE:=$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION).tar.bz2
+PKG_MT7601U_FW_SOURCE_URL:=http://www.mediatek.com/AmazonS3/Downloads/linux/
+define Download/mt7601u-firmware
+  FILE:=$(PKG_MT7601U_FW_SOURCE)
+  URL:=$(PKG_MT7601U_FW_SOURCE_URL)
+  MD5SUM:=$(PKG_MT7601U_FW_MD5SUM)
+  SUBDIR:=$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION)
+endef
+$(eval $(call Download,mt7601u-firmware))
+
+define KernelPackage/mt7601u
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=MT7601U-based USB dongles Wireless Driver
+  DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core
+  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
+  AUTOLOAD:=$(call AutoProbe,mt7601)
+endef
+
 define KernelPackage/net-libipw
   $(call KernelPackage/mac80211/Default)
   TITLE:=libipw for ipw2100 and ipw2200
-  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
   AUTOLOAD:=$(call AutoProbe,libipw)
 endef
@@ -811,31 +831,74 @@ define KernelPackage/iwlagn
   TITLE:=Intel AGN Wireless support
   FILES:= \
        $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko \
-       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
-  AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm)
+       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/mvm/iwlmvm.ko
+  AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
   MENU:=1
 endef
 
 define KernelPackage/iwlagn/description
- iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
+ iwlagn kernel module for
+ Intel Wireless WiFi Link 6250AGN Adapter
+ Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
+ Intel WiFi Link 1000BGN
+ Intel Wireless WiFi 5150AGN
+ Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
+ Intel 6005 Series Wi-Fi Adapters
+ Intel 6030 Series Wi-Fi Adapters
+ Intel Wireless WiFi Link 6150BGN 2 Adapter
+ Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
+ Intel 2000 Series Wi-Fi Adapters
+ Intel 7260 Wi-Fi Adapter
+ Intel 3160 Wi-Fi Adapter
+ Intel 7265 Wi-Fi Adapter
+ Intel 8260 Wi-Fi Adapter
+ Intel 3165 Wi-Fi Adapter
 endef
 
 define KernelPackage/iwlagn/config
   if PACKAGE_kmod-iwlagn
 
-       config IWL5000_FW
-               bool "Intel 5000 Firmware"
-               default y
+       config PACKAGE_IWLWIFI_DEBUG
+               bool "Enable full debugging output in the iwlagn driver"
+               default n
                help
-                 Download and install firmware for:
-                   Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
+                 This option will enable debug tracing output for the iwlwifi drivers
 
-       config IWL5150_FW
-               bool "Intel 5150 Firmware"
+                 This will result in the kernel module being ~100k larger.  You can
+                 control which debug output is sent to the kernel log by setting the
+                 value in
+
+                       /sys/module/iwlwifi/parameters/debug
+
+                 This entry will only exist if this option is enabled.
+
+                 To set a value, simply echo an 8-byte hex value to the same file:
+
+                         % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
+
+                 You can find the list of debug mask values in:
+                         drivers/net/wireless/iwlwifi/iwl-debug.h
+
+                 If this is your first time using this driver, you should say Y here
+                 as the debug information can assist others in helping you resolve
+                 any problems you may encounter.
+
+       config PACKAGE_IWLWIFI_DEBUGFS
+               bool "iwlwifi debugfs support"
+               depends on PACKAGE_MAC80211_DEBUGFS
+               default n
+               help
+                 Enable creation of debugfs files for the iwlwifi drivers. This
+                 is a low-impact option that allows getting insight into the
+                 driver's state at runtime.
+
+       config IWL100_FW
+               bool "Intel 100 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Wireless WiFi 5150AGN
+                   Intel Centrino Wireless-N 100
 
        config IWL1000_FW
                bool "Intel 1000 Firmware"
@@ -844,89 +907,104 @@ define KernelPackage/iwlagn/config
                  Download and install firmware for:
                    Intel Centrino Wireless-N 1000
 
-       config IWL6000_FW
-               bool "Intel 6000 Firmware"
+       config IWL105_FW
+               bool "Intel 105 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Ultimate-N 6300 and Advanced-N 6200
+                   Intel Centrino Wireless-N 105
 
-       config IWL6050_FW
-               bool "Intel 6050 Firmware"
+       config IWL135_FW
+               bool "Intel 135 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
+                   Intel Centrino Wireless-N 135
 
-       config IWL6005_FW
-               bool "Intel 6005 Firmware"
+       config IWL2000_FW
+               bool "Intel 2000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N 6205
+                   Intel Centrino Wireless-N 2200
 
-       config IWL6030_FW
-               bool "Intel 6030 Firmware"
+       config IWL2030_FW
+               bool "Intel 2030 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
+                   Intel Centrino Wireless-N 2230
 
-       config IWL7260_FW
-               bool "Intel 7260 Firmware"
+       config IWL3160_FW
+               bool "Intel 3160 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Dual Band Wireless-N 7260 and Intel Dual Band Wireless-AC 7260
+                   Intel Wireless WiFi 3160
 
-       config IWL7265_FW
-               bool "Intel 7265 Firmware"
+       config IWL5000_FW
+               bool "Intel 5000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Wireless 7265
+                   Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
 
-       config IWL100_FW
-               bool "Intel 100 Firmware"
+       config IWL5150_FW
+               bool "Intel 5150 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 100
+                   Intel Wireless WiFi 5150AGN
 
-       config IWL2000_FW
-               bool "Intel 2000 Firmware"
+       config IWL6000_FW
+               bool "Intel 6000 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 2200
+                   Intel Centrino Ultimate-N 6300 and Advanced-N 6200
 
-       config IWL2030_FW
-               bool "Intel 2030 Firmware"
+       config IWL6005_FW
+               bool "Intel 6005 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 2230
+                   Intel Centrino Advanced-N 6205
 
-       config IWL105_FW
-               bool "Intel 105 Firmware"
+       config IWL6030_FW
+               bool "Intel 6030 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 105
+                   Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
 
-       config IWL135_FW
-               bool "Intel 135 Firmware"
+       config IWL6050_FW
+               bool "Intel 6050 Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Centrino Wireless-N 135
+                   Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
 
-       config IWL3160_FW
-               bool "Intel 3160 Firmware"
+       config IWL7260_FW
+               bool "Intel 7260 Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Dual Band Wireless-N 7260 and Intel Dual Band Wireless-AC 7260
+
+       config IWL7265_FW
+               bool "Intel 7265 Firmware"
+               default y
+               help
+                 Download and install firmware for:
+                   Intel Wireless 7265, 7265D, 3165
+
+       config IWL8000_FW
+               bool "Intel 8000 Series Firmware"
                default y
                help
                  Download and install firmware for:
-                   Intel Wireless 3160
+                   Intel Wireless Series 8260, 4165
+
   endif
 endef
 
@@ -1140,7 +1218,7 @@ config PACKAGE_B43_USE_SSB
 config PACKAGE_B43_USE_BCMA
        select PACKAGE_kmod-bcma
        tristate
-       depends on !TARGET_brcm47xx
+       depends on !TARGET_brcm47xx && !TARGET_bcm53xx
        default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
        default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
 
@@ -1235,9 +1313,9 @@ config PACKAGE_B43_USE_BCMA
        config B43_FW_SQUASH_PHYTYPES
                string "PHY types to include"
                depends on B43_FW_SQUASH
-               default "G,LP" if TARGET_brcm47xx_legacy
+               default "G,N,LP" if TARGET_brcm47xx_legacy
                default "N,HT" if TARGET_brcm47xx_mips74k
-               default "G,LP,N,HT"
+               default "G,N,LP,HT"
                help
                  This is a comma seperated list of PHY types:
                    A  => A-PHY
@@ -1263,7 +1341,7 @@ config PACKAGE_B43_USE_BCMA
                  This allows choosing buses that b43 should support.
 
        config PACKAGE_B43_BUSES_BCMA_AND_SSB
-               depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k
+               depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
                bool "BCMA and SSB"
 
        config PACKAGE_B43_BUSES_BCMA
@@ -1271,7 +1349,7 @@ config PACKAGE_B43_USE_BCMA
                bool "BCMA only"
 
        config PACKAGE_B43_BUSES_SSB
-               depends on !TARGET_brcm47xx_mips74k
+               depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
                bool "SSB only"
 
        endchoice
@@ -1307,7 +1385,6 @@ config PACKAGE_B43_USE_BCMA
 
        config PACKAGE_B43_PHY_N
                bool "Enable support for N-PHYs"
-               default n if TARGET_brcm47xx_legacy
                default y
                help
                  Enable support for N-PHY. This includes support for the following devices:
@@ -1595,6 +1672,8 @@ config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
 
 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
+config-$(call config_package,mt7601u) += MT7601U
+config-y += WL_MEDIATEK
 
 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
@@ -1616,12 +1695,14 @@ config-$(call config_package,rt2800-pci) += RT2800PCI
 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
 
 config-$(call config_package,rt2800-usb) += RT2800USB
-config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
+config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
 
 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 IWLDVM
+config-$(call config_package,iwlagn) += IWLWIFI IWLDVM IWLMVM
+config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
+config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
 
 config-$(call config_package,net-libipw) += LIBIPW
 config-$(call config_package,net-ipw2100) += IPW2100
@@ -1695,8 +1776,9 @@ define Build/Prepare
        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
        $(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)
+       $(TAR) -C $(PKG_BUILD_DIR) -xJf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
+       $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_MT7601U_FW_SOURCE)
        rm -rf \
                $(PKG_BUILD_DIR)/include/linux/ssb \
                $(PKG_BUILD_DIR)/include/linux/bcma \
@@ -1831,8 +1913,7 @@ endef
 define KernelPackage/wl18xx/install
        $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-conf.bin \
-               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-3.bin \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-4.bin \
                $(1)/lib/firmware/ti-connectivity
 endef
 
@@ -1859,17 +1940,24 @@ define KernelPackage/ath10k/install
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
-ifeq ($(CONFIG_ATH10K_STA_FW),y)
+ifeq ($(CONFIG_ATH10K_API2_FW),y)
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.1/firmware-2.bin_10.1.467.2-1 \
                $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
 else
        $(INSTALL_DATA) \
-               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/firmware-4.bin_10.2.4.45 \
-               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin
+               $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/untested/firmware-5.bin_10.2.4.70-2 \
+               $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
 endif
 endef
 
+define KernelPackage/mt7601u/install
+       $(INSTALL_DIR) $(1)/lib/firmware
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_MT7601U_FW_NAME)_$(PKG_MT7601U_FW_VERSION)/mcu/bin/MT7601.bin \
+               $(1)/lib/firmware/mt7601u.bin
+endef
+
 define KernelPackage/mwl8k/install
        $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
        $(INSTALL_DATA) \
@@ -1900,50 +1988,54 @@ endef
 
 define KernelPackage/iwlagn/install
        $(INSTALL_DIR) $(1)/lib/firmware
+ifneq ($(CONFIG_IWL100_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
+endif
+ifneq ($(CONFIG_IWL1000_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.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
+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_IWL3160_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3160-13.ucode $(1)/lib/firmware
+endif
 ifneq ($(CONFIG_IWL5000_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
 endif
 ifneq ($(CONFIG_IWL5150_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
 endif
-ifneq ($(CONFIG_IWL1000_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
-endif
 ifneq ($(CONFIG_IWL6000_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
 endif
-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-6.ucode $(1)/lib/firmware
 endif
 ifneq ($(CONFIG_IWL6030_FW),)
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
 endif
+ifneq ($(CONFIG_IWL6050_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
+endif
 ifneq ($(CONFIG_IWL7260_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-9.ucode $(1)/lib/firmware
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-13.ucode $(1)/lib/firmware
 endif
 ifneq ($(CONFIG_IWL7265_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265-9.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
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265-13.ucode $(1)/lib/firmware
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265D-13.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
-ifneq ($(CONFIG_IWL3160_FW),)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3160-9.ucode $(1)/lib/firmware
+ifneq ($(CONFIG_IWL8000_FW),)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-8000C-13.ucode $(1)/lib/firmware
 endif
 endef
 
@@ -2054,6 +2146,7 @@ $(eval $(call KernelPackage,rtl8192de))
 $(eval $(call KernelPackage,rtl8192cu))
 $(eval $(call KernelPackage,zd1211rw))
 $(eval $(call KernelPackage,mac80211-hwsim))
+$(eval $(call KernelPackage,mt7601u))
 $(eval $(call KernelPackage,ath9k-common))
 $(eval $(call KernelPackage,ath9k))
 $(eval $(call KernelPackage,ath9k-htc))