Makefile 64 KB

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