2
0

Makefile 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603
  1. #
  2. # Copyright (C) 2007-2010 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:=2011-05-13
  11. PKG_RELEASE:=1
  12. PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
  13. PKG_MD5SUM:=8670d18633dbd28b19168abe3ecd0357
  14. PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
  15. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
  16. PKG_BUILD_PARALLEL:=1
  17. PKG_DRIVERS = \
  18. ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
  19. rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
  20. rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
  21. rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
  22. ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
  23. mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
  24. iwl-legacy iwl3945 iwl4965 iwlagn
  25. PKG_CONFIG_DEPENDS:= \
  26. CONFIG_PACKAGE_kmod-mac80211 \
  27. $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
  28. CONFIG_PACKAGE_MAC80211_DEBUGFS \
  29. CONFIG_PACKAGE_ATH_DEBUG \
  30. CONFIG_PACKAGE_B43_DEBUG \
  31. CONFIG_PACKAGE_B43_PIO \
  32. CONFIG_PACKAGE_B43_N_PHY \
  33. CONFIG_ATH_USER_REGD \
  34. CARL9170_FW_VERSION:=1.9.2
  35. include $(INCLUDE_DIR)/package.mk
  36. WMENU:=Wireless Drivers
  37. define KernelPackage/mac80211/Default
  38. SUBMENU:=$(WMENU)
  39. URL:=http://linuxwireless.org/
  40. MAINTAINER:=Felix Fietkau <[email protected]>
  41. DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
  42. endef
  43. define KernelPackage/cfg80211
  44. $(call KernelPackage/mac80211/Default)
  45. TITLE:=cfg80211 - wireless configuration API
  46. DEPENDS+= +wireless-tools +iw +crda
  47. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
  48. FILES:= \
  49. $(PKG_BUILD_DIR)/compat/compat.ko \
  50. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  51. AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
  52. else
  53. FILES:= \
  54. $(PKG_BUILD_DIR)/compat/compat.ko \
  55. $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
  56. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  57. AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
  58. endif
  59. endef
  60. define KernelPackage/cfg80211/description
  61. cfg80211 is the Linux wireless LAN (802.11) configuration API.
  62. endef
  63. define KernelPackage/mac80211
  64. $(call KernelPackage/mac80211/Default)
  65. TITLE:=Linux 802.11 Wireless Networking Stack
  66. DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
  67. KCONFIG:=\
  68. CONFIG_AVERAGE=y
  69. FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
  70. AUTOLOAD:=$(call AutoLoad,21,mac80211)
  71. MENU:=1
  72. endef
  73. define KernelPackage/mac80211/config
  74. menu "Configuration"
  75. depends on PACKAGE_kmod-mac80211
  76. config PACKAGE_MAC80211_DEBUGFS
  77. bool "Export mac80211 internals in DebugFS"
  78. default y
  79. help
  80. Select this to see extensive information about
  81. the internal state of mac80211 in debugfs.
  82. Say N unless you know you need this.
  83. endmenu
  84. endef
  85. define KernelPackage/mac80211/description
  86. Generic IEEE 802.11 Networking Stack (mac80211)
  87. endef
  88. # Prism54 drivers
  89. P54PCIFW:=2.13.12.0.arm
  90. P54USBFW:=2.13.24.0.lm87.arm
  91. P54SPIFW:=2.13.0.0.a.13.14.arm
  92. CARL9170_FW:=carl9170-1.fw
  93. define Download/p54usb
  94. FILE:=$(P54USBFW)
  95. URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
  96. MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
  97. endef
  98. $(eval $(call Download,p54usb))
  99. define Download/p54pci
  100. FILE:=$(P54PCIFW)
  101. URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
  102. MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
  103. endef
  104. $(eval $(call Download,p54pci))
  105. define Download/p54spi
  106. FILE:=$(P54SPIFW)
  107. URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
  108. MD5SUM:=42661f8ecbadd88012807493f596081d
  109. endef
  110. $(eval $(call Download,p54spi))
  111. define Download/carl9170
  112. FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
  113. URL:=http://downloads.openwrt.org/sources/
  114. MD5SUM:=9e33ac39dcd610aa1ad80bbf4f1abccf
  115. endef
  116. $(eval $(call Download,carl9170))
  117. define KernelPackage/p54/Default
  118. $(call KernelPackage/mac80211/Default)
  119. TITLE:=Prism54 Drivers
  120. endef
  121. define KernelPackage/p54/description
  122. Kernel module for Prism54 chipsets (mac80211)
  123. endef
  124. define KernelPackage/p54-common
  125. $(call KernelPackage/p54/Default)
  126. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-crc-ccitt
  127. TITLE+= (COMMON)
  128. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
  129. AUTOLOAD:=$(call AutoLoad,30,p54common)
  130. endef
  131. define KernelPackage/p54-pci
  132. $(call KernelPackage/p54/Default)
  133. TITLE+= (PCI)
  134. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  135. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
  136. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  137. endef
  138. define KernelPackage/p54-usb
  139. $(call KernelPackage/p54/Default)
  140. TITLE+= (USB)
  141. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  142. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
  143. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  144. endef
  145. define KernelPackage/p54-spi
  146. $(call KernelPackage/p54/Default)
  147. TITLE+= (SPI)
  148. DEPENDS+= @TARGET_omap24xx +kmod-p54-common
  149. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
  150. AUTOLOAD:=$(call AutoLoad,31,p54spi)
  151. endef
  152. # Ralink rt2x00 drivers
  153. RT61FW:=RT61_Firmware_V1.2.zip
  154. RT71FW:=RT71W_Firmware_V1.8.zip
  155. RT2860FW:=RT2860_Firmware_V11.zip
  156. RT2870FW:=RT2870_Firmware_V8.zip
  157. define Download/rt61
  158. FILE:=$(RT61FW)
  159. URL:=http://www.ralinktech.com.tw/data/
  160. MD5SUM:=d4c690c93b470bc9a681297c2adc6281
  161. endef
  162. $(eval $(call Download,rt61))
  163. define Download/rt71w
  164. FILE:=$(RT71FW)
  165. URL:=http://www.ralinktech.com.tw/data/
  166. MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
  167. endef
  168. $(eval $(call Download,rt71w))
  169. define Download/rt2860
  170. FILE:=$(RT2860FW)
  171. URL:=http://www.ralinktech.com.tw/data/drivers
  172. MD5SUM:=440a81756a52c53528f16faa41c40124
  173. endef
  174. $(eval $(call Download,rt2860))
  175. define Download/rt2870
  176. FILE:=$(RT2870FW)
  177. URL:=http://www.ralinktech.com.tw/data/drivers
  178. MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
  179. endef
  180. $(eval $(call Download,rt2870))
  181. AR9170FW:=ar9170.fw
  182. define Download/ar9170
  183. FILE:=$(AR9170FW)
  184. URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
  185. MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
  186. endef
  187. $(eval $(call Download,ar9170))
  188. NEED_RT2X00_LIB_CRYPTO:=y
  189. NEED_RT2X00_LIB_FIRMWARE:=y
  190. NEED_RT2X00_LIB_HT:=y
  191. NEED_RT2X00_LIB_LEDS:=y
  192. define KernelPackage/rt2x00/Default
  193. $(call KernelPackage/mac80211/Default)
  194. TITLE:=Ralink Drivers for RT2x00 cards
  195. endef
  196. define KernelPackage/rt2x00-lib
  197. $(call KernelPackage/rt2x00/Default)
  198. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
  199. TITLE+= (LIB)
  200. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
  201. AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
  202. MENU:=1
  203. endef
  204. define KernelPackage/rt2x00-lib/config
  205. menu "Configuration"
  206. depends PACKAGE_kmod-rt2x00-lib
  207. config PACKAGE_RT2X00_LIB_DEBUGFS
  208. bool "Enable rt2x00 debugfs support"
  209. depends PACKAGE_MAC80211_DEBUGFS
  210. help
  211. Enable creation of debugfs files for the rt2x00 drivers.
  212. These debugfs files support both reading and writing of the
  213. most important register types of the rt2x00 hardware.
  214. config PACKAGE_RT2X00_DEBUG
  215. bool "Enable rt2x00 debug output"
  216. help
  217. Enable debugging output for all rt2x00 modules
  218. endmenu
  219. endef
  220. define KernelPackage/rt2x00-pci
  221. $(call KernelPackage/rt2x00/Default)
  222. DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
  223. TITLE+= (PCI)
  224. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
  225. AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
  226. endef
  227. define KernelPackage/rt2x00-usb
  228. $(call KernelPackage/rt2x00/Default)
  229. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
  230. TITLE+= (USB)
  231. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
  232. AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
  233. endef
  234. define KernelPackage/rt2x00-soc
  235. $(call KernelPackage/rt2x00/Default)
  236. DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
  237. TITLE+= (SoC)
  238. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
  239. AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
  240. endef
  241. define KernelPackage/rt2800-lib
  242. $(call KernelPackage/rt2x00/Default)
  243. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
  244. TITLE+= (rt2800 LIB)
  245. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
  246. AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
  247. endef
  248. define KernelPackage/rt2400-pci
  249. $(call KernelPackage/rt2x00/Default)
  250. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  251. TITLE+= (RT2400 PCI)
  252. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
  253. AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
  254. endef
  255. define KernelPackage/rt2500-pci
  256. $(call KernelPackage/rt2x00/Default)
  257. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  258. TITLE+= (RT2500 PCI)
  259. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
  260. AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
  261. endef
  262. define KernelPackage/rt2500-usb
  263. $(call KernelPackage/rt2x00/Default)
  264. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  265. TITLE+= (RT2500 USB)
  266. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
  267. AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
  268. endef
  269. define KernelPackage/rt61-pci
  270. $(call KernelPackage/rt2x00/Default)
  271. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  272. TITLE+= (RT2x61 PCI)
  273. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
  274. AUTOLOAD:=$(call AutoLoad,27,rt61pci)
  275. endef
  276. define KernelPackage/rt73-usb
  277. $(call KernelPackage/rt2x00/Default)
  278. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  279. TITLE+= (RT73 USB)
  280. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
  281. AUTOLOAD:=$(call AutoLoad,27,rt73usb)
  282. endef
  283. define KernelPackage/rt2800-pci
  284. $(call KernelPackage/rt2x00/Default)
  285. DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
  286. TITLE+= (RT2860 PCI)
  287. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
  288. AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
  289. endef
  290. define KernelPackage/rt2800-usb
  291. $(call KernelPackage/rt2x00/Default)
  292. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
  293. TITLE+= (RT2870 USB)
  294. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
  295. AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
  296. endef
  297. define KernelPackage/rtl818x/Default
  298. $(call KernelPackage/mac80211/Default)
  299. TITLE:=Realtek Drivers for RTL818x devices
  300. URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
  301. DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
  302. endef
  303. define KernelPackage/rtl8180
  304. $(call KernelPackage/rtl818x/Default)
  305. DEPENDS+= @PCI_SUPPORT
  306. TITLE+= (RTL8180 PCI)
  307. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
  308. AUTOLOAD:=$(call AutoLoad,27,rtl8180)
  309. endef
  310. define KernelPackage/rtl8187
  311. $(call KernelPackage/rtl818x/Default)
  312. DEPENDS+= @USB_SUPPORT +kmod-usb-core
  313. TITLE+= (RTL8187 USB)
  314. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
  315. AUTOLOAD:=$(call AutoLoad,27,rtl8187)
  316. endef
  317. ZD1211FW_NAME:=zd1211-firmware
  318. ZD1211FW_VERSION:=1.4
  319. define Download/zd1211rw
  320. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  321. URL:=@SF/zd1211/
  322. MD5SUM:=19f28781d76569af8551c9d11294c870
  323. endef
  324. $(eval $(call Download,zd1211rw))
  325. define KernelPackage/zd1211rw
  326. $(call KernelPackage/mac80211/Default)
  327. TITLE:=Zydas ZD1211 support
  328. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  329. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
  330. AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
  331. endef
  332. define KernelPackage/ath/config
  333. menu "Configuration"
  334. depends on PACKAGE_kmod-ath
  335. config ATH_USER_REGD
  336. bool "Force Atheros drivers to respect the user's regdomain settings"
  337. help
  338. Atheros' idea of regulatory handling is that the EEPROM of the card defines
  339. the regulatory limits and the user is only allowed to restrict the settings
  340. even further, even if the country allows frequencies or power levels that
  341. are forbidden by the EEPROM settings.
  342. Select this option if you want the driver to respect the user's decision about
  343. regulatory settings.
  344. config PACKAGE_ATH_DEBUG
  345. bool "Atheros wireless debugging"
  346. help
  347. Say Y, if you want to debug atheros wireless drivers.
  348. Right now only ath9k makes use of this.
  349. endmenu
  350. endef
  351. define KernelPackage/ath
  352. $(call KernelPackage/mac80211/Default)
  353. TITLE:=Atheros common driver part
  354. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
  355. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
  356. AUTOLOAD:=$(call AutoLoad,26,ath)
  357. MENU:=1
  358. endef
  359. define KernelPackage/ath/description
  360. This module contains some common parts needed by Atheros Wireless drivers.
  361. endef
  362. define KernelPackage/ath5k
  363. $(call KernelPackage/mac80211/Default)
  364. TITLE:=Atheros 5xxx wireless cards support
  365. URL:=http://linuxwireless.org/en/users/Drivers/ath5k
  366. DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
  367. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
  368. AUTOLOAD:=$(call AutoLoad,27,ath5k)
  369. endef
  370. define KernelPackage/ath5k/description
  371. This module adds support for wireless adapters based on
  372. Atheros 5xxx chipset.
  373. endef
  374. define KernelPackage/ath9k-common
  375. $(call KernelPackage/mac80211/Default)
  376. TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
  377. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  378. DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
  379. FILES:= \
  380. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
  381. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
  382. AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
  383. endef
  384. define KernelPackage/ath9k
  385. $(call KernelPackage/mac80211/Default)
  386. TITLE:=Atheros 802.11n PCI wireless cards support
  387. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  388. DEPENDS+= @PCI_SUPPORT +kmod-ath9k-common
  389. FILES:= \
  390. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
  391. AUTOLOAD:=$(call AutoLoad,28,ath9k)
  392. endef
  393. define KernelPackage/ath9k/description
  394. This module adds support for wireless adapters based on
  395. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  396. endef
  397. AR7010FW:=ar7010.fw
  398. AR7010_1_1_FW:=ar7010_1_1.fw
  399. AR9271FW:=ar9271.fw
  400. define Download/ar9271
  401. FILE:=$(AR9271FW)
  402. URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD;?
  403. MD5SUM:=2e6f5045ec4c5a42bb93ced242bad0ba
  404. endef
  405. $(eval $(call Download,ar9271))
  406. define Download/ar7010
  407. FILE:=$(AR7010FW)
  408. URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010.fw;h=840005d0f0c81838c581b8cd5d76c8dd3843731c;hb=HEAD;?
  409. MD5SUM:=59823b82b1f72bed9b044e8cc78ad65c
  410. endef
  411. $(eval $(call Download,ar7010))
  412. define Download/ar7010_1_1
  413. FILE:=$(AR7010_1_1_FW)
  414. URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010_1_1.fw;h=684d4cd1a8cac4f58305589e31f9d856d03a8ef0;hb=HEAD;?
  415. MD5SUM:=544fcbe5a93cfa53c7e6d3ded2b05347
  416. endef
  417. $(eval $(call Download,ar7010_1_1))
  418. define KernelPackage/ath9k-htc
  419. $(call KernelPackage/mac80211/Default)
  420. TITLE:=Atheros 802.11n USB device support
  421. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  422. DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
  423. FILES:= \
  424. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
  425. AUTOLOAD:=$(call AutoLoad,28,ath9k_htc)
  426. endef
  427. define KernelPackage/ath9k-htc/description
  428. This module adds support for wireless adapters based on
  429. Atheros USB AR9271 and AR7010 family of chipsets.
  430. endef
  431. define KernelPackage/carl9170
  432. $(call KernelPackage/mac80211/Default)
  433. TITLE:=Driver for Atheros AR9170 USB sticks
  434. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +@DRIVER_11N_SUPPORT
  435. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
  436. AUTOLOAD:=$(call AutoLoad,60,carl9170)
  437. endef
  438. define KernelPackage/carl9170/install
  439. $(INSTALL_DIR) $(1)/lib/firmware
  440. $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
  441. endef
  442. USB8388FW_NAME:=usb8388
  443. USB8388FW_VERSION:=5.110.22.p23
  444. define Download/usb8388
  445. URL:=http://dev.laptop.org/pub/firmware/libertas/
  446. FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
  447. MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
  448. endef
  449. $(eval $(call Download,usb8388))
  450. SD8686FW_NAME:=sd8686
  451. SD8686FW_VERSION:=9.70.7.p0
  452. define Download/sd8686
  453. URL:=http://dev.laptop.org/pub/firmware/libertas/
  454. FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
  455. MD5SUM=b4f8be61e19780a14836f146c538c5dd
  456. endef
  457. $(eval $(call Download,sd8686))
  458. SD8686HELPER_NAME:=sd8686_helper
  459. define Download/sd8686_helper
  460. URL:=http://dev.laptop.org/pub/firmware/libertas/
  461. FILE:=$(SD8686HELPER_NAME).bin
  462. MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
  463. endef
  464. $(eval $(call Download,sd8686_helper))
  465. define KernelPackage/libertas-usb
  466. $(call KernelPackage/mac80211/Default)
  467. DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
  468. TITLE:=Marvell 88W8015 Wireless Driver
  469. FILES:= \
  470. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
  471. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
  472. AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
  473. endef
  474. define KernelPackage/libertas-sd
  475. $(call KernelPackage/mac80211/Default)
  476. DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
  477. TITLE:=Marvell 88W8686 Wireless Driver
  478. FILES:= \
  479. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
  480. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
  481. AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
  482. endef
  483. define KernelPackage/mac80211-hwsim
  484. $(call KernelPackage/mac80211/Default)
  485. TITLE:=mac80211 HW simulation device
  486. DEPENDS+= +kmod-mac80211
  487. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
  488. AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
  489. endef
  490. define KernelPackage/net-libipw
  491. $(call KernelPackage/mac80211/Default)
  492. TITLE:=libipw for ipw2100 and ipw2200
  493. DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
  494. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
  495. AUTOLOAD:=$(call AutoLoad,49,libipw)
  496. endef
  497. define KernelPackage/net-libipw/description
  498. Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
  499. endef
  500. IPW2100_NAME:=ipw2100-fw
  501. IPW2100_VERSION:=1.3
  502. define Download/net-ipw2100
  503. URL:=http://bughost.org/firmware/
  504. FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  505. MD5SUM=46aa75bcda1a00efa841f9707bbbd113
  506. endef
  507. $(eval $(call Download,net-ipw2100))
  508. define KernelPackage/net-ipw2100
  509. $(call KernelPackage/mac80211/Default)
  510. TITLE:=Intel IPW2100 driver
  511. DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
  512. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
  513. AUTOLOAD:=$(call AutoLoad,50,ipw2100)
  514. endef
  515. define KernelPackage/net-ipw2100/description
  516. Kernel support for Intel IPW2100
  517. Includes:
  518. - ipw2100
  519. endef
  520. IPW2200_NAME:=ipw2200-fw
  521. IPW2200_VERSION:=3.1
  522. define Download/net-ipw2200
  523. URL:=http://bughost.org/firmware/
  524. FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  525. MD5SUM=eaba788643c7cc7483dd67ace70f6e99
  526. endef
  527. $(eval $(call Download,net-ipw2200))
  528. define KernelPackage/net-ipw2200
  529. $(call KernelPackage/mac80211/Default)
  530. TITLE:=Intel IPW2200 driver
  531. DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
  532. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
  533. AUTOLOAD:=$(call AutoLoad,50,ipw2200)
  534. endef
  535. define KernelPackage/net-ipw2200/description
  536. Kernel support for Intel IPW2200
  537. Includes:
  538. - ipw2200
  539. endef
  540. define KernelPackage/net-hermes
  541. $(call KernelPackage/mac80211/Default)
  542. TITLE:=Hermes 802.11b chipset support
  543. DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
  544. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
  545. AUTOLOAD:=$(call AutoLoad,50,orinoco)
  546. endef
  547. define KernelPackage/net-hermes/description
  548. Kernel support for Hermes 802.11b chipsets
  549. endef
  550. define KernelPackage/net-hermes-pci
  551. $(call KernelPackage/mac80211/Default)
  552. TITLE:=Intersil Prism 2.5 PCI support
  553. DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
  554. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
  555. AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
  556. endef
  557. define KernelPackage/net-hermes-pci/description
  558. Kernel modules for Intersil Prism 2.5 PCI support
  559. endef
  560. define KernelPackage/net-hermes-plx
  561. $(call KernelPackage/mac80211/Default)
  562. TITLE:=PLX9052 based PCI adaptor
  563. DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
  564. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
  565. AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
  566. endef
  567. define KernelPackage/net-hermes-plx/description
  568. Kernel modules for Hermes in PLX9052 based PCI adaptors
  569. endef
  570. define KernelPackage/net-hermes-pcmcia
  571. $(call KernelPackage/mac80211/Default)
  572. TITLE:=Hermes based PCMCIA adaptors
  573. DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
  574. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
  575. AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
  576. endef
  577. define KernelPackage/net-hermes-pcmcia/description
  578. Kernel modules for Hermes based PCMCIA adaptors
  579. endef
  580. IWL3945_NAME:=iwlwifi-3945-ucode
  581. IWL3945_VERSION:=15.32.2.9
  582. IWL3945_MD5SUM:=d99a75ab1305d1532a09471b2f9a547a
  583. IWL4965_NAME:=iwlwifi-4965-ucode
  584. IWL4965_VERSION:=228.61.2.24
  585. IWL4965_MD5SUM:=2531028773cfc22aca5539c734f2a241
  586. IWL5000_NAME:=iwlwifi-5000-ucode
  587. IWL5000_VERSION:=8.83.5.1
  588. IWL5000_MD5SUM:=da82465019b3c7d1ee5156474ab4931d
  589. IWL5150_NAME:=iwlwifi-5150-ucode
  590. IWL5150_VERSION:=8.24.2.2
  591. IWL5150_MD5SUM:=f9cee16e455e8046b1bf62c93f882d5d
  592. IWL1000_NAME:=iwlwifi-1000-ucode
  593. IWL1000_VERSION:=39.31.5.1
  594. IWL1000_MD5SUM:=8098503cb2abcdeffffb3ddd2d8d6f60
  595. IWL6000_NAME:=iwlwifi-6000-ucode
  596. IWL6000_VERSION:=9.221.4.1
  597. IWL6000_MD5SUM:=c132a4c1946a9dbc0c36b41696e5c793
  598. IWL6050_NAME:=iwlwifi-6050-ucode
  599. IWL6050_VERSION:=41.28.5.1
  600. IWL6050_MD5SUM:=cb484a65b9139666d4ddebf60598a87b
  601. IWL6005_NAME:=iwlwifi-6000g2a-ucode
  602. IWL6005_VERSION:=17.168.5.2
  603. IWL6005_MD5SUM:=0b9579f4b8faf51c955295607a8e79a8
  604. IWL6030_NAME:=iwlwifi-6000g2b-ucode
  605. IWL6030_VERSION:=17.168.5.2
  606. IWL6030_MD5SUM:=d87411296b4eeda0c91322228e9f8437
  607. IWL100_NAME:=iwlwifi-100-ucode
  608. IWL100_VERSION:=39.31.5.1
  609. IWL100_MD5SUM:=b686f0ab94888ccca3ce74d2d6ee1133
  610. define Download/iwl-fw/Default
  611. URL:=http://intellinuxwireless.org/iwlwifi/downloads/
  612. endef
  613. define Download/iwl3945-fw
  614. $(call Download/iwl-fw/Default)
  615. FILE:=$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
  616. MD5SUM:=$(IWL3945_MD5SUM)
  617. endef
  618. $(eval $(call Download,iwl3945-fw))
  619. define Download/iwl4965-fw
  620. $(call Download/iwl-fw/Default)
  621. FILE:=$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
  622. MD5SUM:=$(IWL4965_MD5SUM)
  623. endef
  624. $(eval $(call Download,iwl4965-fw))
  625. define Download/iwl5000-fw
  626. $(call Download/iwl-fw/Default)
  627. FILE:=$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
  628. MD5SUM:=$(IWL5000_MD5SUM)
  629. endef
  630. $(eval $(call Download,iwl5000-fw))
  631. define Download/iwl5150-fw
  632. $(call Download/iwl-fw/Default)
  633. FILE:=$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
  634. MD5SUM:=$(IWL5150_MD5SUM)
  635. endef
  636. $(eval $(call Download,iwl5150-fw))
  637. define Download/iwl1000-fw
  638. $(call Download/iwl-fw/Default)
  639. FILE:=$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
  640. MD5SUM:=$(IWL1000_MD5SUM)
  641. endef
  642. $(eval $(call Download,iwl1000-fw))
  643. define Download/iwl6000-fw
  644. $(call Download/iwl-fw/Default)
  645. FILE:=$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
  646. MD5SUM:=$(IWL6000_MD5SUM)
  647. endef
  648. $(eval $(call Download,iwl6000-fw))
  649. define Download/iwl6050-fw
  650. $(call Download/iwl-fw/Default)
  651. FILE:=$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
  652. MD5SUM:=$(IWL6050_MD5SUM)
  653. endef
  654. $(eval $(call Download,iwl6050-fw))
  655. define Download/iwl6005-fw
  656. $(call Download/iwl-fw/Default)
  657. FILE:=$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
  658. MD5SUM:=$(IWL6005_MD5SUM)
  659. endef
  660. $(eval $(call Download,iwl6005-fw))
  661. define Download/iwl6030-fw
  662. $(call Download/iwl-fw/Default)
  663. FILE:=$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
  664. MD5SUM:=$(IWL6030_MD5SUM)
  665. endef
  666. $(eval $(call Download,iwl6030-fw))
  667. define Download/iwl100-fw
  668. $(call Download/iwl-fw/Default)
  669. FILE:=$(IWL100_NAME)-$(IWL100_VERSION).tgz
  670. MD5SUM:=$(IWL100_MD5SUM)
  671. endef
  672. $(eval $(call Download,iwl100-fw))
  673. define KernelPackage/iwlagn
  674. $(call KernelPackage/mac80211/Default)
  675. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
  676. TITLE:=Intel AGN Wireless support
  677. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX)
  678. AUTOLOAD:=$(call AutoLoad,60,iwlagn)
  679. MENU:=1
  680. endef
  681. define KernelPackage/iwlagn/description
  682. iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
  683. endef
  684. define KernelPackage/iwlagn/config
  685. menu "Configuration"
  686. depends on PACKAGE_kmod-iwlagn
  687. config IWL5000_FW
  688. bool "Intel 5000 Firmware"
  689. default y
  690. help
  691. Download and install firmware for:
  692. Intel 5000 wireless card into /lib/firmware.
  693. config IWL5150_FW
  694. bool "Intel 5150 Firmware"
  695. default y
  696. help
  697. Download and install firmware for:
  698. Intel 5150 wireless card into /lib/firmware.
  699. config IWL1000_FW
  700. bool "Intel 1000 Firmware"
  701. default y
  702. help
  703. Download and install firmware for:
  704. Intel 1000 wireless card into /lib/firmware.
  705. config IWL6000_FW
  706. bool "Intel 6000 Firmware"
  707. default y
  708. help
  709. Download and install firmware for:
  710. Intel 6000 wireless card into /lib/firmware.
  711. config IWL6050_FW
  712. bool "Intel 6050 Firmware"
  713. default y
  714. help
  715. Download and install firmware for:
  716. Intel 6050 wireless card into /lib/firmware.
  717. config IWL6005_FW
  718. bool "Intel 6005 Firmware"
  719. default y
  720. help
  721. Download and install firmware for:
  722. Intel 6005 wireless card into /lib/firmware.
  723. config IWL6030_FW
  724. bool "Intel 6030 Firmware"
  725. default y
  726. help
  727. Download and install firmware for:
  728. Intel 6030 wireless card into /lib/firmware.
  729. config IWL100_FW
  730. bool "Intel 100 Firmware"
  731. default y
  732. help
  733. Download and install firmware for:
  734. Intel 100 wireless card into /lib/firmware.
  735. endmenu
  736. endef
  737. define KernelPackage/iwl-legacy
  738. $(call KernelPackage/mac80211/Default)
  739. DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
  740. TITLE:=Intel legacy Wireless support
  741. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX)
  742. AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
  743. endef
  744. define KernelPackage/iwl-legacy/description
  745. iwl-legacy kernel module for legacy Intel wireless support
  746. endef
  747. define KernelPackage/iwl3945
  748. $(call KernelPackage/mac80211/Default)
  749. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
  750. TITLE:=Intel iwl3945 Wireless support
  751. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX)
  752. AUTOLOAD:=$(call AutoLoad,61,iwl3945)
  753. endef
  754. define KernelPackage/iwl3945/description
  755. iwl3945 kernel module for Intel 3945 support
  756. endef
  757. define KernelPackage/iwl4965
  758. $(call KernelPackage/mac80211/Default)
  759. DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
  760. TITLE:=Intel iwl4965 Wireless support
  761. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX)
  762. AUTOLOAD:=$(call AutoLoad,61,iwl4965)
  763. endef
  764. define KernelPackage/iwl4965/description
  765. iwl4965 kernel module for Intel 4965 support
  766. endef
  767. define KernelPackage/mwl8k
  768. $(call KernelPackage/mac80211/Default)
  769. TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
  770. URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
  771. DEPENDS+= @PCI_SUPPORT +kmod-mac80211
  772. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
  773. AUTOLOAD:=$(call AutoLoad,27,mwl8k)
  774. endef
  775. define KernelPackage/mwl8k/description
  776. Kernel modules for Marvell TOPDOG 802.11 Wireless cards
  777. endef
  778. #Broadcom firmware
  779. ifneq ($(CONFIG_B43_FW_5_10),)
  780. PKG_B43_FWV4_NAME:=broadcom-wl
  781. PKG_B43_FWV4_VERSION:=5.10.56.27.3
  782. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
  783. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
  784. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  785. PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
  786. else
  787. ifneq ($(CONFIG_B43_FW_4_178),)
  788. PKG_B43_FWV4_NAME:=broadcom-wl
  789. PKG_B43_FWV4_VERSION:=4.178.10.4
  790. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  791. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  792. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  793. PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
  794. else
  795. PKG_B43_FWV4_NAME:=broadcom-wl
  796. PKG_B43_FWV4_VERSION:=4.150.10.5
  797. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  798. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  799. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  800. PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
  801. endif
  802. endif
  803. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  804. PKG_B43_FWV4_NAME:=broadcom-wl
  805. PKG_B43_FWV4_VERSION:=5.2
  806. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  807. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  808. PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
  809. PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
  810. endif
  811. PKG_B43_FWV3_NAME:=wl_apsta
  812. PKG_B43_FWV3_VERSION:=3.130.20.0
  813. PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
  814. PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
  815. PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
  816. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  817. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  818. PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
  819. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  820. PKG_B43_FWCUTTER_PROTO:=git
  821. PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
  822. PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
  823. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
  824. else
  825. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  826. PKG_B43_FWCUTTER_VERSION:=014
  827. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  828. PKG_B43_FWCUTTER_PROTO:=default
  829. PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
  830. PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
  831. PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
  832. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
  833. endif
  834. define Download/b43-common
  835. FILE:=$(PKG_B43_FWCUTTER_SOURCE)
  836. URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
  837. MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
  838. PROTO:=$(PKG_B43_FWCUTTER_PROTO)
  839. VERSION:=$(PKG_B43_FWCUTTER_VERSION)
  840. SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
  841. endef
  842. $(eval $(call Download,b43-common))
  843. define Download/b43
  844. FILE:=$(PKG_B43_FWV4_SOURCE)
  845. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  846. MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
  847. endef
  848. $(eval $(call Download,b43))
  849. define Download/b43legacy
  850. FILE:=$(PKG_B43_FWV3_SOURCE)
  851. URL:=$(PKG_B43_FWV3_SOURCE_URL)
  852. MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
  853. endef
  854. $(eval $(call Download,b43legacy))
  855. define KernelPackage/b43-common
  856. $(call KernelPackage/mac80211/Default)
  857. TITLE:=Generic stuff for Broadcom wireless devices
  858. URL:=http://linuxwireless.org/en/users/Drivers/b43
  859. KCONFIG:= \
  860. CONFIG_HW_RANDOM=y
  861. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
  862. endef
  863. define KernelPackage/b43
  864. $(call KernelPackage/b43-common)
  865. TITLE:=Broadcom 43xx wireless support
  866. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
  867. AUTOLOAD:=$(call AutoLoad,30,b43)
  868. MENU:=1
  869. endef
  870. define KernelPackage/b43/config
  871. menu "Configuration"
  872. depends on PACKAGE_kmod-b43
  873. choice
  874. prompt "b43 firmware version"
  875. default B43_FW_4_150
  876. help
  877. This option allows you to select the version of the b43 firmware.
  878. config B43_FW_4_150
  879. bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
  880. help
  881. Stable firmware for BCM43xx devices.
  882. If unsure, select this.
  883. config B43_FW_4_178
  884. bool "Firmware 478.104 from driver 4.178.10.4"
  885. help
  886. Experimental firmware for BCM43xx devices.
  887. This firmware is not tested as much as the "stable" firmware.
  888. If unsure, select the "stable" firmware.
  889. config B43_FW_5_10
  890. bool "Firmware 508.1084 from driver 5.10.56.27"
  891. help
  892. Newer experimental firmware for BCM43xx devices.
  893. This firmware is mostly untested. It is needed for some N-PHY devices.
  894. If unsure, select the "stable" firmware.
  895. config B43_OPENFIRMWARE
  896. bool "Open FirmWare for WiFi networks"
  897. help
  898. Opensource firmware for BCM43xx devices.
  899. Do _not_ select this, unless you know what you are doing.
  900. The Opensource firmware is not suitable for embedded devices, yet.
  901. It does not support QoS, which is bad for AccessPoints.
  902. It does not support hardware crypto acceleration, which is a showstopper
  903. for embedded devices with low CPU resources.
  904. If unsure, select the "stable" firmware.
  905. endchoice
  906. config B43_FW_SQUASH
  907. bool "Remove unnecessary firmware files"
  908. depends on !B43_OPENFIRMWARE
  909. default y
  910. help
  911. This options allows you to remove unnecessary b43 firmware files
  912. from the final rootfs image. This can reduce the rootfs size by
  913. up to 200k.
  914. If unsure, say Y.
  915. config B43_FW_SQUASH_COREREVS
  916. string "Core revisions to include"
  917. depends on B43_FW_SQUASH
  918. default "5,6,7,8,9,10,11,13,14,15,16" if PACKAGE_B43_PHY_N
  919. default "5,6,7,8,9,10,13,14,15" if !PACKAGE_B43_PHY_N
  920. help
  921. This is a comma seperated list of core revision numbers.
  922. Example (keep files for rev5 only):
  923. 5
  924. Example (keep files for rev5 and rev11):
  925. 5,11
  926. config B43_FW_SQUASH_PHYTYPES
  927. string "PHY types to include"
  928. depends on B43_FW_SQUASH
  929. default "G,LP,N" if PACKAGE_B43_PHY_N
  930. default "G,LP" if !PACKAGE_B43_PHY_N
  931. help
  932. This is a comma seperated list of PHY types:
  933. A => A-PHY
  934. AG => Dual A-PHY G-PHY
  935. G => G-PHY
  936. LP => LP-PHY
  937. N => N-PHY
  938. Example (keep files for G-PHY only):
  939. G
  940. Example (keep files for G-PHY and N-PHY):
  941. G,N
  942. config PACKAGE_B43_DEBUG
  943. bool "Enable debug output and debugfs for b43"
  944. default n
  945. help
  946. Enable additional debug output and runtime sanity checks for b43
  947. and enables the debugfs interface.
  948. If unsure, say N.
  949. config PACKAGE_B43_PIO
  950. bool "Enable support for PIO transfer mode"
  951. default n
  952. help
  953. Enable support for using PIO instead of DMA. Unless you have DMA
  954. transfer problems you don't need this.
  955. If unsure, say N.
  956. config PACKAGE_B43_PHY_N
  957. bool "Enable support for N-PHYs"
  958. select B43_FW_5_10
  959. default n
  960. help
  961. Enable support for BCM4321 and BCM4322.
  962. Currently only 11g speed is available.
  963. If unsure, say N.
  964. endmenu
  965. endef
  966. define KernelPackage/b43/description
  967. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  968. endef
  969. define KernelPackage/b43legacy
  970. $(call KernelPackage/b43-common)
  971. TITLE:=Broadcom 43xx-legacy wireless support
  972. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
  973. AUTOLOAD:=$(call AutoLoad,30,b43legacy)
  974. MENU:=1
  975. endef
  976. define KernelPackage/b43legacy/config
  977. menu "Configuration"
  978. depends on PACKAGE_kmod-b43legacy
  979. config B43LEGACY_FW_SQUASH
  980. bool "Remove unnecessary firmware files"
  981. default y
  982. help
  983. This options allows you to remove unnecessary b43legacy firmware files
  984. from the final rootfs image. This can reduce the rootfs size by
  985. up to 50k.
  986. If unsure, say Y.
  987. config B43LEGACY_FW_SQUASH_COREREVS
  988. string "Core revisions to include"
  989. depends on B43LEGACY_FW_SQUASH
  990. default "1,2,3,4"
  991. help
  992. This is a comma seperated list of core revision numbers.
  993. Example (keep files for rev4 only):
  994. 4
  995. Example (keep files for rev2 and rev4):
  996. 2,4
  997. endmenu
  998. endef
  999. define KernelPackage/b43legacy/description
  1000. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  1001. endef
  1002. BUILDFLAGS:= \
  1003. -I$(PKG_BUILD_DIR)/include \
  1004. $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
  1005. $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
  1006. $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
  1007. -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
  1008. -DCONFIG_ATH9K_PCI $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
  1009. $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
  1010. $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
  1011. -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
  1012. -DCONFIG_MAC80211_RC_MINSTREL_HT \
  1013. $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
  1014. $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
  1015. $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
  1016. $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
  1017. $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
  1018. $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
  1019. $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
  1020. $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
  1021. $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
  1022. $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
  1023. $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
  1024. $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
  1025. $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
  1026. $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
  1027. $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
  1028. $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
  1029. MAKE_OPTS:= \
  1030. CROSS_COMPILE="$(KERNEL_CROSS)" \
  1031. ARCH="$(LINUX_KARCH)" \
  1032. EXTRA_CFLAGS="$(BUILDFLAGS)" \
  1033. $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
  1034. CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
  1035. CONFIG_MAC80211_RC_MINSTREL=y \
  1036. CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  1037. CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  1038. CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
  1039. CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  1040. CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  1041. CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  1042. CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  1043. CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  1044. CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  1045. CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
  1046. CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
  1047. CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
  1048. CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
  1049. CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
  1050. CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
  1051. CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
  1052. CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  1053. CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
  1054. CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
  1055. CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
  1056. CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
  1057. CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  1058. CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
  1059. CONFIG_ATH9K_PCI=y \
  1060. CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
  1061. CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
  1062. CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
  1063. CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
  1064. CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  1065. CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
  1066. CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  1067. CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
  1068. CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
  1069. CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
  1070. CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
  1071. CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
  1072. CONFIG_P54_SPI_DEFAULT_EEPROM=n \
  1073. CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
  1074. CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
  1075. CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
  1076. CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
  1077. CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
  1078. CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
  1079. CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
  1080. CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
  1081. CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
  1082. CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
  1083. CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
  1084. CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
  1085. CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
  1086. CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
  1087. CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
  1088. CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
  1089. CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
  1090. CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
  1091. CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
  1092. CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
  1093. CONFIG_RTL8192CE= \
  1094. CONFIG_RTLWIFI= \
  1095. CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
  1096. CONFIG_PCMCIA= \
  1097. CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
  1098. CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
  1099. CONFIG_LIBERTAS_CS= \
  1100. CONFIG_LIBERTAS_SPI= \
  1101. CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
  1102. CONFIG_LIBERTAS_THINFIRM= \
  1103. CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
  1104. CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
  1105. CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
  1106. CONFIG_NL80211=y \
  1107. CONFIG_LIB80211= \
  1108. CONFIG_LIB80211_CRYPT_WEP= \
  1109. CONFIG_LIB80211_CRYPT_CCMP= \
  1110. CONFIG_LIB80211_CRYPT_TKIP= \
  1111. CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
  1112. CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
  1113. CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
  1114. CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
  1115. CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
  1116. CONFIG_ATMEL= \
  1117. CONFIG_PCMCIA_ATMEL= \
  1118. CONFIG_ADM8211= \
  1119. CONFIG_USB_NET_RNDIS_HOST= \
  1120. CONFIG_USB_NET_RNDIS_WLAN= \
  1121. CONFIG_USB_NET_CDCETHER= \
  1122. CONFIG_USB_USBNET= \
  1123. CONFIG_AT76C50X_USB= \
  1124. CONFIG_WL12XX= \
  1125. CONFIG_EEPROM_93CX6= \
  1126. CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
  1127. CONFIG_HERMES_CACHE_FW_ON_INIT= \
  1128. CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
  1129. CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
  1130. CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
  1131. CONFIG_HERMES_PRISM= \
  1132. CONFIG_APPLE_AIRPORT= \
  1133. CONFIG_TMD_HERMES= \
  1134. CONFIG_NORTEL_HERMES= \
  1135. CONFIG_PCMCIA_SPECTRUM= \
  1136. CONFIG_ORINOCO_USB= \
  1137. CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
  1138. CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  1139. CONFIG_IWM= \
  1140. CONFIG_MWIFIEX= \
  1141. CONFIG_MAC80211_RC_MINSTREL_HT=y \
  1142. MADWIFI= \
  1143. KLIB_BUILD="$(LINUX_DIR)" \
  1144. MODPROBE=: \
  1145. KLIB=$(TARGET_MODULES_DIR) \
  1146. KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
  1147. KBUILD_LDFLAGS_MODULE_PREREQ=
  1148. ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
  1149. MAKE_OPTS += CONFIG_COMPAT_KFIFO=
  1150. endif
  1151. define Build/Prepare
  1152. rm -rf $(PKG_BUILD_DIR)
  1153. mkdir -p $(PKG_BUILD_DIR)
  1154. $(PKG_UNPACK)
  1155. $(Build/Patch)
  1156. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
  1157. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
  1158. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
  1159. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
  1160. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  1161. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  1162. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
  1163. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
  1164. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
  1165. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
  1166. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
  1167. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
  1168. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
  1169. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
  1170. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
  1171. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL100_NAME)-$(IWL100_VERSION).tgz
  1172. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  1173. rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
  1174. rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
  1175. endef
  1176. ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
  1177. define Build/Compile/kmod
  1178. rm -rf $(PKG_BUILD_DIR)/modules
  1179. $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
  1180. endef
  1181. endif
  1182. define Build/Compile
  1183. $(call Build/Compile/kmod)
  1184. endef
  1185. define Build/InstallDev
  1186. mkdir -p \
  1187. $(1)/usr/include/mac80211 \
  1188. $(1)/usr/include/mac80211/ath \
  1189. $(1)/usr/include/net/mac80211
  1190. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  1191. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  1192. $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
  1193. endef
  1194. define KernelPackage/libertas-usb/install
  1195. $(INSTALL_DIR) $(1)/lib/firmware
  1196. $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
  1197. endef
  1198. define KernelPackage/libertas-sd/install
  1199. echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
  1200. $(INSTALL_DIR) $(1)/lib/firmware
  1201. $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
  1202. $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
  1203. endef
  1204. define KernelPackage/cfg80211/install
  1205. $(INSTALL_DIR) $(1)/lib/wifi
  1206. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  1207. endef
  1208. define KernelPackage/p54-pci/install
  1209. $(INSTALL_DIR) $(1)/lib/firmware
  1210. $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
  1211. endef
  1212. define KernelPackage/p54-usb/install
  1213. $(INSTALL_DIR) $(1)/lib/firmware
  1214. $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
  1215. endef
  1216. define KernelPackage/p54-spi/install
  1217. $(INSTALL_DIR) $(1)/lib/firmware
  1218. $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
  1219. endef
  1220. define KernelPackage/rt61-pci/install
  1221. $(INSTALL_DIR) $(1)/lib/firmware
  1222. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
  1223. endef
  1224. define KernelPackage/rt73-usb/install
  1225. $(INSTALL_DIR) $(1)/lib/firmware
  1226. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
  1227. endef
  1228. define KernelPackage/rt2800-pci/install
  1229. $(INSTALL_DIR) $(1)/lib/firmware
  1230. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
  1231. endef
  1232. define KernelPackage/rt2800-usb/install
  1233. $(INSTALL_DIR) $(1)/lib/firmware
  1234. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
  1235. endef
  1236. define KernelPackage/zd1211rw/install
  1237. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  1238. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  1239. endef
  1240. define KernelPackage/ar9170/install
  1241. $(INSTALL_DIR) $(1)/lib/firmware
  1242. $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
  1243. endef
  1244. define KernelPackage/ath9k-htc/install
  1245. $(INSTALL_DIR) $(1)/lib/firmware
  1246. $(INSTALL_DATA) \
  1247. $(DL_DIR)/$(AR9271FW) \
  1248. $(DL_DIR)/$(AR7010FW) \
  1249. $(DL_DIR)/$(AR7010_1_1_FW) \
  1250. $(1)/lib/firmware/
  1251. endef
  1252. define KernelPackage/net-ipw2100/install
  1253. $(INSTALL_DIR) $(1)/lib/firmware
  1254. $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
  1255. endef
  1256. define KernelPackage/net-ipw2200/install
  1257. $(INSTALL_DIR) $(1)/lib/firmware
  1258. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
  1259. endef
  1260. define KernelPackage/iwlagn/install
  1261. $(INSTALL_DIR) $(1)/lib/firmware
  1262. ifneq ($(CONFIG_IWL5000_FW),)
  1263. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION)/iwlwifi-5000-*.ucode $(1)/lib/firmware
  1264. endif
  1265. ifneq ($(CONFIG_IWL5150_FW),)
  1266. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION)/iwlwifi-5150-*.ucode $(1)/lib/firmware
  1267. endif
  1268. ifneq ($(CONFIG_IWL1000_FW),)
  1269. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION)/iwlwifi-1000-*.ucode $(1)/lib/firmware
  1270. endif
  1271. ifneq ($(CONFIG_IWL6000_FW),)
  1272. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION)/iwlwifi-6000-*.ucode $(1)/lib/firmware
  1273. endif
  1274. ifneq ($(CONFIG_IWL6050_FW),)
  1275. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION)/iwlwifi-6050-*.ucode $(1)/lib/firmware
  1276. endif
  1277. ifneq ($(CONFIG_IWL6005_FW),)
  1278. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION)/iwlwifi-6000g2a-*.ucode $(1)/lib/firmware
  1279. endif
  1280. ifneq ($(CONFIG_IWL6030_FW),)
  1281. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION)/iwlwifi-6000g2b-*.ucode $(1)/lib/firmware
  1282. endif
  1283. ifneq ($(CONFIG_IWL100_FW),)
  1284. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL100_NAME)-$(IWL100_VERSION)/iwlwifi-100-*.ucode $(1)/lib/firmware
  1285. endif
  1286. endef
  1287. define KernelPackage/iwl3945/install
  1288. $(INSTALL_DIR) $(1)/lib/firmware
  1289. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION)/iwlwifi-3945-*.ucode $(1)/lib/firmware
  1290. endef
  1291. define KernelPackage/iwl4965/install
  1292. $(INSTALL_DIR) $(1)/lib/firmware
  1293. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION)/iwlwifi-4965-*.ucode $(1)/lib/firmware
  1294. endef
  1295. define Build/b43-common
  1296. tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1297. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
  1298. CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
  1299. QUIET_SPARSE=:
  1300. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
  1301. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1302. $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
  1303. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
  1304. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
  1305. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
  1306. endif
  1307. $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
  1308. endef
  1309. define KernelPackage/b43/install
  1310. rm -rf $(1)/lib/firmware/
  1311. $(call Build/b43-common)
  1312. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1313. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1314. else
  1315. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  1316. endif
  1317. $(INSTALL_DIR) $(1)/lib/firmware/
  1318. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  1319. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  1320. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  1321. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  1322. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  1323. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  1324. else
  1325. b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  1326. endif
  1327. ifneq ($(CONFIG_B43_FW_SQUASH),)
  1328. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  1329. endif
  1330. endef
  1331. define KernelPackage/b43legacy/install
  1332. $(call Build/b43-common)
  1333. $(INSTALL_DIR) $(1)/lib/firmware/
  1334. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
  1335. ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
  1336. b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
  1337. endif
  1338. endef
  1339. $(eval $(call KernelPackage,ath5k))
  1340. $(eval $(call KernelPackage,libertas-usb))
  1341. $(eval $(call KernelPackage,libertas-sd))
  1342. $(eval $(call KernelPackage,cfg80211))
  1343. $(eval $(call KernelPackage,mac80211))
  1344. $(eval $(call KernelPackage,p54-common))
  1345. $(eval $(call KernelPackage,p54-pci))
  1346. $(eval $(call KernelPackage,p54-usb))
  1347. $(eval $(call KernelPackage,p54-spi))
  1348. $(eval $(call KernelPackage,rt2x00-lib))
  1349. $(eval $(call KernelPackage,rt2x00-pci))
  1350. $(eval $(call KernelPackage,rt2x00-usb))
  1351. $(eval $(call KernelPackage,rt2x00-soc))
  1352. $(eval $(call KernelPackage,rt2800-lib))
  1353. $(eval $(call KernelPackage,rt2400-pci))
  1354. $(eval $(call KernelPackage,rt2500-pci))
  1355. $(eval $(call KernelPackage,rt2500-usb))
  1356. $(eval $(call KernelPackage,rt61-pci))
  1357. $(eval $(call KernelPackage,rt73-usb))
  1358. $(eval $(call KernelPackage,rt2800-pci))
  1359. $(eval $(call KernelPackage,rt2800-usb))
  1360. $(eval $(call KernelPackage,rtl8180))
  1361. $(eval $(call KernelPackage,rtl8187))
  1362. $(eval $(call KernelPackage,zd1211rw))
  1363. $(eval $(call KernelPackage,mac80211-hwsim))
  1364. $(eval $(call KernelPackage,ath9k-common))
  1365. $(eval $(call KernelPackage,ath9k))
  1366. $(eval $(call KernelPackage,ath9k-htc))
  1367. $(eval $(call KernelPackage,ath))
  1368. $(eval $(call KernelPackage,carl9170))
  1369. $(eval $(call KernelPackage,b43))
  1370. $(eval $(call KernelPackage,b43legacy))
  1371. $(eval $(call KernelPackage,net-libipw))
  1372. $(eval $(call KernelPackage,net-ipw2100))
  1373. $(eval $(call KernelPackage,net-ipw2200))
  1374. $(eval $(call KernelPackage,iwlagn))
  1375. $(eval $(call KernelPackage,iwl-legacy))
  1376. $(eval $(call KernelPackage,iwl4965))
  1377. $(eval $(call KernelPackage,iwl3945))
  1378. $(eval $(call KernelPackage,mwl8k))
  1379. $(eval $(call KernelPackage,net-hermes))
  1380. $(eval $(call KernelPackage,net-hermes-pci))
  1381. $(eval $(call KernelPackage,net-hermes-plx))
  1382. $(eval $(call KernelPackage,net-hermes-pcmcia))