Makefile 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503
  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:=4.19-rc5-1
  11. PKG_RELEASE:=1
  12. PKG_SOURCE_URL:=https://mirrors.edge.kernel.org/pub/linux/kernel/projects/backports/stable/v4.19-rc5/
  13. PKG_HASH:=5b61e64ea79d22bbac9e8612d5d5485974f223de00d4ec250b0faf4b7baf9957
  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. b43 b43legacy brcmsmac brcmfmac brcmutil \
  22. hermes hermes-pci hermes-pcmcia hermes-plx\
  23. iwl-legacy iwl3945 iwl4965 iwlwifi \
  24. lib80211 \
  25. libipw ipw2100 ipw2200 \
  26. libertas-sdio libertas-usb libertas-spi \
  27. mac80211-hwsim \
  28. mt7601u \
  29. mwl8k mwifiex-pcie mwifiex-sdio \
  30. p54-common p54-pci p54-spi p54-usb \
  31. rsi91x rsi91x-usb rsi91x-sdio\
  32. rtl8180 rtl8187 \
  33. rtlwifi rtlwifi-pci rtlwifi-btcoexist rtlwifi-usb rtl8192c-common \
  34. rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8821ae \
  35. rtl8xxxu \
  36. wlcore wl12xx wl18xx \
  37. zd1211rw
  38. PKG_CONFIG_DEPENDS:= \
  39. CONFIG_PACKAGE_kmod-mac80211 \
  40. CONFIG_PACKAGE_MAC80211_DEBUGFS \
  41. CONFIG_PACKAGE_MAC80211_MESH \
  42. CONFIG_PACKAGE_MAC80211_TRACING \
  43. CONFIG_PACKAGE_B43_DEBUG \
  44. CONFIG_PACKAGE_B43_PIO \
  45. CONFIG_PACKAGE_B43_PHY_G \
  46. CONFIG_PACKAGE_B43_PHY_N \
  47. CONFIG_PACKAGE_B43_PHY_LP \
  48. CONFIG_PACKAGE_B43_PHY_HT \
  49. CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
  50. CONFIG_PACKAGE_B43_BUSES_BCMA \
  51. CONFIG_PACKAGE_B43_BUSES_SSB \
  52. CONFIG_PACKAGE_BRCM80211_DEBUG \
  53. CONFIG_PACKAGE_IWLWIFI_DEBUG \
  54. CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
  55. CONFIG_PACKAGE_RTLWIFI_DEBUG \
  56. include $(INCLUDE_DIR)/package.mk
  57. WMENU:=Wireless Drivers
  58. define KernelPackage/mac80211/Default
  59. SUBMENU:=$(WMENU)
  60. URL:=https://wireless.wiki.kernel.org/
  61. MAINTAINER:=Felix Fietkau <[email protected]>
  62. endef
  63. config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
  64. config-y:= \
  65. WLAN \
  66. NL80211_TESTMODE \
  67. CFG80211_WEXT \
  68. CFG80211_CERTIFICATION_ONUS \
  69. MAC80211_RC_MINSTREL \
  70. MAC80211_RC_MINSTREL_HT \
  71. MAC80211_RC_MINSTREL_VHT \
  72. MAC80211_RC_DEFAULT_MINSTREL \
  73. WLAN_VENDOR_ADMTEK \
  74. WLAN_VENDOR_ATH \
  75. WLAN_VENDOR_ATMEL \
  76. WLAN_VENDOR_BROADCOM \
  77. WLAN_VENDOR_CISCO \
  78. WLAN_VENDOR_INTEL \
  79. WLAN_VENDOR_INTERSIL \
  80. WLAN_VENDOR_MARVELL \
  81. WLAN_VENDOR_MEDIATEK \
  82. WLAN_VENDOR_RALINK \
  83. WLAN_VENDOR_REALTEK \
  84. WLAN_VENDOR_RSI \
  85. WLAN_VENDOR_ST \
  86. WLAN_VENDOR_TI \
  87. WLAN_VENDOR_ZYDAS \
  88. config-$(call config_package,cfg80211) += CFG80211
  89. config-$(call config_package,mac80211) += MAC80211
  90. config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
  91. include ath.mk
  92. include ralink.mk
  93. PKG_CONFIG_DEPENDS += \
  94. $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS))
  95. define KernelPackage/cfg80211
  96. $(call KernelPackage/mac80211/Default)
  97. TITLE:=cfg80211 - wireless configuration API
  98. DEPENDS+= +iw +wireless-regdb
  99. FILES:= \
  100. $(PKG_BUILD_DIR)/compat/compat.ko \
  101. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  102. endef
  103. define KernelPackage/cfg80211/description
  104. cfg80211 is the Linux wireless LAN (802.11) configuration API.
  105. endef
  106. define KernelPackage/mac80211
  107. $(call KernelPackage/mac80211/Default)
  108. TITLE:=Linux 802.11 Wireless Networking Stack
  109. # +kmod-crypto-cmac is a runtime only dependency of net/mac80211/aes_cmac.c
  110. DEPENDS+= +kmod-cfg80211 +hostapd-common
  111. KCONFIG:=\
  112. CONFIG_AVERAGE=y
  113. FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
  114. MENU:=1
  115. endef
  116. define KernelPackage/mac80211/config
  117. if PACKAGE_kmod-mac80211
  118. config PACKAGE_MAC80211_DEBUGFS
  119. bool "Export mac80211 internals in DebugFS"
  120. select KERNEL_DEBUG_FS
  121. default y
  122. help
  123. Select this to see extensive information about
  124. the internal state of mac80211 in debugfs.
  125. config PACKAGE_MAC80211_TRACING
  126. bool "Enable tracing (mac80211 and supported drivers)"
  127. select KERNEL_FTRACE
  128. select KERNEL_ENABLE_DEFAULT_TRACERS
  129. default n
  130. help
  131. Select this to enable tracing of mac80211 and
  132. related wifi drivers (using trace-cmd).
  133. config PACKAGE_MAC80211_MESH
  134. bool "Enable 802.11s mesh support"
  135. default y
  136. endif
  137. endef
  138. define KernelPackage/mac80211/description
  139. Generic IEEE 802.11 Networking Stack (mac80211)
  140. endef
  141. define KernelPackage/adm8211
  142. $(call KernelPackage/mac80211/Default)
  143. TITLE:=ADMTek 8211 support
  144. DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
  145. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
  146. AUTOLOAD:=$(call AutoProbe,adm8211)
  147. endef
  148. define KernelPackage/airo
  149. $(call KernelPackage/mac80211/Default)
  150. TITLE:=Cisco Aironet driver
  151. DEPENDS+=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-cfg80211 @TARGET_x86
  152. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/cisco/airo.ko
  153. AUTOLOAD:=$(call AutoProbe,airo)
  154. endef
  155. define KernelPackage/airo/description
  156. Kernel support for Cisco Aironet cards
  157. endef
  158. #Broadcom firmware
  159. ifneq ($(CONFIG_B43_FW_6_30),)
  160. PKG_B43_FWV4_NAME:=broadcom-wl
  161. PKG_B43_FWV4_VERSION:=6.30.163.46
  162. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
  163. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  164. PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  165. PKG_B43_FWV4_HASH:=a07c3b6b277833c7dbe61daa511f908cd66c5e2763eb7a0859abc36cd9335c2d
  166. else
  167. ifneq ($(CONFIG_B43_FW_5_10),)
  168. PKG_B43_FWV4_NAME:=broadcom-wl
  169. PKG_B43_FWV4_VERSION:=5.10.56.27.3
  170. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
  171. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
  172. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  173. PKG_B43_FWV4_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
  174. else
  175. ifneq ($(CONFIG_B43_FW_4_178),)
  176. PKG_B43_FWV4_NAME:=broadcom-wl
  177. PKG_B43_FWV4_VERSION:=4.178.10.4
  178. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  179. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  180. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  181. PKG_B43_FWV4_HASH:=32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
  182. else
  183. ifneq ($(CONFIG_B43_FW_5_100_138),)
  184. PKG_B43_FWV4_NAME:=broadcom-wl
  185. PKG_B43_FWV4_VERSION:=5.100.138
  186. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  187. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  188. PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  189. PKG_B43_FWV4_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
  190. else
  191. PKG_B43_FWV4_NAME:=broadcom-wl
  192. PKG_B43_FWV4_VERSION:=4.150.10.5
  193. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  194. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  195. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  196. PKG_B43_FWV4_HASH:=a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
  197. endif
  198. endif
  199. endif
  200. endif
  201. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  202. PKG_B43_FWV4_NAME:=broadcom-wl
  203. PKG_B43_FWV4_VERSION:=5.2
  204. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  205. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  206. PKG_B43_FWV4_SOURCE_URL:=http://netweb.ing.unibs.it/~openfwwf/firmware
  207. PKG_B43_FWV4_HASH:=9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc
  208. endif
  209. define Download/b43
  210. FILE:=$(PKG_B43_FWV4_SOURCE)
  211. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  212. HASH:=$(PKG_B43_FWV4_HASH)
  213. endef
  214. $(eval $(call Download,b43))
  215. define KernelPackage/b43
  216. $(call KernelPackage/mac80211/Default)
  217. TITLE:=Broadcom 43xx wireless support
  218. URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
  219. KCONFIG:= \
  220. CONFIG_HW_RANDOM=y
  221. # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
  222. DEPENDS += \
  223. @PCI_SUPPORT +kmod-mac80211 \
  224. $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
  225. $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
  226. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
  227. AUTOLOAD:=$(call AutoProbe,b43)
  228. MENU:=1
  229. endef
  230. define KernelPackage/b43/config
  231. config PACKAGE_B43_USE_SSB
  232. select PACKAGE_kmod-ssb
  233. tristate
  234. depends on !TARGET_brcm47xx && !TARGET_brcm63xx
  235. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
  236. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
  237. config PACKAGE_B43_USE_BCMA
  238. select PACKAGE_kmod-bcma
  239. tristate
  240. depends on !TARGET_brcm47xx && !TARGET_bcm53xx
  241. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
  242. default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
  243. if PACKAGE_kmod-b43
  244. choice
  245. prompt "b43 firmware version"
  246. default B43_FW_5_100_138
  247. help
  248. This option allows you to select the version of the b43 firmware.
  249. config B43_FW_4_150
  250. bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
  251. help
  252. Old stable firmware for BCM43xx devices.
  253. If unsure, select this.
  254. config B43_FW_4_178
  255. bool "Firmware 478.104 from driver 4.178.10.4"
  256. help
  257. Older firmware for BCM43xx devices.
  258. If unsure, select the "stable" firmware.
  259. config B43_FW_5_10
  260. bool "Firmware 508.1084 from driver 5.10.56.27"
  261. help
  262. Older firmware for BCM43xx devices.
  263. If unsure, select the "stable" firmware.
  264. config B43_FW_5_100_138
  265. bool "Firmware 666.2 from driver 5.100.138 (stable)"
  266. help
  267. The currently default firmware for BCM43xx devices.
  268. This firmware currently gets most of the testing and is needed for some N-PHY devices.
  269. If unsure, select the this firmware.
  270. config B43_FW_6_30
  271. bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
  272. help
  273. Newer experimental firmware for BCM43xx devices.
  274. This firmware is mostly untested.
  275. If unsure, select the "stable" firmware.
  276. config B43_OPENFIRMWARE
  277. bool "Open FirmWare for WiFi networks"
  278. help
  279. Opensource firmware for BCM43xx devices.
  280. Do _not_ select this, unless you know what you are doing.
  281. The Opensource firmware is not suitable for embedded devices, yet.
  282. It does not support QoS, which is bad for AccessPoints.
  283. It does not support hardware crypto acceleration, which is a showstopper
  284. for embedded devices with low CPU resources.
  285. If unsure, select the "stable" firmware.
  286. endchoice
  287. config B43_FW_SQUASH
  288. bool "Remove unnecessary firmware files"
  289. depends on !B43_OPENFIRMWARE
  290. default y
  291. help
  292. This options allows you to remove unnecessary b43 firmware files
  293. from the final rootfs image. This can reduce the rootfs size by
  294. up to 200k.
  295. If unsure, say Y.
  296. config B43_FW_SQUASH_COREREVS
  297. string "Core revisions to include"
  298. depends on B43_FW_SQUASH
  299. default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
  300. default "16,28,29,30" if TARGET_brcm47xx_mips74k
  301. default "5,6,7,8,9,10,11,13,15,16,28,29,30"
  302. help
  303. This is a comma seperated list of core revision numbers.
  304. Example (keep files for rev5 only):
  305. 5
  306. Example (keep files for rev5 and rev11):
  307. 5,11
  308. config B43_FW_SQUASH_PHYTYPES
  309. string "PHY types to include"
  310. depends on B43_FW_SQUASH
  311. default "G,N,LP" if TARGET_brcm47xx_legacy
  312. default "N,HT" if TARGET_brcm47xx_mips74k
  313. default "G,N,LP,HT"
  314. help
  315. This is a comma seperated list of PHY types:
  316. A => A-PHY
  317. AG => Dual A-PHY G-PHY
  318. G => G-PHY
  319. LP => LP-PHY
  320. N => N-PHY
  321. HT => HT-PHY
  322. LCN => LCN-PHY
  323. LCN40 => LCN40-PHY
  324. AC => AC-PHY
  325. Example (keep files for G-PHY only):
  326. G
  327. Example (keep files for G-PHY and N-PHY):
  328. G,N
  329. choice
  330. prompt "Supported buses"
  331. default PACKAGE_B43_BUSES_BCMA_AND_SSB
  332. help
  333. This allows choosing buses that b43 should support.
  334. config PACKAGE_B43_BUSES_BCMA_AND_SSB
  335. depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
  336. bool "BCMA and SSB"
  337. config PACKAGE_B43_BUSES_BCMA
  338. depends on !TARGET_brcm47xx_legacy
  339. bool "BCMA only"
  340. config PACKAGE_B43_BUSES_SSB
  341. depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
  342. bool "SSB only"
  343. endchoice
  344. config PACKAGE_B43_DEBUG
  345. bool "Enable debug output and debugfs for b43"
  346. default n
  347. help
  348. Enable additional debug output and runtime sanity checks for b43
  349. and enables the debugfs interface.
  350. If unsure, say N.
  351. config PACKAGE_B43_PIO
  352. bool "Enable support for PIO transfer mode"
  353. default n
  354. help
  355. Enable support for using PIO instead of DMA. Unless you have DMA
  356. transfer problems you don't need this.
  357. If unsure, say N.
  358. config PACKAGE_B43_PHY_G
  359. bool "Enable support for G-PHYs"
  360. default n if TARGET_brcm47xx_mips74k
  361. default y
  362. help
  363. Enable support for G-PHY. This includes support for the following devices:
  364. PCI: BCM4306, BCM4311, BCM4318
  365. SoC: BCM5352E, BCM4712
  366. If unsure, say Y.
  367. config PACKAGE_B43_PHY_N
  368. bool "Enable support for N-PHYs"
  369. default y
  370. help
  371. Enable support for N-PHY. This includes support for the following devices:
  372. PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
  373. SoC: BCM4716, BCM4717, BCM4718
  374. Currently only 11g speed is available.
  375. If unsure, say Y.
  376. config PACKAGE_B43_PHY_LP
  377. bool "Enable support for LP-PHYs"
  378. default n if TARGET_brcm47xx_mips74k
  379. default y
  380. help
  381. Enable support for LP-PHY. This includes support for the following devices:
  382. PCI: BCM4312
  383. SoC: BCM5354
  384. If unsure, say Y.
  385. config PACKAGE_B43_PHY_HT
  386. bool "Enable support for HT-PHYs"
  387. default n if TARGET_brcm47xx_legacy
  388. default y
  389. help
  390. Enable support for HT-PHY. This includes support for the following devices:
  391. PCI: BCM4331
  392. Currently only 11g speed is available.
  393. If unsure, say Y.
  394. config PACKAGE_B43_PHY_LCN
  395. bool "Enable support for LCN-PHYs"
  396. depends on BROKEN
  397. default n
  398. help
  399. Currently broken.
  400. If unsure, say N.
  401. endif
  402. endef
  403. define KernelPackage/b43/description
  404. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  405. endef
  406. define KernelPackage/b43legacy
  407. $(call KernelPackage/mac80211/Default)
  408. TITLE:=Broadcom 43xx-legacy wireless support
  409. URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
  410. KCONFIG:= \
  411. CONFIG_HW_RANDOM=y
  412. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
  413. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
  414. AUTOLOAD:=$(call AutoProbe,b43legacy)
  415. MENU:=1
  416. endef
  417. define KernelPackage/b43legacy/description
  418. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  419. endef
  420. define KernelPackage/brcmutil
  421. $(call KernelPackage/mac80211/Default)
  422. TITLE:=Broadcom IEEE802.11n common driver parts
  423. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  424. DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
  425. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
  426. AUTOLOAD:=$(call AutoProbe,brcmutil)
  427. MENU:=1
  428. endef
  429. define KernelPackage/brcmutil/description
  430. This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
  431. endef
  432. define KernelPackage/brcmutil/config
  433. if PACKAGE_kmod-brcmutil
  434. config PACKAGE_BRCM80211_DEBUG
  435. bool "Broadcom wireless driver debugging"
  436. help
  437. Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
  438. endif
  439. endef
  440. PKG_BRCMSMAC_FW_NAME:=broadcom-wl
  441. PKG_BRCMSMAC_FW_VERSION:=5.100.138
  442. PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
  443. PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
  444. PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
  445. PKG_BRCMSMAC_FW_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
  446. define Download/brcmsmac
  447. FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
  448. URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
  449. HASH:=$(PKG_BRCMSMAC_FW_HASH)
  450. endef
  451. $(eval $(call Download,brcmsmac))
  452. define KernelPackage/brcmsmac
  453. $(call KernelPackage/mac80211/Default)
  454. TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
  455. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  456. 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
  457. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
  458. AUTOLOAD:=$(call AutoProbe,brcmsmac)
  459. MENU:=1
  460. endef
  461. define KernelPackage/brcmsmac/description
  462. Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
  463. endef
  464. define KernelPackage/brcmsmac/config
  465. if PACKAGE_kmod-brcmsmac
  466. config BRCMSMAC_USE_FW_FROM_WL
  467. bool "Use firmware extracted from broadcom proprietary driver"
  468. default y
  469. help
  470. Instead of using the official brcmsmac firmware a firmware
  471. version 666.2 extracted from the proprietary Broadcom driver
  472. is used. This is needed to get core rev 17 used in bcm4716
  473. to work.
  474. If unsure, say Y.
  475. endif
  476. endef
  477. define KernelPackage/brcmfmac
  478. $(call KernelPackage/mac80211/Default)
  479. TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
  480. URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
  481. DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +kmod-brcmutil \
  482. +BRCMFMAC_SDIO:kmod-mmc @!TARGET_uml \
  483. +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
  484. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
  485. AUTOLOAD:=$(call AutoProbe,brcmfmac)
  486. endef
  487. define KernelPackage/brcmfmac/description
  488. Kernel module for Broadcom IEEE802.11n USB Wireless cards
  489. endef
  490. define KernelPackage/brcmfmac/config
  491. if PACKAGE_kmod-brcmfmac
  492. config BRCMFMAC_SDIO
  493. bool "Enable SDIO bus interface support"
  494. default y if TARGET_brcm2708
  495. default y if TARGET_sunxi
  496. default n
  497. help
  498. Enable support for cards attached to an SDIO bus.
  499. Select this option only if you are sure that your
  500. board has a Broadcom wireless chip atacched to
  501. that bus.
  502. config BRCMFMAC_USB
  503. bool "Enable USB bus interface support"
  504. depends on USB_SUPPORT
  505. default y
  506. help
  507. Supported USB connected chipsets:
  508. BCM43235, BCM43236, BCM43238 (all in revision 3 only)
  509. BCM43143, BCM43242, BCM43566, BCM43569
  510. config BRCMFMAC_PCIE
  511. bool "Enable PCIE bus interface support"
  512. depends on PCI_SUPPORT
  513. default y
  514. help
  515. Supported PCIe connected chipsets:
  516. BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
  517. endif
  518. endef
  519. define KernelPackage/hermes
  520. $(call KernelPackage/mac80211/Default)
  521. TITLE:=Hermes 802.11b chipset support
  522. DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
  523. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
  524. AUTOLOAD:=$(call AutoProbe,orinoco)
  525. endef
  526. define KernelPackage/hermes/description
  527. Kernel support for Hermes 802.11b chipsets
  528. endef
  529. define KernelPackage/hermes-pci
  530. $(call KernelPackage/mac80211/Default)
  531. TITLE:=Intersil Prism 2.5 PCI support
  532. DEPENDS:=@PCI_SUPPORT +kmod-hermes
  533. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
  534. AUTOLOAD:=$(call AutoProbe,orinoco_pci)
  535. endef
  536. define KernelPackage/hermes-pci/description
  537. Kernel modules for Intersil Prism 2.5 PCI support
  538. endef
  539. define KernelPackage/hermes-plx
  540. $(call KernelPackage/mac80211/Default)
  541. TITLE:=PLX9052 based PCI adaptor
  542. DEPENDS:=@PCI_SUPPORT +kmod-hermes
  543. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
  544. AUTOLOAD:=$(call AutoProbe,orinoco_plx)
  545. endef
  546. define KernelPackage/hermes-plx/description
  547. Kernel modules for Hermes in PLX9052 based PCI adaptors
  548. endef
  549. define KernelPackage/hermes-pcmcia
  550. $(call KernelPackage/mac80211/Default)
  551. TITLE:=Hermes based PCMCIA adaptors
  552. DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes
  553. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
  554. AUTOLOAD:=$(call AutoProbe,orinoco_cs)
  555. endef
  556. define KernelPackage/hermes-pcmcia/description
  557. Kernel modules for Hermes based PCMCIA adaptors
  558. endef
  559. define KernelPackage/iwlwifi
  560. $(call KernelPackage/mac80211/Default)
  561. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @!LINUX_3_18
  562. TITLE:=Intel AGN Wireless support
  563. FILES:= \
  564. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
  565. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
  566. $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
  567. AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
  568. MENU:=1
  569. endef
  570. define KernelPackage/iwlwifi/description
  571. iwlwifi kernel module for
  572. Intel Wireless WiFi Link 6250AGN Adapter
  573. Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
  574. Intel WiFi Link 1000BGN
  575. Intel Wireless WiFi 5150AGN
  576. Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
  577. Intel 6005 Series Wi-Fi Adapters
  578. Intel 6030 Series Wi-Fi Adapters
  579. Intel Wireless WiFi Link 6150BGN 2 Adapter
  580. Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
  581. Intel 2000 Series Wi-Fi Adapters
  582. Intel 7260 Wi-Fi Adapter
  583. Intel 3160 Wi-Fi Adapter
  584. Intel 7265 Wi-Fi Adapter
  585. Intel 8260 Wi-Fi Adapter
  586. Intel 3165 Wi-Fi Adapter
  587. endef
  588. define KernelPackage/iwlwifi/config
  589. if PACKAGE_kmod-iwlwifi
  590. config PACKAGE_IWLWIFI_DEBUG
  591. bool "Enable full debugging output in the iwlwifi driver"
  592. default n
  593. help
  594. This option will enable debug tracing output for the iwlwifi drivers
  595. This will result in the kernel module being ~100k larger. You can
  596. control which debug output is sent to the kernel log by setting the
  597. value in
  598. /sys/module/iwlwifi/parameters/debug
  599. This entry will only exist if this option is enabled.
  600. To set a value, simply echo an 8-byte hex value to the same file:
  601. % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
  602. You can find the list of debug mask values in:
  603. drivers/net/wireless/intel/iwlwifi/iwl-debug.h
  604. If this is your first time using this driver, you should say Y here
  605. as the debug information can assist others in helping you resolve
  606. any problems you may encounter.
  607. config PACKAGE_IWLWIFI_DEBUGFS
  608. bool "iwlwifi debugfs support"
  609. depends on PACKAGE_MAC80211_DEBUGFS
  610. default n
  611. help
  612. Enable creation of debugfs files for the iwlwifi drivers. This
  613. is a low-impact option that allows getting insight into the
  614. driver's state at runtime.
  615. endif
  616. endef
  617. define KernelPackage/iwl-legacy
  618. $(call KernelPackage/mac80211/Default)
  619. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
  620. TITLE:=Intel legacy Wireless support
  621. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
  622. AUTOLOAD:=$(call AutoProbe,iwlegacy)
  623. endef
  624. define KernelPackage/iwl-legacy/description
  625. iwl-legacy kernel module for legacy Intel wireless support
  626. endef
  627. define KernelPackage/iwl3945
  628. $(call KernelPackage/mac80211/Default)
  629. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
  630. TITLE:=Intel iwl3945 Wireless support
  631. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
  632. AUTOLOAD:=$(call AutoProbe,iwl3945)
  633. endef
  634. define KernelPackage/iwl3945/description
  635. iwl3945 kernel module for Intel 3945 support
  636. endef
  637. define KernelPackage/iwl4965
  638. $(call KernelPackage/mac80211/Default)
  639. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
  640. TITLE:=Intel iwl4965 Wireless support
  641. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
  642. AUTOLOAD:=$(call AutoProbe,iwl4965)
  643. endef
  644. define KernelPackage/iwl4965/description
  645. iwl4965 kernel module for Intel 4965 support
  646. endef
  647. define KernelPackage/lib80211
  648. $(call KernelPackage/mac80211/Default)
  649. TITLE:=802.11 Networking stack
  650. DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
  651. FILES:= \
  652. $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
  653. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
  654. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
  655. $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
  656. AUTOLOAD:=$(call AutoProbe, \
  657. lib80211 \
  658. lib80211_crypt_wep \
  659. lib80211_crypt_ccmp \
  660. lib80211_crypt_tkip \
  661. )
  662. endef
  663. define KernelPackage/lib80211/description
  664. Kernel modules for 802.11 Networking stack
  665. Includes:
  666. - lib80211
  667. - lib80211_crypt_wep
  668. - lib80211_crypt_tkip
  669. - lib80211_crytp_ccmp
  670. endef
  671. define KernelPackage/libipw
  672. $(call KernelPackage/mac80211/Default)
  673. TITLE:=libipw for ipw2100 and ipw2200
  674. DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-crypto-ecb +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN @!LINUX_3_18
  675. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
  676. AUTOLOAD:=$(call AutoProbe,libipw)
  677. endef
  678. define KernelPackage/libipw/description
  679. Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
  680. endef
  681. IPW2100_NAME:=ipw2100-fw
  682. IPW2100_VERSION:=1.3
  683. define Download/ipw2100
  684. URL:= \
  685. https://src.fedoraproject.org/repo/pkgs/ipw2100-firmware/ipw2100-fw-1.3.tgz/46aa75bcda1a00efa841f9707bbbd113/ \
  686. https://archlinux.mirror.pkern.at/other/packages/ipw2100-fw/ \
  687. http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
  688. http://firmware.openbsd.org/firmware-dist/
  689. FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  690. HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
  691. endef
  692. $(eval $(call Download,ipw2100))
  693. define KernelPackage/ipw2100
  694. $(call KernelPackage/mac80211/Default)
  695. TITLE:=Intel IPW2100 driver
  696. DEPENDS:=@PCI_SUPPORT +kmod-libipw
  697. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
  698. AUTOLOAD:=$(call AutoProbe,ipw2100)
  699. endef
  700. define KernelPackage/ipw2100/description
  701. Kernel support for Intel IPW2100
  702. Includes:
  703. - ipw2100
  704. endef
  705. IPW2200_NAME:=ipw2200-fw
  706. IPW2200_VERSION:=3.1
  707. define Download/ipw2200
  708. URL:= \
  709. https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-3.1.tgz/eaba788643c7cc7483dd67ace70f6e99/ \
  710. https://archlinux.mirror.pkern.at/other/packages/ipw2200-fw/ \
  711. http://mirror.ox.ac.uk/sites/ftp.openbsd.org/pub/OpenBSD/distfiles/firmware/ \
  712. http://firmware.openbsd.org/firmware-dist/
  713. FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  714. HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
  715. endef
  716. $(eval $(call Download,ipw2200))
  717. define KernelPackage/ipw2200
  718. $(call KernelPackage/mac80211/Default)
  719. TITLE:=Intel IPW2200 driver
  720. DEPENDS:=@PCI_SUPPORT +kmod-libipw
  721. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
  722. AUTOLOAD:=$(call AutoProbe,ipw2200)
  723. endef
  724. define KernelPackage/ipw2200/description
  725. Kernel support for Intel IPW2200
  726. Includes:
  727. - ipw2200
  728. endef
  729. define KernelPackage/libertas-usb
  730. $(call KernelPackage/mac80211/Default)
  731. DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware @!LINUX_3_18
  732. TITLE:=Marvell 88W8015 Wireless Driver
  733. FILES:= \
  734. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  735. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
  736. AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
  737. endef
  738. define KernelPackage/libertas-sdio
  739. $(call KernelPackage/mac80211/Default)
  740. DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware @!LINUX_3_18
  741. TITLE:=Marvell 88W8686 Wireless Driver
  742. FILES:= \
  743. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  744. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
  745. AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
  746. endef
  747. define KernelPackage/libertas-spi
  748. $(call KernelPackage/mac80211/Default)
  749. SUBMENU:=Wireless Drivers
  750. DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware @!LINUX_3_18
  751. KCONFIG := \
  752. CONFIG_SPI=y \
  753. CONFIG_SPI_MASTER=y
  754. TITLE:=Marvell 88W8686 SPI Wireless Driver
  755. FILES:= \
  756. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
  757. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
  758. AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
  759. endef
  760. define KernelPackage/mac80211-hwsim
  761. $(call KernelPackage/mac80211/Default)
  762. TITLE:=mac80211 HW simulation device
  763. DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
  764. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
  765. AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
  766. endef
  767. define KernelPackage/mt7601u
  768. $(call KernelPackage/mac80211/Default)
  769. TITLE:=MT7601U-based USB dongles Wireless Driver
  770. DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
  771. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
  772. AUTOLOAD:=$(call AutoProbe,mt7601u)
  773. endef
  774. define KernelPackage/mwl8k
  775. $(call KernelPackage/mac80211/Default)
  776. TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
  777. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwl8k
  778. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
  779. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
  780. AUTOLOAD:=$(call AutoProbe,mwl8k)
  781. endef
  782. define KernelPackage/mwl8k/description
  783. Kernel modules for Marvell TOPDOG 802.11 Wireless cards
  784. endef
  785. define KernelPackage/mwifiex-pcie
  786. $(call KernelPackage/mac80211/Default)
  787. TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
  788. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
  789. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-pcie-firmware
  790. FILES:= \
  791. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
  792. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
  793. AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
  794. endef
  795. define KernelPackage/mwifiex-pcie/description
  796. Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
  797. endef
  798. define KernelPackage/mwifiex-sdio
  799. $(call KernelPackage/mac80211/Default)
  800. TITLE:=Driver for Marvell 802.11n/802.11ac SDIO Wireless cards
  801. URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
  802. DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-sdio-firmware
  803. FILES:= \
  804. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
  805. $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
  806. AUTOLOAD:=$(call AutoProbe,mwifiex_sdio)
  807. endef
  808. define KernelPackage/mwifiex-sdio/description
  809. Kernel modules for Marvell 802.11n/802.11ac SDIO Wireless cards
  810. endef
  811. define KernelPackage/p54/Default
  812. $(call KernelPackage/mac80211/Default)
  813. TITLE:=Prism54 Drivers
  814. endef
  815. define KernelPackage/p54/description
  816. Kernel module for Prism54 chipsets (mac80211)
  817. endef
  818. define KernelPackage/p54-common
  819. $(call KernelPackage/p54/Default)
  820. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
  821. TITLE+= (COMMON)
  822. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
  823. endef
  824. define KernelPackage/p54-pci
  825. $(call KernelPackage/p54/Default)
  826. TITLE+= (PCI)
  827. DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
  828. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
  829. AUTOLOAD:=$(call AutoProbe,p54pci)
  830. endef
  831. define KernelPackage/p54-usb
  832. $(call KernelPackage/p54/Default)
  833. TITLE+= (USB)
  834. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
  835. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
  836. AUTOLOAD:=$(call AutoProbe,p54usb)
  837. endef
  838. define KernelPackage/p54-spi
  839. $(call KernelPackage/p54/Default)
  840. TITLE+= (SPI)
  841. DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
  842. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
  843. AUTOLOAD:=$(call AutoProbe,p54spi)
  844. endef
  845. define KernelPackage/rsi91x
  846. $(call KernelPackage/mac80211/Default)
  847. TITLE:=Redpine Signals Inc 91x WLAN driver support
  848. DEPENDS+= +kmod-mac80211 +rs9113-firmware
  849. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko
  850. endef
  851. define KernelPackage/rsi91x-usb
  852. $(call KernelPackage/mac80211/Default)
  853. TITLE:=Redpine Signals USB bus support
  854. DEPENDS+= +kmod-mac80211 +kmod-usb2 +kmod-rsi91x +rs9113-firmware
  855. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko
  856. AUTOLOAD:=$(call AutoProbe,rsi_usb)
  857. endef
  858. define KernelPackage/rsi91x-sdio
  859. $(call KernelPackage/mac80211/Default)
  860. TITLE:=Redpine Signals SDIO bus support
  861. DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware
  862. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko
  863. AUTOLOAD:=$(call AutoProbe,rsi_sdio)
  864. endef
  865. define KernelPackage/rtl818x/Default
  866. $(call KernelPackage/mac80211/Default)
  867. TITLE:=Realtek Drivers for RTL818x devices
  868. URL:=https://wireless.wiki.kernel.org/en/users/drivers/rtl8187
  869. DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
  870. endef
  871. define KernelPackage/rtl8180
  872. $(call KernelPackage/rtl818x/Default)
  873. DEPENDS+= @PCI_SUPPORT
  874. TITLE+= (RTL8180 PCI)
  875. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
  876. AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
  877. endef
  878. define KernelPackage/rtl8187
  879. $(call KernelPackage/rtl818x/Default)
  880. DEPENDS+= @USB_SUPPORT +kmod-usb-core
  881. TITLE+= (RTL8187 USB)
  882. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
  883. AUTOLOAD:=$(call AutoProbe,rtl8187)
  884. endef
  885. define KernelPackage/rtlwifi/config
  886. config PACKAGE_RTLWIFI_DEBUG
  887. bool "Realtek wireless debugging"
  888. depends on PACKAGE_kmod-rtlwifi
  889. help
  890. Say Y, if you want to debug realtek wireless drivers.
  891. endef
  892. define KernelPackage/rtlwifi
  893. $(call KernelPackage/mac80211/Default)
  894. TITLE:=Realtek common driver part
  895. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
  896. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
  897. HIDDEN:=1
  898. endef
  899. define KernelPackage/rtlwifi-pci
  900. $(call KernelPackage/mac80211/Default)
  901. TITLE:=Realtek common driver part (PCI support)
  902. DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
  903. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
  904. AUTOLOAD:=$(call AutoProbe,rtl_pci)
  905. HIDDEN:=1
  906. endef
  907. define KernelPackage/rtlwifi-btcoexist
  908. $(call KernelPackage/mac80211/Default)
  909. TITLE:=Realtek BT coexist support
  910. DEPENDS+= +kmod-rtlwifi
  911. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist.ko
  912. AUTOLOAD:=$(call AutoProbe,btcoexist)
  913. HIDDEN:=1
  914. endef
  915. define KernelPackage/rtlwifi-usb
  916. $(call KernelPackage/mac80211/Default)
  917. TITLE:=Realtek common driver part (USB support)
  918. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
  919. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
  920. AUTOLOAD:=$(call AutoProbe,rtl_usb)
  921. HIDDEN:=1
  922. endef
  923. define KernelPackage/rtl8192c-common
  924. $(call KernelPackage/mac80211/Default)
  925. TITLE:=Realtek RTL8192CE/RTL8192CU common support module
  926. DEPENDS+= +kmod-rtlwifi
  927. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
  928. HIDDEN:=1
  929. endef
  930. define KernelPackage/rtl8192ce
  931. $(call KernelPackage/mac80211/Default)
  932. TITLE:=Realtek RTL8192CE/RTL8188CE support
  933. DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
  934. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
  935. AUTOLOAD:=$(call AutoProbe,rtl8192ce)
  936. endef
  937. define KernelPackage/rtl8192se
  938. $(call KernelPackage/mac80211/Default)
  939. TITLE:=Realtek RTL8192SE/RTL8191SE support
  940. DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
  941. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
  942. AUTOLOAD:=$(call AutoProbe,rtl8192se)
  943. endef
  944. define KernelPackage/rtl8192de
  945. $(call KernelPackage/mac80211/Default)
  946. TITLE:=Realtek RTL8192DE/RTL8188DE support
  947. DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
  948. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
  949. AUTOLOAD:=$(call AutoProbe,rtl8192de)
  950. endef
  951. define KernelPackage/rtl8192cu
  952. $(call KernelPackage/mac80211/Default)
  953. TITLE:=Realtek RTL8192CU/RTL8188CU support
  954. DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
  955. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
  956. AUTOLOAD:=$(call AutoProbe,rtl8192cu)
  957. endef
  958. define KernelPackage/rtl8821ae
  959. $(call KernelPackage/mac80211/Default)
  960. TITLE:=Realtek RTL8821AE support
  961. DEPENDS+= +kmod-rtlwifi-btcoexist +kmod-rtlwifi-pci +rtl8821ae-firmware
  962. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
  963. AUTOLOAD:=$(call AutoProbe,rtl8821ae)
  964. endef
  965. define KernelPackage/rtl8xxxu
  966. $(call KernelPackage/mac80211/Default)
  967. TITLE:=alternative Realtek RTL8XXXU support
  968. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  969. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
  970. AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
  971. endef
  972. define KernelPackage/rtl8xxxu/description
  973. This is an alternative driver for various Realtek RTL8XXX
  974. parts written to utilize the Linux mac80211 stack.
  975. The driver is known to work with a number of RTL8723AU,
  976. RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
  977. This driver is under development and has a limited feature
  978. set. In particular it does not yet support 40MHz channels
  979. and power management. However it should have a smaller
  980. memory footprint than the vendor drivers and benetifs
  981. from the in kernel mac80211 stack.
  982. It can coexist with drivers from drivers/staging/rtl8723au,
  983. drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
  984. but you will need to control which module you wish to load.
  985. RTL8XXXU_UNTESTED is enabled
  986. This option enables detection of Realtek 8723/8188/8191/8192 WiFi
  987. USB devices which have not been tested directly by the driver
  988. author or reported to be working by third parties.
  989. Please report your results!
  990. endef
  991. define KernelPackage/wlcore
  992. $(call KernelPackage/mac80211/Default)
  993. TITLE:=TI common driver part
  994. DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
  995. FILES:= \
  996. $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
  997. $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
  998. AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
  999. endef
  1000. define KernelPackage/wlcore/description
  1001. This module contains some common parts needed by TI Wireless drivers.
  1002. endef
  1003. define KernelPackage/wl12xx
  1004. $(call KernelPackage/mac80211/Default)
  1005. TITLE:=Driver for TI WL12xx
  1006. URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
  1007. DEPENDS+= +kmod-wlcore +wl12xx-firmware
  1008. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
  1009. AUTOLOAD:=$(call AutoProbe,wl12xx)
  1010. endef
  1011. define KernelPackage/wl12xx/description
  1012. Kernel modules for TI WL12xx
  1013. endef
  1014. define KernelPackage/wl18xx
  1015. $(call KernelPackage/mac80211/Default)
  1016. TITLE:=Driver for TI WL18xx
  1017. URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
  1018. DEPENDS+= +kmod-wlcore +wl18xx-firmware
  1019. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
  1020. AUTOLOAD:=$(call AutoProbe,wl18xx)
  1021. endef
  1022. define KernelPackage/wl18xx/description
  1023. Kernel modules for TI WL18xx
  1024. endef
  1025. ZD1211FW_NAME:=zd1211-firmware
  1026. ZD1211FW_VERSION:=1.4
  1027. define Download/zd1211rw
  1028. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  1029. URL:=@SF/zd1211/
  1030. HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
  1031. endef
  1032. $(eval $(call Download,zd1211rw))
  1033. define KernelPackage/zd1211rw
  1034. $(call KernelPackage/mac80211/Default)
  1035. TITLE:=Zydas ZD1211 support
  1036. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  1037. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
  1038. AUTOLOAD:=$(call AutoProbe,zd1211rw)
  1039. endef
  1040. ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
  1041. config-y += \
  1042. CFG80211_DEBUGFS \
  1043. MAC80211_DEBUGFS
  1044. endif
  1045. ifdef CONFIG_PACKAGE_MAC80211_TRACING
  1046. config-y += \
  1047. IWLWIFI_DEVICE_TRACING
  1048. endif
  1049. config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
  1050. config-$(call config_package,airo) += AIRO
  1051. config-$(call config_package,b43) += B43
  1052. config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
  1053. config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
  1054. config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
  1055. config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
  1056. config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
  1057. config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
  1058. config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
  1059. config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
  1060. config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
  1061. config-$(call config_package,b43legacy) += B43LEGACY
  1062. config-y += B43LEGACY_DMA_MODE
  1063. config-$(call config_package,brcmutil) += BRCMUTIL
  1064. config-$(call config_package,brcmsmac) += BRCMSMAC
  1065. config-$(call config_package,brcmfmac) += BRCMFMAC
  1066. config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
  1067. config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
  1068. config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
  1069. config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
  1070. config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
  1071. config-$(call config_package,mt7601u) += MT7601U
  1072. config-y += WL_MEDIATEK
  1073. config-$(call config_package,iwl-legacy) += IWLEGACY
  1074. config-$(call config_package,iwl3945) += IWL3945
  1075. config-$(call config_package,iwl4965) += IWL4965
  1076. config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
  1077. config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
  1078. config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
  1079. config-$(call config_package,libipw) += LIBIPW
  1080. config-$(call config_package,ipw2100) += IPW2100
  1081. config-$(call config_package,ipw2200) += IPW2200
  1082. config-$(call config_package,p54-common) += P54_COMMON
  1083. config-$(call config_package,p54-pci) += P54_PCI
  1084. config-$(call config_package,p54-usb) += P54_USB
  1085. config-$(call config_package,p54-spi) += P54_SPI
  1086. config-$(call config_package,hermes) += HERMES
  1087. config-$(call config_package,hermes-pci) += PCI_HERMES
  1088. config-$(call config_package,hermes-plx) += PLX_HERMES
  1089. config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
  1090. config-y += HERMES_PRISM
  1091. config-$(call config_package,adm8211) += ADM8211
  1092. config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
  1093. config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
  1094. config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
  1095. config-$(call config_package,mwl8k) += MWL8K
  1096. config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
  1097. config-$(call config_package,mwifiex-sdio) += MWIFIEX MWIFIEX_SDIO
  1098. config-$(call config_package,rtl8180) += RTL8180
  1099. config-$(call config_package,rtl8187) += RTL8187
  1100. config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
  1101. config-$(call config_package,wl12xx) += WL12XX
  1102. config-$(call config_package,wl18xx) += WL18XX
  1103. config-y += WL_TI WILINK_PLATFORM_DATA
  1104. config-$(call config_package,zd1211rw) += ZD1211RW
  1105. config-$(call config_package,rsi91x) += RSI_91X
  1106. config-$(call config_package,rsi91x-usb) += RSI_USB
  1107. config-$(call config_package,rsi91x-sdio) += RSI_SDIO
  1108. config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
  1109. config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
  1110. config-$(call config_package,rtlwifi-btcoexist) += RTLBTCOEXIST
  1111. config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
  1112. config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
  1113. config-$(call config_package,rtl8192ce) += RTL8192CE
  1114. config-$(call config_package,rtl8192se) += RTL8192SE
  1115. config-$(call config_package,rtl8192de) += RTL8192DE
  1116. config-$(call config_package,rtl8192cu) += RTL8192CU
  1117. config-$(call config_package,rtl8821ae) += RTL8821AE
  1118. config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
  1119. config-$(call config_package,rtl8xxxu) += RTL8XXXU
  1120. config-y += RTL8XXXU_UNTESTED
  1121. config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
  1122. MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
  1123. $(KERNEL_MAKE_FLAGS) \
  1124. EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
  1125. KLIB_BUILD="$(LINUX_DIR)" \
  1126. MODPROBE=true \
  1127. KLIB=$(TARGET_MODULES_DIR) \
  1128. KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
  1129. KBUILD_LDFLAGS_MODULE_PREREQ=
  1130. define ConfigVars
  1131. $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
  1132. ))
  1133. endef
  1134. define mac80211_config
  1135. $(call ConfigVars,m)$(call ConfigVars,y)
  1136. endef
  1137. $(eval $(call shexport,mac80211_config))
  1138. define Build/Prepare
  1139. rm -rf $(PKG_BUILD_DIR)
  1140. mkdir -p $(PKG_BUILD_DIR)
  1141. $(PKG_UNPACK)
  1142. $(Build/Patch)
  1143. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  1144. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  1145. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  1146. rm -rf \
  1147. $(PKG_BUILD_DIR)/include/linux/ssb \
  1148. $(PKG_BUILD_DIR)/include/linux/bcma \
  1149. $(PKG_BUILD_DIR)/include/net/bluetooth
  1150. rm -f \
  1151. $(PKG_BUILD_DIR)/include/linux/cordic.h \
  1152. $(PKG_BUILD_DIR)/include/linux/crc8.h \
  1153. $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
  1154. $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
  1155. $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
  1156. $(PKG_BUILD_DIR)/include/net/ieee80211.h \
  1157. $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
  1158. echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
  1159. endef
  1160. ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
  1161. define Build/Compile/kmod
  1162. rm -rf $(PKG_BUILD_DIR)/modules
  1163. +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
  1164. endef
  1165. endif
  1166. #do not Build/Configure for EXTERNAL KERNEL
  1167. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  1168. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  1169. define Build/Configure
  1170. cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
  1171. cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
  1172. cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
  1173. endef
  1174. endif
  1175. endif
  1176. define Build/Patch
  1177. $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
  1178. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
  1179. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
  1180. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
  1181. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
  1182. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
  1183. $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
  1184. $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
  1185. endef
  1186. define Quilt/Refresh/Package
  1187. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/build,build/)
  1188. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/subsys,subsys/)
  1189. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath,ath/)
  1190. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
  1191. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
  1192. $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/)
  1193. endef
  1194. define Build/Compile
  1195. $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
  1196. $(MAKE) $(MAKE_OPTS) allnoconfig
  1197. $(call Build/Compile/kmod)
  1198. endef
  1199. define Build/InstallDev
  1200. mkdir -p \
  1201. $(1)/usr/include/mac80211 \
  1202. $(1)/usr/include/mac80211-backport \
  1203. $(1)/usr/include/mac80211/ath \
  1204. $(1)/usr/include/net/mac80211
  1205. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  1206. $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
  1207. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  1208. $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
  1209. rm -f $(1)/usr/include/mac80211-backport/linux/module.h
  1210. endef
  1211. define KernelPackage/b43/install
  1212. rm -rf $(1)/lib/firmware/
  1213. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1214. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1215. else
  1216. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1217. endif
  1218. $(INSTALL_DIR) $(1)/lib/firmware/
  1219. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1220. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  1221. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  1222. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  1223. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  1224. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  1225. else
  1226. b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  1227. endif
  1228. ifneq ($(CONFIG_B43_FW_SQUASH),)
  1229. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  1230. endif
  1231. endef
  1232. define KernelPackage/brcmsmac/install
  1233. $(INSTALL_DIR) $(1)/lib/firmware/brcm
  1234. ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
  1235. tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1236. b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
  1237. endif
  1238. endef
  1239. define KernelPackage/cfg80211/install
  1240. $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
  1241. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  1242. $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
  1243. $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
  1244. $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect
  1245. endef
  1246. define KernelPackage/ipw2100/install
  1247. $(INSTALL_DIR) $(1)/lib/firmware
  1248. $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
  1249. endef
  1250. define KernelPackage/ipw2200/install
  1251. $(INSTALL_DIR) $(1)/lib/firmware
  1252. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
  1253. endef
  1254. define KernelPackage/zd1211rw/install
  1255. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  1256. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  1257. endef
  1258. $(eval $(foreach drv,$(PKG_DRIVERS),$(call KernelPackage,$(drv))))
  1259. $(eval $(call KernelPackage,cfg80211))
  1260. $(eval $(call KernelPackage,mac80211))