Makefile 65 KB

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