Makefile 67 KB

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