Makefile 63 KB

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