Makefile 68 KB

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