Makefile 66 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012
  1. #
  2. # Copyright (C) 2007-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/kernel.mk
  9. PKG_NAME:=mac80211
  10. PKG_VERSION:=v4.18.5
  11. PKG_RELEASE:=1
  12. PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
  13. PKG_HASH:=9c13660e98b9397260266f98c9db76bdad2b48462cb376b5862dfbd18369edf2
  14. PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
  15. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
  16. PKG_BUILD_PARALLEL:=1
  17. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  18. PKG_DRIVERS = \
  19. adm8211 \
  20. airo \
  21. ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k \
  22. b43 b43legacy \
  23. carl9170 \
  24. hermes hermes-pci hermes-pcmcia hermes-plx\
  25. iwl-legacy iwl3945 iwl4965 iwlwifi \
  26. lib80211 \
  27. libipw ipw2100 ipw2200 \
  28. libertas-sdio libertas-usb libertas-spi \
  29. mac80211-hwsim \
  30. mt7601u \
  31. mwl8k mwifiex-pcie mwifiex-sdio \
  32. p54-common p54-pci p54-spi p54-usb \
  33. rsi91x rsi91x-usb rsi91x-sdio\
  34. rt2x00-lib rt2x00-pci rt2x00-usb \
  35. rt2400-pci rt2500-pci rt2500-usb \
  36. rt2800-lib rt2800-mmio rt2800-pci rt2800-soc rt2800-usb \
  37. rt61-pci rt73-usb \
  38. rtl8180 rtl8187 \
  39. rtlwifi rtlwifi-pci rtlwifi-btcoexist rtlwifi-usb rtl8192c-common \
  40. rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8821ae \
  41. rtl8xxxu \
  42. wlcore wl12xx wl18xx \
  43. zd1211rw
  44. PKG_CONFIG_DEPENDS:= \
  45. CONFIG_PACKAGE_kmod-mac80211 \
  46. $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
  47. CONFIG_PACKAGE_MAC80211_DEBUGFS \
  48. CONFIG_PACKAGE_MAC80211_MESH \
  49. CONFIG_PACKAGE_MAC80211_TRACING \
  50. CONFIG_PACKAGE_ATH_DEBUG \
  51. CONFIG_PACKAGE_ATH_DFS \
  52. CONFIG_PACKAGE_ATH_SPECTRAL \
  53. CONFIG_PACKAGE_ATH_DYNACK \
  54. CONFIG_PACKAGE_B43_DEBUG \
  55. CONFIG_PACKAGE_B43_PIO \
  56. CONFIG_PACKAGE_B43_PHY_G \
  57. CONFIG_PACKAGE_B43_PHY_N \
  58. CONFIG_PACKAGE_B43_PHY_LP \
  59. CONFIG_PACKAGE_B43_PHY_HT \
  60. CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
  61. CONFIG_PACKAGE_B43_BUSES_BCMA \
  62. CONFIG_PACKAGE_B43_BUSES_SSB \
  63. CONFIG_PACKAGE_BRCM80211_DEBUG \
  64. CONFIG_PACKAGE_IWLWIFI_DEBUG \
  65. CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
  66. CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS \
  67. CONFIG_PACKAGE_RT2X00_DEBUG \
  68. CONFIG_PACKAGE_RTLWIFI_DEBUG \
  69. CONFIG_ATH9K_SUPPORT_PCOEM \
  70. CONFIG_ATH9K_TX99 \
  71. CONFIG_ATH10K_LEDS \
  72. CONFIG_ATH10K_THERMAL \
  73. CONFIG_ATH_USER_REGD \
  74. include $(INCLUDE_DIR)/package.mk
  75. WMENU:=Wireless Drivers
  76. define KernelPackage/mac80211/Default
  77. SUBMENU:=$(WMENU)
  78. URL:=https://wireless.wiki.kernel.org/
  79. MAINTAINER:=Felix Fietkau <[email protected]>
  80. endef
  81. define KernelPackage/cfg80211
  82. $(call KernelPackage/mac80211/Default)
  83. TITLE:=cfg80211 - wireless configuration API
  84. DEPENDS+= +iw +wireless-regdb
  85. FILES:= \
  86. $(PKG_BUILD_DIR)/compat/compat.ko \
  87. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  88. endef
  89. define KernelPackage/cfg80211/description
  90. cfg80211 is the Linux wireless LAN (802.11) configuration API.
  91. endef
  92. define KernelPackage/mac80211
  93. $(call KernelPackage/mac80211/Default)
  94. TITLE:=Linux 802.11 Wireless Networking Stack
  95. # +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
  96. DEPENDS+= +kmod-cfg80211 +hostapd-common
  97. KCONFIG:=\
  98. CONFIG_AVERAGE=y
  99. FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
  100. MENU:=1
  101. endef
  102. define KernelPackage/mac80211/config
  103. if PACKAGE_kmod-mac80211
  104. config PACKAGE_MAC80211_DEBUGFS
  105. bool "Export mac80211 internals in DebugFS"
  106. select KERNEL_DEBUG_FS
  107. default y
  108. help
  109. Select this to see extensive information about
  110. the internal state of mac80211 in debugfs.
  111. config PACKAGE_MAC80211_TRACING
  112. bool "Enable tracing (mac80211 and supported drivers)"
  113. select KERNEL_FTRACE
  114. select KERNEL_ENABLE_DEFAULT_TRACERS
  115. default n
  116. help
  117. Select this to enable tracing of mac80211 and
  118. related wifi drivers (using trace-cmd).
  119. config PACKAGE_MAC80211_MESH
  120. bool "Enable 802.11s mesh support"
  121. default y
  122. endif
  123. endef
  124. define KernelPackage/mac80211/description
  125. Generic IEEE 802.11 Networking Stack (mac80211)
  126. endef
  127. define KernelPackage/adm8211
  128. $(call KernelPackage/mac80211/Default)
  129. TITLE:=ADMTek 8211 support
  130. DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
  131. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
  132. AUTOLOAD:=$(call AutoProbe,adm8211)
  133. endef
  134. define KernelPackage/airo
  135. $(call KernelPackage/mac80211/Default)
  136. TITLE:=Cisco Aironet driver
  137. DEPENDS+=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-cfg80211 @TARGET_x86
  138. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/cisco/airo.ko
  139. AUTOLOAD:=$(call AutoProbe,airo)
  140. endef
  141. define KernelPackage/airo/description
  142. Kernel support for Cisco Aironet cards
  143. endef
  144. define KernelPackage/ath/config
  145. if PACKAGE_kmod-ath
  146. config ATH_USER_REGD
  147. bool "Force Atheros drivers to respect the user's regdomain settings"
  148. default y
  149. help
  150. Atheros' idea of regulatory handling is that the EEPROM of the card defines
  151. the regulatory limits and the user is only allowed to restrict the settings
  152. even further, even if the country allows frequencies or power levels that
  153. are forbidden by the EEPROM settings.
  154. Select this option if you want the driver to respect the user's decision about
  155. regulatory settings.
  156. config PACKAGE_ATH_DEBUG
  157. bool "Atheros wireless debugging"
  158. help
  159. Say Y, if you want to debug atheros wireless drivers.
  160. Only ath9k & ath10k make use of this.
  161. config PACKAGE_ATH_DFS
  162. bool "Enable DFS support"
  163. default y
  164. help
  165. Dynamic frequency selection (DFS) is required for most of the 5 GHz band
  166. channels in Europe, US, and Japan.
  167. Select this option if you want to use such channels.
  168. config PACKAGE_ATH_SPECTRAL
  169. bool "Atheros spectral scan support"
  170. depends on PACKAGE_ATH_DEBUG
  171. select KERNEL_RELAY
  172. help
  173. Say Y to enable access to the FFT/spectral data via debugfs.
  174. config PACKAGE_ATH_DYNACK
  175. bool "Enable Dynack support"
  176. depends on PACKAGE_kmod-ath9k-common
  177. help
  178. Enables support for Dynamic ACK estimation, which allows the fastest possible speed
  179. at any distance automatically by increasing/decreasing the max frame ACK time for
  180. the most remote station detected. It can be enabled by using iw (iw phy0 set distance auto),
  181. or by sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink.
  182. Select this option if you want to enable this feature
  183. endif
  184. endef
  185. define KernelPackage/ath
  186. $(call KernelPackage/mac80211/Default)
  187. TITLE:=Atheros common driver part
  188. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath79||TARGET_ath25 +kmod-mac80211
  189. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
  190. MENU:=1
  191. endef
  192. define KernelPackage/ath/description
  193. This module contains some common parts needed by Atheros Wireless drivers.
  194. endef
  195. define KernelPackage/ath5k
  196. $(call KernelPackage/mac80211/Default)
  197. TITLE:=Atheros 5xxx wireless cards support
  198. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
  199. DEPENDS+= @PCI_SUPPORT||@TARGET_ath25 +kmod-ath +@DRIVER_11W_SUPPORT
  200. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
  201. AUTOLOAD:=$(call AutoProbe,ath5k)
  202. endef
  203. define KernelPackage/ath5k/description
  204. This module adds support for wireless adapters based on
  205. Atheros 5xxx chipset.
  206. endef
  207. define KernelPackage/ath6kl
  208. $(call KernelPackage/mac80211/Default)
  209. TITLE:=Atheros FullMAC wireless devices (common code for ath6kl_sdio and ath6kl_usb)
  210. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  211. HIDDEN:=1
  212. DEPENDS+= +kmod-ath +@DRIVER_11N_SUPPORT
  213. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
  214. endef
  215. define KernelPackage/ath6kl-sdio
  216. $(call KernelPackage/mac80211/Default)
  217. TITLE:=Atheros 802.11n SDIO wireless cards support
  218. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  219. DEPENDS+= +kmod-mmc +kmod-ath6kl
  220. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
  221. AUTOLOAD:=$(call AutoProbe,ath6kl_sdio)
  222. endef
  223. define KernelPackage/ath6kl-sdio/description
  224. This module adds support for wireless adapters based on
  225. Atheros IEEE 802.11n AR6003 and AR6004 family of chipsets.
  226. endef
  227. define KernelPackage/ath6kl-usb
  228. $(call KernelPackage/mac80211/Default)
  229. TITLE:=Atheros 802.11n USB wireless cards support
  230. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  231. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-ath6kl
  232. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
  233. AUTOLOAD:=$(call AutoProbe,ath6kl_usb)
  234. endef
  235. define KernelPackage/ath6kl-usb/description
  236. This module adds support for wireless adapters based on the
  237. Atheros IEEE 802.11n AR6004 chipset.
  238. endef
  239. define KernelPackage/ath9k-common
  240. $(call KernelPackage/mac80211/Default)
  241. TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
  242. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  243. HIDDEN:=1
  244. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath79 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
  245. FILES:= \
  246. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
  247. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
  248. endef
  249. define KernelPackage/ath9k
  250. $(call KernelPackage/mac80211/Default)
  251. TITLE:=Atheros 802.11n PCI wireless cards support
  252. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  253. DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx||TARGET_ath79 +kmod-ath9k-common
  254. FILES:= \
  255. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
  256. AUTOLOAD:=$(call AutoProbe,ath9k)
  257. endef
  258. define KernelPackage/ath9k/description
  259. This module adds support for wireless adapters based on
  260. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  261. endef
  262. define KernelPackage/ath9k/config
  263. config ATH9K_SUPPORT_PCOEM
  264. bool "Support chips used in PC OEM cards"
  265. depends on PACKAGE_kmod-ath9k
  266. config ATH9K_TX99
  267. bool "Enable TX99 support (WARNING: testing only, breaks normal operation!)"
  268. depends on PACKAGE_kmod-ath9k
  269. config ATH9K_UBNTHSR
  270. bool "Support for Ubiquiti UniFi Outdoor+ access point"
  271. depends on PACKAGE_kmod-ath9k && (TARGET_ar71xx_generic||TARGET_ath79)
  272. default y
  273. endef
  274. define KernelPackage/ath9k-htc
  275. $(call KernelPackage/mac80211/Default)
  276. TITLE:=Atheros 802.11n USB device support
  277. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  278. DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
  279. FILES:= \
  280. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
  281. AUTOLOAD:=$(call AutoProbe,ath9k_htc)
  282. endef
  283. define KernelPackage/ath9k-htc/description
  284. This module adds support for wireless adapters based on
  285. Atheros USB AR9271 and AR7010 family of chipsets.
  286. endef
  287. define KernelPackage/ath10k
  288. $(call KernelPackage/mac80211/Default)
  289. TITLE:=Atheros 802.11ac wireless cards support
  290. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
  291. DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT \
  292. +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
  293. FILES:= \
  294. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
  295. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
  296. AUTOLOAD:=$(call AutoProbe,ath10k_pci)
  297. endef
  298. define KernelPackage/ath10k/description
  299. This module adds support for wireless adapters based on
  300. Atheros IEEE 802.11ac family of chipsets. For now only
  301. PCI is supported.
  302. endef
  303. define KernelPackage/ath10k/config
  304. config ATH10K_LEDS
  305. bool "Enable LED support"
  306. default y
  307. depends on PACKAGE_kmod-ath10k
  308. config ATH10K_THERMAL
  309. bool "Enable thermal sensors and throttling support"
  310. depends on PACKAGE_kmod-ath10k
  311. endef
  312. #Broadcom firmware
  313. ifneq ($(CONFIG_B43_FW_6_30),)
  314. PKG_B43_FWV4_NAME:=broadcom-wl
  315. PKG_B43_FWV4_VERSION:=6.30.163.46
  316. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
  317. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  318. PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  319. PKG_B43_FWV4_HASH:=a07c3b6b277833c7dbe61daa511f908cd66c5e2763eb7a0859abc36cd9335c2d
  320. else
  321. ifneq ($(CONFIG_B43_FW_5_10),)
  322. PKG_B43_FWV4_NAME:=broadcom-wl
  323. PKG_B43_FWV4_VERSION:=5.10.56.27.3
  324. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
  325. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
  326. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  327. PKG_B43_FWV4_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
  328. else
  329. ifneq ($(CONFIG_B43_FW_4_178),)
  330. PKG_B43_FWV4_NAME:=broadcom-wl
  331. PKG_B43_FWV4_VERSION:=4.178.10.4
  332. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  333. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  334. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  335. PKG_B43_FWV4_HASH:=32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
  336. else
  337. ifneq ($(CONFIG_B43_FW_5_100_138),)
  338. PKG_B43_FWV4_NAME:=broadcom-wl
  339. PKG_B43_FWV4_VERSION:=5.100.138
  340. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  341. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  342. PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  343. PKG_B43_FWV4_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
  344. else
  345. PKG_B43_FWV4_NAME:=broadcom-wl
  346. PKG_B43_FWV4_VERSION:=4.150.10.5
  347. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  348. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  349. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  350. PKG_B43_FWV4_HASH:=a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
  351. endif
  352. endif
  353. endif
  354. endif
  355. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  356. PKG_B43_FWV4_NAME:=broadcom-wl
  357. PKG_B43_FWV4_VERSION:=5.2
  358. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  359. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  360. PKG_B43_FWV4_SOURCE_URL:=http://netweb.ing.unibs.it/~openfwwf/firmware
  361. PKG_B43_FWV4_HASH:=9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc
  362. endif
  363. define Download/b43
  364. FILE:=$(PKG_B43_FWV4_SOURCE)
  365. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  366. HASH:=$(PKG_B43_FWV4_HASH)
  367. endef
  368. $(eval $(call Download,b43))
  369. define KernelPackage/b43
  370. $(call KernelPackage/mac80211/Default)
  371. TITLE:=Broadcom 43xx wireless support
  372. URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
  373. KCONFIG:= \
  374. CONFIG_HW_RANDOM=y
  375. # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
  376. DEPENDS += \
  377. @PCI_SUPPORT +kmod-mac80211 \
  378. $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
  379. $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
  380. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
  381. AUTOLOAD:=$(call AutoProbe,b43)
  382. MENU:=1
  383. endef
  384. define KernelPackage/b43/config
  385. config PACKAGE_B43_USE_SSB
  386. select PACKAGE_kmod-ssb
  387. tristate
  388. depends on !TARGET_brcm47xx && !TARGET_brcm63xx
  389. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
  390. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
  391. config PACKAGE_B43_USE_BCMA
  392. select PACKAGE_kmod-bcma
  393. tristate
  394. depends on !TARGET_brcm47xx && !TARGET_bcm53xx
  395. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
  396. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
  397. if PACKAGE_kmod-b43
  398. choice
  399. prompt "b43 firmware version"
  400. default B43_FW_5_100_138
  401. help
  402. This option allows you to select the version of the b43 firmware.
  403. config B43_FW_4_150
  404. bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
  405. help
  406. Old stable firmware for BCM43xx devices.
  407. If unsure, select this.
  408. config B43_FW_4_178
  409. bool "Firmware 478.104 from driver 4.178.10.4"
  410. help
  411. Older firmware for BCM43xx devices.
  412. If unsure, select the "stable" firmware.
  413. config B43_FW_5_10
  414. bool "Firmware 508.1084 from driver 5.10.56.27"
  415. help
  416. Older firmware for BCM43xx devices.
  417. If unsure, select the "stable" firmware.
  418. config B43_FW_5_100_138
  419. bool "Firmware 666.2 from driver 5.100.138 (stable)"
  420. help
  421. The currently default firmware for BCM43xx devices.
  422. This firmware currently gets most of the testing and is needed for some N-PHY devices.
  423. If unsure, select the this firmware.
  424. config B43_FW_6_30
  425. bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
  426. help
  427. Newer experimental firmware for BCM43xx devices.
  428. This firmware is mostly untested.
  429. If unsure, select the "stable" firmware.
  430. config B43_OPENFIRMWARE
  431. bool "Open FirmWare for WiFi networks"
  432. help
  433. Opensource firmware for BCM43xx devices.
  434. Do _not_ select this, unless you know what you are doing.
  435. The Opensource firmware is not suitable for embedded devices, yet.
  436. It does not support QoS, which is bad for AccessPoints.
  437. It does not support hardware crypto acceleration, which is a showstopper
  438. for embedded devices with low CPU resources.
  439. If unsure, select the "stable" firmware.
  440. endchoice
  441. config B43_FW_SQUASH
  442. bool "Remove unnecessary firmware files"
  443. depends on !B43_OPENFIRMWARE
  444. default y
  445. help
  446. This options allows you to remove unnecessary b43 firmware files
  447. from the final rootfs image. This can reduce the rootfs size by
  448. up to 200k.
  449. If unsure, say Y.
  450. config B43_FW_SQUASH_COREREVS
  451. string "Core revisions to include"
  452. depends on B43_FW_SQUASH
  453. default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
  454. default "16,28,29,30" if TARGET_brcm47xx_mips74k
  455. default "5,6,7,8,9,10,11,13,15,16,28,29,30"
  456. help
  457. This is a comma seperated list of core revision numbers.
  458. Example (keep files for rev5 only):
  459. 5
  460. Example (keep files for rev5 and rev11):
  461. 5,11
  462. config B43_FW_SQUASH_PHYTYPES
  463. string "PHY types to include"
  464. depends on B43_FW_SQUASH
  465. default "G,N,LP" if TARGET_brcm47xx_legacy
  466. default "N,HT" if TARGET_brcm47xx_mips74k
  467. default "G,N,LP,HT"
  468. help
  469. This is a comma seperated list of PHY types:
  470. A => A-PHY
  471. AG => Dual A-PHY G-PHY
  472. G => G-PHY
  473. LP => LP-PHY
  474. N => N-PHY
  475. HT => HT-PHY
  476. LCN => LCN-PHY
  477. LCN40 => LCN40-PHY
  478. AC => AC-PHY
  479. Example (keep files for G-PHY only):
  480. G
  481. Example (keep files for G-PHY and N-PHY):
  482. G,N
  483. choice
  484. prompt "Supported buses"
  485. default PACKAGE_B43_BUSES_BCMA_AND_SSB
  486. help
  487. This allows choosing buses that b43 should support.
  488. config PACKAGE_B43_BUSES_BCMA_AND_SSB
  489. depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
  490. bool "BCMA and SSB"
  491. config PACKAGE_B43_BUSES_BCMA
  492. depends on !TARGET_brcm47xx_legacy
  493. bool "BCMA only"
  494. config PACKAGE_B43_BUSES_SSB
  495. depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
  496. bool "SSB only"
  497. endchoice
  498. config PACKAGE_B43_DEBUG
  499. bool "Enable debug output and debugfs for b43"
  500. default n
  501. help
  502. Enable additional debug output and runtime sanity checks for b43
  503. and enables the debugfs interface.
  504. If unsure, say N.
  505. config PACKAGE_B43_PIO
  506. bool "Enable support for PIO transfer mode"
  507. default n
  508. help
  509. Enable support for using PIO instead of DMA. Unless you have DMA
  510. transfer problems you don't need this.
  511. If unsure, say N.
  512. config PACKAGE_B43_PHY_G
  513. bool "Enable support for G-PHYs"
  514. default n if TARGET_brcm47xx_mips74k
  515. default y
  516. help
  517. Enable support for G-PHY. This includes support for the following devices:
  518. PCI: BCM4306, BCM4311, BCM4318
  519. SoC: BCM5352E, BCM4712
  520. If unsure, say Y.
  521. config PACKAGE_B43_PHY_N
  522. bool "Enable support for N-PHYs"
  523. default y
  524. help
  525. Enable support for N-PHY. This includes support for the following devices:
  526. PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
  527. SoC: BCM4716, BCM4717, BCM4718
  528. Currently only 11g speed is available.
  529. If unsure, say Y.
  530. config PACKAGE_B43_PHY_LP
  531. bool "Enable support for LP-PHYs"
  532. default n if TARGET_brcm47xx_mips74k
  533. default y
  534. help
  535. Enable support for LP-PHY. This includes support for the following devices:
  536. PCI: BCM4312
  537. SoC: BCM5354
  538. If unsure, say Y.
  539. config PACKAGE_B43_PHY_HT
  540. bool "Enable support for HT-PHYs"
  541. default n if TARGET_brcm47xx_legacy
  542. default y
  543. help
  544. Enable support for HT-PHY. This includes support for the following devices:
  545. PCI: BCM4331
  546. Currently only 11g speed is available.
  547. If unsure, say Y.
  548. config PACKAGE_B43_PHY_LCN
  549. bool "Enable support for LCN-PHYs"
  550. depends on BROKEN
  551. default n
  552. help
  553. Currently broken.
  554. If unsure, say N.
  555. endif
  556. endef
  557. define KernelPackage/b43/description
  558. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  559. endef
  560. define KernelPackage/b43legacy
  561. $(call KernelPackage/mac80211/Default)
  562. TITLE:=Broadcom 43xx-legacy wireless support
  563. URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
  564. KCONFIG:= \
  565. CONFIG_HW_RANDOM=y
  566. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
  567. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
  568. AUTOLOAD:=$(call AutoProbe,b43legacy)
  569. MENU:=1
  570. endef
  571. define KernelPackage/b43legacy/description
  572. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  573. endef
  574. define KernelPackage/brcmutil
  575. $(call KernelPackage/mac80211/Default)
  576. TITLE:=Broadcom IEEE802.11n common driver parts
  577. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  578. DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
  579. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
  580. AUTOLOAD:=$(call AutoProbe,brcmutil)
  581. MENU:=1
  582. endef
  583. define KernelPackage/brcmutil/description
  584. This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
  585. endef
  586. define KernelPackage/brcmutil/config
  587. if PACKAGE_kmod-brcmutil
  588. config PACKAGE_BRCM80211_DEBUG
  589. bool "Broadcom wireless driver debugging"
  590. help
  591. Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
  592. endif
  593. endef
  594. PKG_BRCMSMAC_FW_NAME:=broadcom-wl
  595. PKG_BRCMSMAC_FW_VERSION:=5.100.138
  596. PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
  597. PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
  598. PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  599. PKG_BRCMSMAC_FW_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
  600. define Download/brcmsmac
  601. FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
  602. URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
  603. HASH:=$(PKG_BRCMSMAC_FW_HASH)
  604. endef
  605. $(eval $(call Download,brcmsmac))
  606. define KernelPackage/brcmsmac
  607. $(call KernelPackage/mac80211/Default)
  608. TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
  609. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  610. DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware
  611. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
  612. AUTOLOAD:=$(call AutoProbe,brcmsmac)
  613. MENU:=1
  614. endef
  615. define KernelPackage/brcmsmac/description
  616. Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
  617. endef
  618. define KernelPackage/brcmsmac/config
  619. if PACKAGE_kmod-brcmsmac
  620. config BRCMSMAC_USE_FW_FROM_WL
  621. bool "Use firmware extracted from broadcom proprietary driver"
  622. default y
  623. help
  624. Instead of using the official brcmsmac firmware a firmware
  625. version 666.2 extracted from the proprietary Broadcom driver
  626. is used. This is needed to get core rev 17 used in bcm4716
  627. to work.
  628. If unsure, say Y.
  629. endif
  630. endef
  631. define KernelPackage/brcmfmac
  632. $(call KernelPackage/mac80211/Default)
  633. TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
  634. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  635. DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +kmod-brcmutil \
  636. +BRCMFMAC_SDIO:kmod-mmc @!TARGET_uml \
  637. +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
  638. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
  639. AUTOLOAD:=$(call AutoProbe,brcmfmac)
  640. endef
  641. define KernelPackage/brcmfmac/description
  642. Kernel module for Broadcom IEEE802.11n USB Wireless cards
  643. endef
  644. define KernelPackage/brcmfmac/config
  645. if PACKAGE_kmod-brcmfmac
  646. config BRCMFMAC_SDIO
  647. bool "Enable SDIO bus interface support"
  648. default y if TARGET_brcm2708
  649. default y if TARGET_sunxi
  650. default n
  651. help
  652. Enable support for cards attached to an SDIO bus.
  653. Select this option only if you are sure that your
  654. board has a Broadcom wireless chip atacched to
  655. that bus.
  656. config BRCMFMAC_USB
  657. bool "Enable USB bus interface support"
  658. depends on USB_SUPPORT
  659. default y
  660. help
  661. Supported USB connected chipsets:
  662. BCM43235, BCM43236, BCM43238 (all in revision 3 only)
  663. BCM43143, BCM43242, BCM43566, BCM43569
  664. config BRCMFMAC_PCIE
  665. bool "Enable PCIE bus interface support"
  666. depends on PCI_SUPPORT
  667. default y
  668. help
  669. Supported PCIe connected chipsets:
  670. BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
  671. endif
  672. endef
  673. define KernelPackage/carl9170
  674. $(call KernelPackage/mac80211/Default)
  675. TITLE:=Driver for Atheros AR9170 USB sticks
  676. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware
  677. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
  678. AUTOLOAD:=$(call AutoProbe,carl9170)
  679. endef
  680. define KernelPackage/hermes
  681. $(call KernelPackage/mac80211/Default)
  682. TITLE:=Hermes 802.11b chipset support
  683. DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
  684. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
  685. AUTOLOAD:=$(call AutoProbe,orinoco)
  686. endef
  687. define KernelPackage/hermes/description
  688. Kernel support for Hermes 802.11b chipsets
  689. endef
  690. define KernelPackage/hermes-pci
  691. $(call KernelPackage/mac80211/Default)
  692. TITLE:=Intersil Prism 2.5 PCI support
  693. DEPENDS:=@PCI_SUPPORT +kmod-hermes
  694. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
  695. AUTOLOAD:=$(call AutoProbe,orinoco_pci)
  696. endef
  697. define KernelPackage/hermes-pci/description
  698. Kernel modules for Intersil Prism 2.5 PCI support
  699. endef
  700. define KernelPackage/hermes-plx
  701. $(call KernelPackage/mac80211/Default)
  702. TITLE:=PLX9052 based PCI adaptor
  703. DEPENDS:=@PCI_SUPPORT +kmod-hermes
  704. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
  705. AUTOLOAD:=$(call AutoProbe,orinoco_plx)
  706. endef
  707. define KernelPackage/hermes-plx/description
  708. Kernel modules for Hermes in PLX9052 based PCI adaptors
  709. endef
  710. define KernelPackage/hermes-pcmcia
  711. $(call KernelPackage/mac80211/Default)
  712. TITLE:=Hermes based PCMCIA adaptors
  713. DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes @BROKEN
  714. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
  715. AUTOLOAD:=$(call AutoProbe,orinoco_cs)
  716. endef
  717. define KernelPackage/hermes-pcmcia/description
  718. Kernel modules for Hermes based PCMCIA adaptors
  719. endef
  720. define KernelPackage/iwlwifi
  721. $(call KernelPackage/mac80211/Default)
  722. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @!LINUX_3_18
  723. TITLE:=Intel AGN Wireless support
  724. FILES:= \
  725. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
  726. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
  727. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
  728. AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
  729. MENU:=1
  730. endef
  731. define KernelPackage/iwlwifi/description
  732. iwlwifi kernel module for
  733. Intel Wireless WiFi Link 6250AGN Adapter
  734. Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
  735. Intel WiFi Link 1000BGN
  736. Intel Wireless WiFi 5150AGN
  737. Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
  738. Intel 6005 Series Wi-Fi Adapters
  739. Intel 6030 Series Wi-Fi Adapters
  740. Intel Wireless WiFi Link 6150BGN 2 Adapter
  741. Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
  742. Intel 2000 Series Wi-Fi Adapters
  743. Intel 7260 Wi-Fi Adapter
  744. Intel 3160 Wi-Fi Adapter
  745. Intel 7265 Wi-Fi Adapter
  746. Intel 8260 Wi-Fi Adapter
  747. Intel 3165 Wi-Fi Adapter
  748. endef
  749. define KernelPackage/iwlwifi/config
  750. if PACKAGE_kmod-iwlwifi
  751. config PACKAGE_IWLWIFI_DEBUG
  752. bool "Enable full debugging output in the iwlwifi driver"
  753. default n
  754. help
  755. This option will enable debug tracing output for the iwlwifi drivers
  756. This will result in the kernel module being ~100k larger. You can
  757. control which debug output is sent to the kernel log by setting the
  758. value in
  759. /sys/module/iwlwifi/parameters/debug
  760. This entry will only exist if this option is enabled.
  761. To set a value, simply echo an 8-byte hex value to the same file:
  762. % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
  763. You can find the list of debug mask values in:
  764. drivers/net/wireless/intel/iwlwifi/iwl-debug.h
  765. If this is your first time using this driver, you should say Y here
  766. as the debug information can assist others in helping you resolve
  767. any problems you may encounter.
  768. config PACKAGE_IWLWIFI_DEBUGFS
  769. bool "iwlwifi debugfs support"
  770. depends on PACKAGE_MAC80211_DEBUGFS
  771. default n
  772. help
  773. Enable creation of debugfs files for the iwlwifi drivers. This
  774. is a low-impact option that allows getting insight into the
  775. driver's state at runtime.
  776. endif
  777. endef
  778. define KernelPackage/iwl-legacy
  779. $(call KernelPackage/mac80211/Default)
  780. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
  781. TITLE:=Intel legacy Wireless support
  782. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
  783. AUTOLOAD:=$(call AutoProbe,iwlegacy)
  784. endef
  785. define KernelPackage/iwl-legacy/description
  786. iwl-legacy kernel module for legacy Intel wireless support
  787. endef
  788. define KernelPackage/iwl3945
  789. $(call KernelPackage/mac80211/Default)
  790. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
  791. TITLE:=Intel iwl3945 Wireless support
  792. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
  793. AUTOLOAD:=$(call AutoProbe,iwl3945)
  794. endef
  795. define KernelPackage/iwl3945/description
  796. iwl3945 kernel module for Intel 3945 support
  797. endef
  798. define KernelPackage/iwl4965
  799. $(call KernelPackage/mac80211/Default)
  800. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
  801. TITLE:=Intel iwl4965 Wireless support
  802. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
  803. AUTOLOAD:=$(call AutoProbe,iwl4965)
  804. endef
  805. define KernelPackage/iwl4965/description
  806. iwl4965 kernel module for Intel 4965 support
  807. endef
  808. define KernelPackage/lib80211
  809. $(call KernelPackage/mac80211/Default)
  810. TITLE:=802.11 Networking stack
  811. DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
  812. FILES:= \
  813. $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
  814. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
  815. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
  816. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
  817. AUTOLOAD:=$(call AutoProbe, \
  818. lib80211 \
  819. lib80211_crypt_wep \
  820. lib80211_crypt_ccmp \
  821. lib80211_crypt_tkip \
  822. )
  823. endef
  824. define KernelPackage/lib80211/description
  825. Kernel modules for 802.11 Networking stack
  826. Includes:
  827. - lib80211
  828. - lib80211_crypt_wep
  829. - lib80211_crypt_tkip
  830. - lib80211_crytp_ccmp
  831. endef
  832. define KernelPackage/libipw
  833. $(call KernelPackage/mac80211/Default)
  834. TITLE:=libipw for ipw2100 and ipw2200
  835. DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-crypto-ecb +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN @!LINUX_3_18
  836. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
  837. AUTOLOAD:=$(call AutoProbe,libipw)
  838. endef
  839. define KernelPackage/libipw/description
  840. Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
  841. endef
  842. IPW2100_NAME:=ipw2100-fw
  843. IPW2100_VERSION:=1.3
  844. define Download/ipw2100
  845. URL:= \
  846. https://src.fedoraproject.org/repo/pkgs/ipw2100-firmware/ipw2100-fw-1.3.tgz/46aa75bcda1a00efa841f9707bbbd113/ \
  847. https://archlinux.mirror.pkern.at/other/packages/ipw2100-fw/ \
  848. http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
  849. http://firmware.openbsd.org/firmware-dist/
  850. FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  851. HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
  852. endef
  853. $(eval $(call Download,ipw2100))
  854. define KernelPackage/ipw2100
  855. $(call KernelPackage/mac80211/Default)
  856. TITLE:=Intel IPW2100 driver
  857. DEPENDS:=@PCI_SUPPORT +kmod-libipw
  858. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
  859. AUTOLOAD:=$(call AutoProbe,ipw2100)
  860. endef
  861. define KernelPackage/ipw2100/description
  862. Kernel support for Intel IPW2100
  863. Includes:
  864. - ipw2100
  865. endef
  866. IPW2200_NAME:=ipw2200-fw
  867. IPW2200_VERSION:=3.1
  868. define Download/ipw2200
  869. URL:= \
  870. https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-3.1.tgz/eaba788643c7cc7483dd67ace70f6e99/ \
  871. https://archlinux.mirror.pkern.at/other/packages/ipw2200-fw/ \
  872. http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
  873. http://firmware.openbsd.org/firmware-dist/
  874. FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  875. HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
  876. endef
  877. $(eval $(call Download,ipw2200))
  878. define KernelPackage/ipw2200
  879. $(call KernelPackage/mac80211/Default)
  880. TITLE:=Intel IPW2200 driver
  881. DEPENDS:=@PCI_SUPPORT +kmod-libipw
  882. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
  883. AUTOLOAD:=$(call AutoProbe,ipw2200)
  884. endef
  885. define KernelPackage/ipw2200/description
  886. Kernel support for Intel IPW2200
  887. Includes:
  888. - ipw2200
  889. endef
  890. define KernelPackage/libertas-usb
  891. $(call KernelPackage/mac80211/Default)
  892. DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware @!LINUX_3_18
  893. TITLE:=Marvell 88W8015 Wireless Driver
  894. FILES:= \
  895. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  896. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
  897. AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
  898. endef
  899. define KernelPackage/libertas-sdio
  900. $(call KernelPackage/mac80211/Default)
  901. DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware @!LINUX_3_18
  902. TITLE:=Marvell 88W8686 Wireless Driver
  903. FILES:= \
  904. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  905. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
  906. AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
  907. endef
  908. define KernelPackage/libertas-spi
  909. $(call KernelPackage/mac80211/Default)
  910. SUBMENU:=Wireless Drivers
  911. DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware @!LINUX_3_18
  912. KCONFIG := \
  913. CONFIG_SPI=y \
  914. CONFIG_SPI_MASTER=y
  915. TITLE:=Marvell 88W8686 SPI Wireless Driver
  916. FILES:= \
  917. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  918. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
  919. AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
  920. endef
  921. define KernelPackage/mac80211-hwsim
  922. $(call KernelPackage/mac80211/Default)
  923. TITLE:=mac80211 HW simulation device
  924. DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
  925. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
  926. AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
  927. endef
  928. define KernelPackage/mt7601u
  929. $(call KernelPackage/mac80211/Default)
  930. TITLE:=MT7601U-based USB dongles Wireless Driver
  931. DEPENDS+= @BROKEN +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
  932. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
  933. AUTOLOAD:=$(call AutoProbe,mt7601u)
  934. endef
  935. define KernelPackage/mwl8k
  936. $(call KernelPackage/mac80211/Default)
  937. TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
  938. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwl8k
  939. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
  940. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
  941. AUTOLOAD:=$(call AutoProbe,mwl8k)
  942. endef
  943. define KernelPackage/mwl8k/description
  944. Kernel modules for Marvell TOPDOG 802.11 Wireless cards
  945. endef
  946. define KernelPackage/mwifiex-pcie
  947. $(call KernelPackage/mac80211/Default)
  948. TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
  949. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
  950. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-pcie-firmware
  951. FILES:= \
  952. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
  953. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
  954. AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
  955. endef
  956. define KernelPackage/mwifiex-pcie/description
  957. Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
  958. endef
  959. define KernelPackage/mwifiex-sdio
  960. $(call KernelPackage/mac80211/Default)
  961. TITLE:=Driver for Marvell 802.11n/802.11ac SDIO Wireless cards
  962. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
  963. DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-sdio-firmware
  964. FILES:= \
  965. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
  966. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
  967. AUTOLOAD:=$(call AutoProbe,mwifiex_sdio)
  968. endef
  969. define KernelPackage/mwifiex-sdio/description
  970. Kernel modules for Marvell 802.11n/802.11ac SDIO Wireless cards
  971. endef
  972. define KernelPackage/p54/Default
  973. $(call KernelPackage/mac80211/Default)
  974. TITLE:=Prism54 Drivers
  975. endef
  976. define KernelPackage/p54/description
  977. Kernel module for Prism54 chipsets (mac80211)
  978. endef
  979. define KernelPackage/p54-common
  980. $(call KernelPackage/p54/Default)
  981. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
  982. TITLE+= (COMMON)
  983. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
  984. endef
  985. define KernelPackage/p54-pci
  986. $(call KernelPackage/p54/Default)
  987. TITLE+= (PCI)
  988. DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
  989. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
  990. AUTOLOAD:=$(call AutoProbe,p54pci)
  991. endef
  992. define KernelPackage/p54-usb
  993. $(call KernelPackage/p54/Default)
  994. TITLE+= (USB)
  995. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
  996. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
  997. AUTOLOAD:=$(call AutoProbe,p54usb)
  998. endef
  999. define KernelPackage/p54-spi
  1000. $(call KernelPackage/p54/Default)
  1001. TITLE+= (SPI)
  1002. DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
  1003. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
  1004. AUTOLOAD:=$(call AutoProbe,p54spi)
  1005. endef
  1006. define KernelPackage/rsi91x
  1007. $(call KernelPackage/mac80211/Default)
  1008. TITLE:=Redpine Signals Inc 91x WLAN driver support
  1009. DEPENDS+= +kmod-mac80211 +rs9113-firmware
  1010. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
  1011. endef
  1012. define KernelPackage/rsi91x-usb
  1013. $(call KernelPackage/mac80211/Default)
  1014. TITLE:=Redpine Signals USB bus support
  1015. DEPENDS+= +kmod-mac80211 +kmod-usb2 +kmod-rsi91x +rs9113-firmware
  1016. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
  1017. AUTOLOAD:=$(call AutoProbe,rsi_usb)
  1018. endef
  1019. define KernelPackage/rsi91x-sdio
  1020. $(call KernelPackage/mac80211/Default)
  1021. TITLE:=Redpine Signals SDIO bus support
  1022. DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
  1023. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
  1024. AUTOLOAD:=$(call AutoProbe,rsi_sdio)
  1025. endef
  1026. define KernelPackage/rt2x00/Default
  1027. $(call KernelPackage/mac80211/Default)
  1028. TITLE:=Ralink Drivers for RT2x00 cards
  1029. endef
  1030. define KernelPackage/rt2x00-lib
  1031. $(call KernelPackage/rt2x00/Default)
  1032. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
  1033. TITLE+= (LIB)
  1034. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko
  1035. MENU:=1
  1036. endef
  1037. define KernelPackage/rt2x00-lib/config
  1038. if PACKAGE_kmod-rt2x00-lib
  1039. config PACKAGE_RT2X00_LIB_DEBUGFS
  1040. bool "Enable rt2x00 debugfs support"
  1041. depends on PACKAGE_MAC80211_DEBUGFS
  1042. help
  1043. Enable creation of debugfs files for the rt2x00 drivers.
  1044. These debugfs files support both reading and writing of the
  1045. most important register types of the rt2x00 hardware.
  1046. config PACKAGE_RT2X00_DEBUG
  1047. bool "Enable rt2x00 debug output"
  1048. help
  1049. Enable debugging output for all rt2x00 modules
  1050. endif
  1051. endef
  1052. define KernelPackage/rt2x00-mmio
  1053. $(call KernelPackage/rt2x00/Default)
  1054. DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
  1055. HIDDEN:=1
  1056. TITLE+= (MMIO)
  1057. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko
  1058. endef
  1059. define KernelPackage/rt2x00-pci
  1060. $(call KernelPackage/rt2x00/Default)
  1061. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
  1062. HIDDEN:=1
  1063. TITLE+= (PCI)
  1064. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko
  1065. AUTOLOAD:=$(call AutoProbe,rt2x00pci)
  1066. endef
  1067. define KernelPackage/rt2x00-usb
  1068. $(call KernelPackage/rt2x00/Default)
  1069. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
  1070. HIDDEN:=1
  1071. TITLE+= (USB)
  1072. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko
  1073. AUTOLOAD:=$(call AutoProbe,rt2x00usb)
  1074. endef
  1075. define KernelPackage/rt2800-lib
  1076. $(call KernelPackage/rt2x00/Default)
  1077. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
  1078. HIDDEN:=1
  1079. TITLE+= (rt2800 LIB)
  1080. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko
  1081. endef
  1082. define KernelPackage/rt2400-pci
  1083. $(call KernelPackage/rt2x00/Default)
  1084. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  1085. TITLE+= (RT2400 PCI)
  1086. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko
  1087. AUTOLOAD:=$(call AutoProbe,rt2400pci)
  1088. endef
  1089. define KernelPackage/rt2500-pci
  1090. $(call KernelPackage/rt2x00/Default)
  1091. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  1092. TITLE+= (RT2500 PCI)
  1093. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko
  1094. AUTOLOAD:=$(call AutoProbe,rt2500pci)
  1095. endef
  1096. define KernelPackage/rt2500-usb
  1097. $(call KernelPackage/rt2x00/Default)
  1098. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  1099. TITLE+= (RT2500 USB)
  1100. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko
  1101. AUTOLOAD:=$(call AutoProbe,rt2500usb)
  1102. endef
  1103. define KernelPackage/rt2800-mmio
  1104. $(call KernelPackage/rt2x00/Default)
  1105. TITLE += (RT28xx/RT3xxx MMIO)
  1106. DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
  1107. HIDDEN:=1
  1108. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko
  1109. endef
  1110. define KernelPackage/rt2800-soc
  1111. $(call KernelPackage/rt2x00/Default)
  1112. DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
  1113. TITLE += (RT28xx/RT3xxx SoC)
  1114. FILES := \
  1115. $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \
  1116. $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko
  1117. AUTOLOAD:=$(call AutoProbe,rt2800soc)
  1118. endef
  1119. define KernelPackage/rt2800-pci
  1120. $(call KernelPackage/rt2x00/Default)
  1121. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio +rt2800-pci-firmware
  1122. TITLE+= (RT2860 PCI)
  1123. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko
  1124. AUTOLOAD:=$(call AutoProbe,rt2800pci)
  1125. endef
  1126. define KernelPackage/rt2800-usb
  1127. $(call KernelPackage/rt2x00/Default)
  1128. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt +rt2800-usb-firmware
  1129. TITLE+= (RT2870 USB)
  1130. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko
  1131. AUTOLOAD:=$(call AutoProbe,rt2800usb)
  1132. endef
  1133. define KernelPackage/rt61-pci
  1134. $(call KernelPackage/rt2x00/Default)
  1135. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +rt61-pci-firmware
  1136. TITLE+= (RT2x61 PCI)
  1137. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko
  1138. AUTOLOAD:=$(call AutoProbe,rt61pci)
  1139. endef
  1140. define KernelPackage/rt73-usb
  1141. $(call KernelPackage/rt2x00/Default)
  1142. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +rt73-usb-firmware
  1143. TITLE+= (RT73 USB)
  1144. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko
  1145. AUTOLOAD:=$(call AutoProbe,rt73usb)
  1146. endef
  1147. define KernelPackage/rtl818x/Default
  1148. $(call KernelPackage/mac80211/Default)
  1149. TITLE:=Realtek Drivers for RTL818x devices
  1150. URL:=https://wireless.wiki.kernel.org/en/users/drivers/rtl8187
  1151. DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
  1152. endef
  1153. define KernelPackage/rtl8180
  1154. $(call KernelPackage/rtl818x/Default)
  1155. DEPENDS+= @PCI_SUPPORT
  1156. TITLE+= (RTL8180 PCI)
  1157. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
  1158. AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
  1159. endef
  1160. define KernelPackage/rtl8187
  1161. $(call KernelPackage/rtl818x/Default)
  1162. DEPENDS+= @USB_SUPPORT +kmod-usb-core
  1163. TITLE+= (RTL8187 USB)
  1164. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
  1165. AUTOLOAD:=$(call AutoProbe,rtl8187)
  1166. endef
  1167. define KernelPackage/rtlwifi/config
  1168. config PACKAGE_RTLWIFI_DEBUG
  1169. bool "Realtek wireless debugging"
  1170. depends on PACKAGE_kmod-rtlwifi
  1171. help
  1172. Say Y, if you want to debug realtek wireless drivers.
  1173. endef
  1174. define KernelPackage/rtlwifi
  1175. $(call KernelPackage/mac80211/Default)
  1176. TITLE:=Realtek common driver part
  1177. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
  1178. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
  1179. HIDDEN:=1
  1180. endef
  1181. define KernelPackage/rtlwifi-pci
  1182. $(call KernelPackage/mac80211/Default)
  1183. TITLE:=Realtek common driver part (PCI support)
  1184. DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
  1185. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
  1186. AUTOLOAD:=$(call AutoProbe,rtl_pci)
  1187. HIDDEN:=1
  1188. endef
  1189. define KernelPackage/rtlwifi-btcoexist
  1190. $(call KernelPackage/mac80211/Default)
  1191. TITLE:=Realtek BT coexist support
  1192. DEPENDS+= +kmod-rtlwifi
  1193. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist.ko
  1194. AUTOLOAD:=$(call AutoProbe,btcoexist)
  1195. HIDDEN:=1
  1196. endef
  1197. define KernelPackage/rtlwifi-usb
  1198. $(call KernelPackage/mac80211/Default)
  1199. TITLE:=Realtek common driver part (USB support)
  1200. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
  1201. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
  1202. AUTOLOAD:=$(call AutoProbe,rtl_usb)
  1203. HIDDEN:=1
  1204. endef
  1205. define KernelPackage/rtl8192c-common
  1206. $(call KernelPackage/mac80211/Default)
  1207. TITLE:=Realtek RTL8192CE/RTL8192CU common support module
  1208. DEPENDS+= +kmod-rtlwifi
  1209. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
  1210. HIDDEN:=1
  1211. endef
  1212. define KernelPackage/rtl8192ce
  1213. $(call KernelPackage/mac80211/Default)
  1214. TITLE:=Realtek RTL8192CE/RTL8188CE support
  1215. DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
  1216. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
  1217. AUTOLOAD:=$(call AutoProbe,rtl8192ce)
  1218. endef
  1219. define KernelPackage/rtl8192se
  1220. $(call KernelPackage/mac80211/Default)
  1221. TITLE:=Realtek RTL8192SE/RTL8191SE support
  1222. DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
  1223. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
  1224. AUTOLOAD:=$(call AutoProbe,rtl8192se)
  1225. endef
  1226. define KernelPackage/rtl8192de
  1227. $(call KernelPackage/mac80211/Default)
  1228. TITLE:=Realtek RTL8192DE/RTL8188DE support
  1229. DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
  1230. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
  1231. AUTOLOAD:=$(call AutoProbe,rtl8192de)
  1232. endef
  1233. define KernelPackage/rtl8192cu
  1234. $(call KernelPackage/mac80211/Default)
  1235. TITLE:=Realtek RTL8192CU/RTL8188CU support
  1236. DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
  1237. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
  1238. AUTOLOAD:=$(call AutoProbe,rtl8192cu)
  1239. endef
  1240. define KernelPackage/rtl8821ae
  1241. $(call KernelPackage/mac80211/Default)
  1242. TITLE:=Realtek RTL8821AE support
  1243. DEPENDS+= +kmod-rtlwifi-btcoexist +kmod-rtlwifi-pci +rtl8821ae-firmware
  1244. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
  1245. AUTOLOAD:=$(call AutoProbe,rtl8821ae)
  1246. endef
  1247. define KernelPackage/rtl8xxxu
  1248. $(call KernelPackage/mac80211/Default)
  1249. TITLE:=alternative Realtek RTL8XXXU support
  1250. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  1251. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
  1252. AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
  1253. endef
  1254. define KernelPackage/rtl8xxxu/description
  1255. This is an alternative driver for various Realtek RTL8XXX
  1256. parts written to utilize the Linux mac80211 stack.
  1257. The driver is known to work with a number of RTL8723AU,
  1258. RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
  1259. This driver is under development and has a limited feature
  1260. set. In particular it does not yet support 40MHz channels
  1261. and power management. However it should have a smaller
  1262. memory footprint than the vendor drivers and benetifs
  1263. from the in kernel mac80211 stack.
  1264. It can coexist with drivers from drivers/staging/rtl8723au,
  1265. drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
  1266. but you will need to control which module you wish to load.
  1267. RTL8XXXU_UNTESTED is enabled
  1268. This option enables detection of Realtek 8723/8188/8191/8192 WiFi
  1269. USB devices which have not been tested directly by the driver
  1270. author or reported to be working by third parties.
  1271. Please report your results!
  1272. endef
  1273. define KernelPackage/wlcore
  1274. $(call KernelPackage/mac80211/Default)
  1275. TITLE:=TI common driver part
  1276. DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
  1277. FILES:= \
  1278. $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
  1279. $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
  1280. AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
  1281. endef
  1282. define KernelPackage/wlcore/description
  1283. This module contains some common parts needed by TI Wireless drivers.
  1284. endef
  1285. define KernelPackage/wl12xx
  1286. $(call KernelPackage/mac80211/Default)
  1287. TITLE:=Driver for TI WL12xx
  1288. URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
  1289. DEPENDS+= +kmod-wlcore +wl12xx-firmware
  1290. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
  1291. AUTOLOAD:=$(call AutoProbe,wl12xx)
  1292. endef
  1293. define KernelPackage/wl12xx/description
  1294. Kernel modules for TI WL12xx
  1295. endef
  1296. define KernelPackage/wl18xx
  1297. $(call KernelPackage/mac80211/Default)
  1298. TITLE:=Driver for TI WL18xx
  1299. URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
  1300. DEPENDS+= +kmod-wlcore +wl18xx-firmware
  1301. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
  1302. AUTOLOAD:=$(call AutoProbe,wl18xx)
  1303. endef
  1304. define KernelPackage/wl18xx/description
  1305. Kernel modules for TI WL18xx
  1306. endef
  1307. ZD1211FW_NAME:=zd1211-firmware
  1308. ZD1211FW_VERSION:=1.4
  1309. define Download/zd1211rw
  1310. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  1311. URL:=@SF/zd1211/
  1312. HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
  1313. endef
  1314. $(eval $(call Download,zd1211rw))
  1315. define KernelPackage/zd1211rw
  1316. $(call KernelPackage/mac80211/Default)
  1317. TITLE:=Zydas ZD1211 support
  1318. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  1319. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
  1320. AUTOLOAD:=$(call AutoProbe,zd1211rw)
  1321. endef
  1322. config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
  1323. config-y:= \
  1324. WLAN \
  1325. NL80211_TESTMODE \
  1326. CFG80211_WEXT \
  1327. CFG80211_CERTIFICATION_ONUS \
  1328. MAC80211_RC_MINSTREL \
  1329. MAC80211_RC_MINSTREL_HT \
  1330. MAC80211_RC_MINSTREL_VHT \
  1331. MAC80211_RC_DEFAULT_MINSTREL \
  1332. WLAN_VENDOR_ADMTEK \
  1333. WLAN_VENDOR_ATH \
  1334. WLAN_VENDOR_ATMEL \
  1335. WLAN_VENDOR_BROADCOM \
  1336. WLAN_VENDOR_CISCO \
  1337. WLAN_VENDOR_INTEL \
  1338. WLAN_VENDOR_INTERSIL \
  1339. WLAN_VENDOR_MARVELL \
  1340. WLAN_VENDOR_MEDIATEK \
  1341. WLAN_VENDOR_RALINK \
  1342. WLAN_VENDOR_REALTEK \
  1343. WLAN_VENDOR_RSI \
  1344. WLAN_VENDOR_ST \
  1345. WLAN_VENDOR_TI \
  1346. WLAN_VENDOR_ZYDAS \
  1347. config-$(call config_package,cfg80211) += CFG80211
  1348. config-$(call config_package,mac80211) += MAC80211
  1349. config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
  1350. ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
  1351. config-y += \
  1352. CFG80211_DEBUGFS \
  1353. MAC80211_DEBUGFS \
  1354. ATH9K_DEBUGFS \
  1355. ATH9K_HTC_DEBUGFS \
  1356. ATH10K_DEBUGFS \
  1357. CARL9170_DEBUGFS \
  1358. ATH5K_DEBUG \
  1359. ATH6KL_DEBUG
  1360. endif
  1361. ifdef CONFIG_PACKAGE_MAC80211_TRACING
  1362. config-y += \
  1363. ATH10K_TRACING \
  1364. ATH6KL_TRACING \
  1365. ATH_TRACEPOINTS \
  1366. WIL6210_TRACING \
  1367. ATH5K_TRACER \
  1368. IWLWIFI_DEVICE_TRACING
  1369. endif
  1370. config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
  1371. config-$(call config_package,airo) += AIRO
  1372. config-$(call config_package,ath) += ATH_CARDS ATH_COMMON ATH_REG_DYNAMIC_USER_REG_HINTS
  1373. config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH9K_STATION_STATISTICS
  1374. config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
  1375. config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL
  1376. config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
  1377. config-$(call config_package,ath9k) += ATH9K
  1378. config-$(call config_package,ath9k-common) += ATH9K_COMMON
  1379. config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
  1380. config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
  1381. config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
  1382. config-$(CONFIG_PCI) += ATH9K_PCI
  1383. config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
  1384. config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
  1385. config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
  1386. config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
  1387. config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
  1388. config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
  1389. config-$(call config_package,ath9k-htc) += ATH9K_HTC
  1390. config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
  1391. config-$(call config_package,ath5k) += ATH5K
  1392. ifdef CONFIG_TARGET_ath25
  1393. config-y += ATH5K_AHB
  1394. else
  1395. config-y += ATH5K_PCI
  1396. endif
  1397. config-$(call config_package,ath6kl) += ATH6KL
  1398. config-$(call config_package,ath6kl-sdio) += ATH6KL_SDIO
  1399. config-$(call config_package,ath6kl-usb) += ATH6KL_USB
  1400. config-$(call config_package,carl9170) += CARL9170
  1401. config-$(call config_package,b43) += B43
  1402. config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
  1403. config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
  1404. config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
  1405. config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
  1406. config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
  1407. config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
  1408. config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
  1409. config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
  1410. config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
  1411. config-$(call config_package,b43legacy) += B43LEGACY
  1412. config-y += B43LEGACY_DMA_MODE
  1413. config-$(call config_package,brcmutil) += BRCMUTIL
  1414. config-$(call config_package,brcmsmac) += BRCMSMAC
  1415. config-$(call config_package,brcmfmac) += BRCMFMAC
  1416. config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
  1417. config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
  1418. config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
  1419. config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
  1420. config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
  1421. config-$(call config_package,mt7601u) += MT7601U
  1422. config-y += WL_MEDIATEK
  1423. config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
  1424. config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
  1425. config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
  1426. config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
  1427. config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
  1428. config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
  1429. config-$(call config_package,rt2400-pci) += RT2400PCI
  1430. config-$(call config_package,rt2500-pci) += RT2500PCI
  1431. config-$(call config_package,rt2500-usb) += RT2500USB
  1432. config-$(call config_package,rt61-pci) += RT61PCI
  1433. config-$(call config_package,rt73-usb) += RT73USB
  1434. config-$(call config_package,rt2800-lib) += RT2800_LIB
  1435. config-$(call config_package,rt2800-soc) += RT2800SOC
  1436. config-$(call config_package,rt2800-pci) += RT2800PCI
  1437. config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
  1438. config-$(call config_package,rt2800-usb) += RT2800USB
  1439. config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
  1440. config-$(call config_package,iwl-legacy) += IWLEGACY
  1441. config-$(call config_package,iwl3945) += IWL3945
  1442. config-$(call config_package,iwl4965) += IWL4965
  1443. config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
  1444. config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
  1445. config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
  1446. config-$(call config_package,libipw) += LIBIPW
  1447. config-$(call config_package,ipw2100) += IPW2100
  1448. config-$(call config_package,ipw2200) += IPW2200
  1449. config-$(call config_package,p54-common) += P54_COMMON
  1450. config-$(call config_package,p54-pci) += P54_PCI
  1451. config-$(call config_package,p54-usb) += P54_USB
  1452. config-$(call config_package,p54-spi) += P54_SPI
  1453. config-$(call config_package,hermes) += HERMES
  1454. config-$(call config_package,hermes-pci) += PCI_HERMES
  1455. config-$(call config_package,hermes-plx) += PLX_HERMES
  1456. config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
  1457. config-y += HERMES_PRISM
  1458. config-$(call config_package,adm8211) += ADM8211
  1459. config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
  1460. config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
  1461. config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
  1462. config-$(call config_package,mwl8k) += MWL8K
  1463. config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
  1464. config-$(call config_package,mwifiex-sdio) += MWIFIEX MWIFIEX_SDIO
  1465. config-$(call config_package,rtl8180) += RTL8180
  1466. config-$(call config_package,rtl8187) += RTL8187
  1467. config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
  1468. config-$(call config_package,wl12xx) += WL12XX
  1469. config-$(call config_package,wl18xx) += WL18XX
  1470. config-y += WL_TI WILINK_PLATFORM_DATA
  1471. config-$(call config_package,zd1211rw) += ZD1211RW
  1472. config-$(call config_package,rsi91x) += RSI_91X
  1473. config-$(call config_package,rsi91x-usb) += RSI_USB
  1474. config-$(call config_package,rsi91x-sdio) += RSI_SDIO
  1475. config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
  1476. config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
  1477. config-$(call config_package,rtlwifi-btcoexist) += RTLBTCOEXIST
  1478. config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
  1479. config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
  1480. config-$(call config_package,rtl8192ce) += RTL8192CE
  1481. config-$(call config_package,rtl8192se) += RTL8192SE
  1482. config-$(call config_package,rtl8192de) += RTL8192DE
  1483. config-$(call config_package,rtl8192cu) += RTL8192CU
  1484. config-$(call config_package,rtl8821ae) += RTL8821AE
  1485. config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
  1486. config-$(call config_package,rtl8xxxu) += RTL8XXXU
  1487. config-y += RTL8XXXU_UNTESTED
  1488. config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
  1489. MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
  1490. $(KERNEL_MAKE_FLAGS) \
  1491. EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
  1492. KLIB_BUILD="$(LINUX_DIR)" \
  1493. MODPROBE=true \
  1494. KLIB=$(TARGET_MODULES_DIR) \
  1495. KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
  1496. KBUILD_LDFLAGS_MODULE_PREREQ=
  1497. define ConfigVars
  1498. $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
  1499. ))
  1500. endef
  1501. define mac80211_config
  1502. $(call ConfigVars,m)$(call ConfigVars,y)
  1503. endef
  1504. $(eval $(call shexport,mac80211_config))
  1505. define Build/Prepare
  1506. rm -rf $(PKG_BUILD_DIR)
  1507. mkdir -p $(PKG_BUILD_DIR)
  1508. $(PKG_UNPACK)
  1509. $(Build/Patch)
  1510. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  1511. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  1512. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  1513. rm -rf \
  1514. $(PKG_BUILD_DIR)/include/linux/ssb \
  1515. $(PKG_BUILD_DIR)/include/linux/bcma \
  1516. $(PKG_BUILD_DIR)/include/net/bluetooth
  1517. rm -f \
  1518. $(PKG_BUILD_DIR)/include/linux/cordic.h \
  1519. $(PKG_BUILD_DIR)/include/linux/crc8.h \
  1520. $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
  1521. $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
  1522. $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
  1523. $(PKG_BUILD_DIR)/include/net/ieee80211.h \
  1524. $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
  1525. echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
  1526. endef
  1527. ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
  1528. define Build/Compile/kmod
  1529. rm -rf $(PKG_BUILD_DIR)/modules
  1530. +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
  1531. endef
  1532. endif
  1533. #do not Build/Configure for EXTERNAL KERNEL
  1534. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  1535. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  1536. define Build/Configure
  1537. cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
  1538. cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
  1539. cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
  1540. endef
  1541. endif
  1542. endif
  1543. define Build/Patch
  1544. $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
  1545. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
  1546. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
  1547. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
  1548. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
  1549. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
  1550. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
  1551. $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
  1552. endef
  1553. define Quilt/Refresh/Package
  1554. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
  1555. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
  1556. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
  1557. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
  1558. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
  1559. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
  1560. endef
  1561. define Build/Compile
  1562. $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
  1563. $(MAKE) $(MAKE_OPTS) allnoconfig
  1564. $(call Build/Compile/kmod)
  1565. endef
  1566. define Build/InstallDev
  1567. mkdir -p \
  1568. $(1)/usr/include/mac80211 \
  1569. $(1)/usr/include/mac80211-backport \
  1570. $(1)/usr/include/mac80211/ath \
  1571. $(1)/usr/include/net/mac80211
  1572. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  1573. $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
  1574. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  1575. $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
  1576. rm -f $(1)/usr/include/mac80211-backport/linux/module.h
  1577. endef
  1578. define KernelPackage/b43/install
  1579. rm -rf $(1)/lib/firmware/
  1580. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1581. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1582. else
  1583. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1584. endif
  1585. $(INSTALL_DIR) $(1)/lib/firmware/
  1586. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1587. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  1588. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  1589. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  1590. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  1591. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  1592. else
  1593. b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  1594. endif
  1595. ifneq ($(CONFIG_B43_FW_SQUASH),)
  1596. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  1597. endif
  1598. endef
  1599. define KernelPackage/brcmsmac/install
  1600. $(INSTALL_DIR) $(1)/lib/firmware/brcm
  1601. ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
  1602. tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1603. b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
  1604. endif
  1605. endef
  1606. define KernelPackage/cfg80211/install
  1607. $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
  1608. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  1609. $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
  1610. $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
  1611. $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
  1612. endef
  1613. define KernelPackage/ipw2100/install
  1614. $(INSTALL_DIR) $(1)/lib/firmware
  1615. $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
  1616. endef
  1617. define KernelPackage/ipw2200/install
  1618. $(INSTALL_DIR) $(1)/lib/firmware
  1619. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
  1620. endef
  1621. define KernelPackage/zd1211rw/install
  1622. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  1623. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  1624. endef
  1625. $(eval $(call KernelPackage,adm8211))
  1626. $(eval $(call KernelPackage,airo))
  1627. $(eval $(call KernelPackage,ath))
  1628. $(eval $(call KernelPackage,ath10k))
  1629. $(eval $(call KernelPackage,ath5k))
  1630. $(eval $(call KernelPackage,ath6kl))
  1631. $(eval $(call KernelPackage,ath6kl-sdio))
  1632. $(eval $(call KernelPackage,ath6kl-usb))
  1633. $(eval $(call KernelPackage,ath9k))
  1634. $(eval $(call KernelPackage,ath9k-common))
  1635. $(eval $(call KernelPackage,ath9k-htc))
  1636. $(eval $(call KernelPackage,b43))
  1637. $(eval $(call KernelPackage,b43legacy))
  1638. $(eval $(call KernelPackage,brcmsmac))
  1639. $(eval $(call KernelPackage,brcmfmac))
  1640. $(eval $(call KernelPackage,brcmutil))
  1641. $(eval $(call KernelPackage,carl9170))
  1642. $(eval $(call KernelPackage,cfg80211))
  1643. $(eval $(call KernelPackage,hermes))
  1644. $(eval $(call KernelPackage,hermes-pci))
  1645. $(eval $(call KernelPackage,hermes-plx))
  1646. $(eval $(call KernelPackage,hermes-pcmcia))
  1647. $(eval $(call KernelPackage,iwlwifi))
  1648. $(eval $(call KernelPackage,iwl-legacy))
  1649. $(eval $(call KernelPackage,iwl4965))
  1650. $(eval $(call KernelPackage,iwl3945))
  1651. $(eval $(call KernelPackage,lib80211))
  1652. $(eval $(call KernelPackage,libertas-usb))
  1653. $(eval $(call KernelPackage,libertas-sdio))
  1654. $(eval $(call KernelPackage,libertas-spi))
  1655. $(eval $(call KernelPackage,libipw))
  1656. $(eval $(call KernelPackage,ipw2100))
  1657. $(eval $(call KernelPackage,ipw2200))
  1658. $(eval $(call KernelPackage,mac80211))
  1659. $(eval $(call KernelPackage,mac80211-hwsim))
  1660. $(eval $(call KernelPackage,mt7601u))
  1661. $(eval $(call KernelPackage,mwl8k))
  1662. $(eval $(call KernelPackage,mwifiex-pcie))
  1663. $(eval $(call KernelPackage,mwifiex-sdio))
  1664. $(eval $(call KernelPackage,p54-common))
  1665. $(eval $(call KernelPackage,p54-pci))
  1666. $(eval $(call KernelPackage,p54-usb))
  1667. $(eval $(call KernelPackage,p54-spi))
  1668. $(eval $(call KernelPackage,rsi91x))
  1669. $(eval $(call KernelPackage,rsi91x-usb))
  1670. $(eval $(call KernelPackage,rsi91x-sdio))
  1671. $(eval $(call KernelPackage,rt2x00-lib))
  1672. $(eval $(call KernelPackage,rt2x00-mmio))
  1673. $(eval $(call KernelPackage,rt2x00-pci))
  1674. $(eval $(call KernelPackage,rt2x00-usb))
  1675. $(eval $(call KernelPackage,rt2800-lib))
  1676. $(eval $(call KernelPackage,rt2400-pci))
  1677. $(eval $(call KernelPackage,rt2500-pci))
  1678. $(eval $(call KernelPackage,rt2500-usb))
  1679. $(eval $(call KernelPackage,rt2800-mmio))
  1680. $(eval $(call KernelPackage,rt2800-soc))
  1681. $(eval $(call KernelPackage,rt2800-pci))
  1682. $(eval $(call KernelPackage,rt2800-usb))
  1683. $(eval $(call KernelPackage,rt61-pci))
  1684. $(eval $(call KernelPackage,rt73-usb))
  1685. $(eval $(call KernelPackage,rtl8180))
  1686. $(eval $(call KernelPackage,rtl8187))
  1687. $(eval $(call KernelPackage,rtlwifi))
  1688. $(eval $(call KernelPackage,rtlwifi-pci))
  1689. $(eval $(call KernelPackage,rtlwifi-btcoexist))
  1690. $(eval $(call KernelPackage,rtlwifi-usb))
  1691. $(eval $(call KernelPackage,rtl8192c-common))
  1692. $(eval $(call KernelPackage,rtl8192ce))
  1693. $(eval $(call KernelPackage,rtl8192se))
  1694. $(eval $(call KernelPackage,rtl8192de))
  1695. $(eval $(call KernelPackage,rtl8192cu))
  1696. $(eval $(call KernelPackage,rtl8821ae))
  1697. $(eval $(call KernelPackage,rtl8xxxu))
  1698. $(eval $(call KernelPackage,wlcore))
  1699. $(eval $(call KernelPackage,wl12xx))
  1700. $(eval $(call KernelPackage,wl18xx))
  1701. $(eval $(call KernelPackage,zd1211rw))