0005-ath10k-add-Candelatech-community-firmware-as-an-additional-choice.patch 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. From: Matthias Schiffer <mschiffer@universe-factory.net>
  2. Date: Tue, 10 Mar 2015 13:17:14 +0100
  3. Subject: ath10k: add Candelatech community firmware as an additional choice
  4. diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
  5. index a1eedce..1c0aebe 100644
  6. --- a/package/kernel/mac80211/Makefile
  7. +++ b/package/kernel/mac80211/Makefile
  8. @@ -604,6 +604,14 @@ This module adds support for wireless adapters based on
  9. Atheros USB AR9271 and AR7010 family of chipsets.
  10. endef
  11. +ATH10K_CT_COMMUNITY_FW:=firmware-2-ct-full-community-14.bin
  12. +define Download/ath10k-firmware-ct-community
  13. + FILE:=$(ATH10K_CT_COMMUNITY_FW)
  14. + URL:=http://www.candelatech.com/downloads/
  15. + MD5SUM:=800799459c20c1683138c74b3ba58f25
  16. +endef
  17. +$(eval $(call Download,ath10k-firmware-ct-community))
  18. +
  19. define KernelPackage/ath10k
  20. $(call KernelPackage/mac80211/Default)
  21. TITLE:=Atheros 802.11ac wireless cards support
  22. @@ -624,21 +632,37 @@ endef
  23. define KernelPackage/ath10k/config
  24. if PACKAGE_kmod-ath10k
  25. + choice
  26. + prompt "ath10k firmware flavour"
  27. + default ATH10K_AP_FW
  28. + help
  29. + This option allows you to choose between different ath10k firmwares.
  30. +
  31. + config ATH10K_AP_FW
  32. + bool "Firmware optimized for AP operation"
  33. + help
  34. + Use the ath10k firmware optimized for access point operation.
  35. + Supports only AP mode, will crash in IBSS (ad-hoc) mode.
  36. +
  37. config ATH10K_STA_FW
  38. bool "Firmware optimized for STA operation"
  39. - default n
  40. help
  41. Use the ath10k firmware optimized for wireless client instead
  42. - of access point operation.
  43. + of access point operation. Might be unstable in AP mode.
  44. +
  45. + config ATH10K_CT_COMMUNITY_FW
  46. + bool "Firmware by Candela Technologies (community version)"
  47. + help
  48. + Supports both AP and IBSS (ad-hoc) mode. Doesn't support
  49. + encryption when using multiple VIFs.
  50. config ATH10K_API2_FW
  51. bool "Firmware optimized for AP operation (v10.1 / API v2)"
  52. - default n
  53. - depends on !ATH10K_STA_FW
  54. help
  55. Use the ath10k firmware from the 10.1 SDK using API v2 optimized
  56. for access point operation if the default firmware keeps crashing.
  57. + endchoice
  58. endif
  59. endef
  60. @@ -1866,18 +1890,25 @@ define KernelPackage/ath10k/install
  61. $(INSTALL_DATA) \
  62. $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
  63. $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
  64. +ifeq ($(CONFIG_ATH10K_AP_FW),y)
  65. + $(INSTALL_DATA) \
  66. + $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/firmware-4.bin_10.2.4.45 \
  67. + $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin
  68. +endif
  69. ifeq ($(CONFIG_ATH10K_STA_FW),y)
  70. $(INSTALL_DATA) \
  71. $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/main/firmware-2.bin_999.999.0.636 \
  72. $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
  73. -else ifeq ($(CONFIG_ATH10K_API2_FW),y)
  74. +endif
  75. +ifeq ($(CONFIG_ATH10K_API2_FW),y)
  76. $(INSTALL_DATA) \
  77. $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.1/firmware-2.bin_10.1.467.2-1 \
  78. $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
  79. -else
  80. +endif
  81. +ifeq ($(CONFIG_ATH10K_CT_COMMUNITY_FW),y)
  82. $(INSTALL_DATA) \
  83. - $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/10.2.4/firmware-4.bin_10.2.4.45 \
  84. - $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-4.bin
  85. + $(DL_DIR)/$(ATH10K_CT_COMMUNITY_FW) \
  86. + $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
  87. endif
  88. endef