Makefile 64 KB

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