Makefile 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194
  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:=2010-11-20
  11. PKG_RELEASE:=1
  12. PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
  13. # http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
  14. # http://wireless.kernel.org/download/compat-wireless-2.6
  15. PKG_MD5SUM:=2c9ca2ff2d8c20dca33e72d271219c3c
  16. PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
  17. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
  18. PKG_BUILD_PARALLEL:=1
  19. PKG_CONFIG_DEPENDS:= \
  20. CONFIG_PACKAGE_kmod-mac80211 \
  21. CONFIG_PACKAGE_MAC80211_DEBUGFS \
  22. CONFIG_PACKAGE_ATH_DEBUG \
  23. CONFIG_ATH_USER_REGD \
  24. CARL9170_FW_VERSION:=1.8.8.2
  25. include $(INCLUDE_DIR)/package.mk
  26. WMENU:=Wireless Drivers
  27. define KernelPackage/mac80211/Default
  28. SUBMENU:=$(WMENU)
  29. URL:=http://linuxwireless.org/
  30. MAINTAINER:=Felix Fietkau <[email protected]>
  31. DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
  32. endef
  33. define KernelPackage/cfg80211
  34. $(call KernelPackage/mac80211/Default)
  35. TITLE:=cfg80211 - wireless configuration API
  36. DEPENDS+= +wireless-tools +iw +crda
  37. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
  38. FILES:= \
  39. $(PKG_BUILD_DIR)/compat/compat.ko \
  40. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  41. AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
  42. else
  43. FILES:= \
  44. $(PKG_BUILD_DIR)/compat/compat.ko \
  45. $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
  46. $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
  47. AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
  48. endif
  49. endef
  50. define KernelPackage/cfg80211/description
  51. cfg80211 is the Linux wireless LAN (802.11) configuration API.
  52. endef
  53. define KernelPackage/mac80211
  54. $(call KernelPackage/mac80211/Default)
  55. TITLE:=Linux 802.11 Wireless Networking Stack
  56. DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
  57. FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
  58. AUTOLOAD:=$(call AutoLoad,21,mac80211)
  59. MENU:=1
  60. endef
  61. define KernelPackage/mac80211/config
  62. menu "Configuration"
  63. depends on PACKAGE_kmod-mac80211
  64. config PACKAGE_MAC80211_DEBUGFS
  65. bool "Export mac80211 internals in DebugFS"
  66. default y
  67. help
  68. Select this to see extensive information about
  69. the internal state of mac80211 in debugfs.
  70. Say N unless you know you need this.
  71. endmenu
  72. endef
  73. define KernelPackage/mac80211/description
  74. Generic IEEE 802.11 Networking Stack (mac80211)
  75. endef
  76. # Prism54 drivers
  77. P54PCIFW:=2.13.12.0.arm
  78. P54USBFW:=2.13.24.0.lm87.arm
  79. P54SPIFW:=2.13.0.0.a.13.14.arm
  80. CARL9170_FW:=carl9170-1.fw
  81. define Download/p54usb
  82. FILE:=$(P54USBFW)
  83. URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
  84. MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
  85. endef
  86. $(eval $(call Download,p54usb))
  87. define Download/p54pci
  88. FILE:=$(P54PCIFW)
  89. URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
  90. MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
  91. endef
  92. $(eval $(call Download,p54pci))
  93. define Download/p54spi
  94. FILE:=$(P54SPIFW)
  95. URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
  96. MD5SUM:=42661f8ecbadd88012807493f596081d
  97. endef
  98. $(eval $(call Download,p54spi))
  99. define Download/carl9170
  100. FILE:=$(CARL9170_FW)
  101. URL:=http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/fw/$(CARL9170_FW_VERSION)
  102. MD5SUM:=114c43846ed1d2f89cc92bd0e2ec0589
  103. endef
  104. $(eval $(call Download,carl9170))
  105. define KernelPackage/p54/Default
  106. $(call KernelPackage/mac80211/Default)
  107. TITLE:=Prism54 Drivers
  108. endef
  109. define KernelPackage/p54/description
  110. Kernel module for Prism54 chipsets (mac80211)
  111. endef
  112. define KernelPackage/p54-common
  113. $(call KernelPackage/p54/Default)
  114. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-crc-ccitt
  115. TITLE+= (COMMON)
  116. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
  117. AUTOLOAD:=$(call AutoLoad,30,p54common)
  118. endef
  119. define KernelPackage/p54-pci
  120. $(call KernelPackage/p54/Default)
  121. TITLE+= (PCI)
  122. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  123. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
  124. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  125. endef
  126. define KernelPackage/p54-usb
  127. $(call KernelPackage/p54/Default)
  128. TITLE+= (USB)
  129. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  130. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
  131. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  132. endef
  133. define KernelPackage/p54-spi
  134. $(call KernelPackage/p54/Default)
  135. TITLE+= (SPI)
  136. DEPENDS+= @TARGET_omap24xx +kmod-p54-common
  137. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
  138. AUTOLOAD:=$(call AutoLoad,31,p54spi)
  139. endef
  140. # Ralink rt2x00 drivers
  141. RT61FW:=RT61_Firmware_V1.2.zip
  142. RT71FW:=RT71W_Firmware_V1.8.zip
  143. RT2860FW:=RT2860_Firmware_V11.zip
  144. RT2870FW:=RT2870_Firmware_V8.zip
  145. define Download/rt61
  146. FILE:=$(RT61FW)
  147. URL:=http://www.ralinktech.com.tw/data/
  148. MD5SUM:=d4c690c93b470bc9a681297c2adc6281
  149. endef
  150. $(eval $(call Download,rt61))
  151. define Download/rt71w
  152. FILE:=$(RT71FW)
  153. URL:=http://www.ralinktech.com.tw/data/
  154. MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
  155. endef
  156. $(eval $(call Download,rt71w))
  157. define Download/rt2860
  158. FILE:=$(RT2860FW)
  159. URL:=http://www.ralinktech.com.tw/data/drivers
  160. MD5SUM:=440a81756a52c53528f16faa41c40124
  161. endef
  162. $(eval $(call Download,rt2860))
  163. define Download/rt2870
  164. FILE:=$(RT2870FW)
  165. URL:=http://www.ralinktech.com.tw/data/drivers
  166. MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
  167. endef
  168. $(eval $(call Download,rt2870))
  169. AR9170FW:=ar9170.fw
  170. define Download/ar9170
  171. FILE:=$(AR9170FW)
  172. URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
  173. MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
  174. endef
  175. $(eval $(call Download,ar9170))
  176. NEED_RT2X00_LIB_CRYPTO:=y
  177. NEED_RT2X00_LIB_FIRMWARE:=y
  178. NEED_RT2X00_LIB_HT:=y
  179. NEED_RT2X00_LIB_LEDS:=y
  180. define KernelPackage/rt2x00/Default
  181. $(call KernelPackage/mac80211/Default)
  182. TITLE:=Ralink Drivers for RT2x00 cards
  183. endef
  184. define KernelPackage/rt2x00-lib
  185. $(call KernelPackage/rt2x00/Default)
  186. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
  187. TITLE+= (LIB)
  188. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
  189. AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
  190. MENU:=1
  191. endef
  192. define KernelPackage/rt2x00-lib/config
  193. menu "Configuration"
  194. depends PACKAGE_kmod-rt2x00-lib
  195. config PACKAGE_RT2X00_LIB_DEBUGFS
  196. bool "Enable rt2x00 debugfs support"
  197. depends 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. endmenu
  207. endef
  208. define KernelPackage/rt2x00-pci
  209. $(call KernelPackage/rt2x00/Default)
  210. DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
  211. TITLE+= (PCI)
  212. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
  213. AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
  214. endef
  215. define KernelPackage/rt2x00-usb
  216. $(call KernelPackage/rt2x00/Default)
  217. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
  218. TITLE+= (USB)
  219. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
  220. AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
  221. endef
  222. define KernelPackage/rt2x00-soc
  223. $(call KernelPackage/rt2x00/Default)
  224. DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
  225. TITLE+= (SoC)
  226. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
  227. AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
  228. endef
  229. define KernelPackage/rt2800-lib
  230. $(call KernelPackage/rt2x00/Default)
  231. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc
  232. TITLE+= (rt2800 LIB)
  233. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
  234. AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
  235. endef
  236. define KernelPackage/rt2400-pci
  237. $(call KernelPackage/rt2x00/Default)
  238. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  239. TITLE+= (RT2400 PCI)
  240. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
  241. AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
  242. endef
  243. define KernelPackage/rt2500-pci
  244. $(call KernelPackage/rt2x00/Default)
  245. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  246. TITLE+= (RT2500 PCI)
  247. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
  248. AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
  249. endef
  250. define KernelPackage/rt2500-usb
  251. $(call KernelPackage/rt2x00/Default)
  252. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  253. TITLE+= (RT2500 USB)
  254. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
  255. AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
  256. endef
  257. define KernelPackage/rt61-pci
  258. $(call KernelPackage/rt2x00/Default)
  259. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  260. TITLE+= (RT2x61 PCI)
  261. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
  262. AUTOLOAD:=$(call AutoLoad,27,rt61pci)
  263. endef
  264. define KernelPackage/rt73-usb
  265. $(call KernelPackage/rt2x00/Default)
  266. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  267. TITLE+= (RT73 USB)
  268. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
  269. AUTOLOAD:=$(call AutoLoad,27,rt73usb)
  270. endef
  271. define KernelPackage/rt2800-pci
  272. $(call KernelPackage/rt2x00/Default)
  273. DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
  274. TITLE+= (RT2860 PCI)
  275. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
  276. AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
  277. endef
  278. define KernelPackage/rt2800-usb
  279. $(call KernelPackage/rt2x00/Default)
  280. DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
  281. TITLE+= (RT2870 USB)
  282. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
  283. AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
  284. endef
  285. define KernelPackage/rtl818x/Default
  286. $(call KernelPackage/mac80211/Default)
  287. TITLE:=Realtek Drivers for RTL818x devices
  288. URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
  289. DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
  290. endef
  291. define KernelPackage/rtl8180
  292. $(call KernelPackage/rtl818x/Default)
  293. DEPENDS+= @PCI_SUPPORT
  294. TITLE+= (RTL8180 PCI)
  295. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.ko
  296. AUTOLOAD:=$(call AutoLoad,27,rtl8180)
  297. endef
  298. define KernelPackage/rtl8187
  299. $(call KernelPackage/rtl818x/Default)
  300. DEPENDS+= @USB_SUPPORT
  301. TITLE+= (RTL8187 USB)
  302. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.ko
  303. AUTOLOAD:=$(call AutoLoad,27,rtl8187)
  304. endef
  305. ZD1211FW_NAME:=zd1211-firmware
  306. ZD1211FW_VERSION:=1.4
  307. define Download/zd1211rw
  308. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  309. URL:=@SF/zd1211/
  310. MD5SUM:=19f28781d76569af8551c9d11294c870
  311. endef
  312. $(eval $(call Download,zd1211rw))
  313. define KernelPackage/zd1211rw
  314. $(call KernelPackage/mac80211/Default)
  315. TITLE:=Zydas ZD1211 support
  316. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  317. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
  318. AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
  319. endef
  320. define KernelPackage/ath/config
  321. menu "Configuration"
  322. depends on PACKAGE_kmod-ath
  323. config ATH_USER_REGD
  324. bool "Force Atheros drivers to respect the user's regdomain settings"
  325. help
  326. Atheros' idea of regulatory handling is that the EEPROM of the card defines
  327. the regulatory limits and the user is only allowed to restrict the settings
  328. even further, even if the country allows frequencies or power levels that
  329. are forbidden by the EEPROM settings.
  330. Select this option if you want the driver to respect the user's decision about
  331. regulatory settings.
  332. config PACKAGE_ATH_DEBUG
  333. bool "Atheros wireless debugging"
  334. help
  335. Say Y, if you want to debug atheros wireless drivers.
  336. Right now only ath9k makes use of this.
  337. endmenu
  338. endef
  339. define KernelPackage/ath
  340. $(call KernelPackage/mac80211/Default)
  341. TITLE:=Atheros common driver part
  342. DEPENDS+= @PCI_SUPPORT +kmod-mac80211
  343. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
  344. AUTOLOAD:=$(call AutoLoad,26,ath)
  345. MENU:=1
  346. endef
  347. define KernelPackage/ath/description
  348. This module contains some common parts needed by Atheros Wireless drivers.
  349. endef
  350. define KernelPackage/ath5k
  351. $(call KernelPackage/mac80211/Default)
  352. TITLE:=Atheros 5xxx wireless cards support
  353. URL:=http://linuxwireless.org/en/users/Drivers/ath5k
  354. DEPENDS+= +kmod-ath
  355. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
  356. AUTOLOAD:=$(call AutoLoad,27,ath5k)
  357. endef
  358. define KernelPackage/ath5k/description
  359. This module adds support for wireless adapters based on
  360. Atheros 5xxx chipset.
  361. endef
  362. define KernelPackage/ath9k
  363. $(call KernelPackage/mac80211/Default)
  364. TITLE:=Atheros 802.11n wireless cards support
  365. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  366. DEPENDS+= +kmod-ath
  367. FILES:= \
  368. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
  369. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko \
  370. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
  371. AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
  372. MENU:=1
  373. endef
  374. define KernelPackage/ath9k/description
  375. This module adds support for wireless adapters based on
  376. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  377. endef
  378. define KernelPackage/carl9170
  379. $(call KernelPackage/mac80211/Default)
  380. TITLE:=Driver for Atheros AR9170 USB sticks
  381. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core
  382. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
  383. AUTOLOAD:=$(call AutoLoad,60,carl9170)
  384. endef
  385. define KernelPackage/carl9170/install
  386. $(INSTALL_DIR) $(1)/lib/firmware
  387. $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW) $(1)/lib/firmware/
  388. endef
  389. USB8388FW_NAME:=usb8388
  390. USB8388FW_VERSION:=5.110.22.p23
  391. define Download/usb8388
  392. URL:=http://dev.laptop.org/pub/firmware/libertas/
  393. FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
  394. MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
  395. endef
  396. $(eval $(call Download,usb8388))
  397. SD8686FW_NAME:=sd8686
  398. SD8686FW_VERSION:=9.70.7.p0
  399. define Download/sd8686
  400. URL:=http://dev.laptop.org/pub/firmware/libertas/
  401. FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
  402. MD5SUM=b4f8be61e19780a14836f146c538c5dd
  403. endef
  404. $(eval $(call Download,sd8686))
  405. SD8686HELPER_NAME:=sd8686_helper
  406. define Download/sd8686_helper
  407. URL:=http://dev.laptop.org/pub/firmware/libertas/
  408. FILE:=$(SD8686HELPER_NAME).bin
  409. MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
  410. endef
  411. $(eval $(call Download,sd8686_helper))
  412. define KernelPackage/libertas-usb
  413. $(call KernelPackage/mac80211/Default)
  414. DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
  415. TITLE:=Marvell 88W8015 Wireless Driver
  416. FILES:= \
  417. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
  418. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
  419. AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
  420. endef
  421. define KernelPackage/libertas-sd
  422. $(call KernelPackage/mac80211/Default)
  423. DEPENDS+= +kmod-mac80211 +kmod-lib80211
  424. TITLE:=Marvell 88W8686 Wireless Driver
  425. FILES:= \
  426. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
  427. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
  428. AUTOLOAD:=$(call AutoLoad,27,libertas libertas_sdio)
  429. endef
  430. define KernelPackage/mac80211-hwsim
  431. $(call KernelPackage/mac80211/Default)
  432. TITLE:=mac80211 HW simulation device
  433. DEPENDS+= +kmod-mac80211
  434. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
  435. AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
  436. endef
  437. define KernelPackage/net-libipw
  438. $(call KernelPackage/mac80211/Default)
  439. TITLE:=libipw for ipw2100 and ipw2200
  440. DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
  441. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
  442. AUTOLOAD:=$(call AutoLoad,49,libipw)
  443. endef
  444. define KernelPackage/net-libipw/description
  445. Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
  446. endef
  447. IPW2100_NAME:=ipw2100-fw
  448. IPW2100_VERSION:=1.3
  449. define Download/net-ipw2100
  450. URL:=http://bughost.org/firmware/
  451. FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  452. MD5SUM=46aa75bcda1a00efa841f9707bbbd113
  453. endef
  454. $(eval $(call Download,net-ipw2100))
  455. define KernelPackage/net-ipw2100
  456. $(call KernelPackage/mac80211/Default)
  457. TITLE:=Intel IPW2100 driver
  458. DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
  459. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
  460. AUTOLOAD:=$(call AutoLoad,50,ipw2100)
  461. endef
  462. define KernelPackage/net-ipw2100/description
  463. Kernel support for Intel IPW2100
  464. Includes:
  465. - ipw2100
  466. endef
  467. IPW2200_NAME:=ipw2200-fw
  468. IPW2200_VERSION:=3.1
  469. define Download/net-ipw2200
  470. URL:=http://bughost.org/firmware/
  471. FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  472. MD5SUM=eaba788643c7cc7483dd67ace70f6e99
  473. endef
  474. $(eval $(call Download,net-ipw2200))
  475. define KernelPackage/net-ipw2200
  476. $(call KernelPackage/mac80211/Default)
  477. TITLE:=Intel IPW2200 driver
  478. DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
  479. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
  480. AUTOLOAD:=$(call AutoLoad,50,ipw2200)
  481. endef
  482. define KernelPackage/net-ipw2200/description
  483. Kernel support for Intel IPW2200
  484. Includes:
  485. - ipw2200
  486. endef
  487. define KernelPackage/net-hermes
  488. $(call KernelPackage/mac80211/Default)
  489. TITLE:=Hermes 802.11b chipset support
  490. DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211
  491. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
  492. AUTOLOAD:=$(call AutoLoad,50,orinoco)
  493. endef
  494. define KernelPackage/net-hermes/description
  495. Kernel support for Hermes 802.11b chipsets
  496. endef
  497. define KernelPackage/net-hermes-pci
  498. $(call KernelPackage/mac80211/Default)
  499. TITLE:=Intersil Prism 2.5 PCI support
  500. DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
  501. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
  502. AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
  503. endef
  504. define KernelPackage/net-hermes-pci/description
  505. Kernel modules for Intersil Prism 2.5 PCI support
  506. endef
  507. define KernelPackage/net-hermes-plx
  508. $(call KernelPackage/mac80211/Default)
  509. TITLE:=PLX9052 based PCI adaptor
  510. DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
  511. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
  512. AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
  513. endef
  514. define KernelPackage/net-hermes-plx/description
  515. Kernel modules for Hermes in PLX9052 based PCI adaptors
  516. endef
  517. define KernelPackage/net-hermes-pcmcia
  518. $(call KernelPackage/mac80211/Default)
  519. TITLE:=Hermes based PCMCIA adaptors
  520. DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
  521. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
  522. AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
  523. endef
  524. define KernelPackage/net-hermes-pcmcia/description
  525. Kernel modules for Hermes based PCMCIA adaptors
  526. endef
  527. define KernelPackage/mwl8k
  528. $(call KernelPackage/mac80211/Default)
  529. TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
  530. URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
  531. DEPENDS+= @PCI_SUPPORT +kmod-mac80211
  532. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
  533. AUTOLOAD:=$(call AutoLoad,27,mwl8k)
  534. endef
  535. define KernelPackage/mwl8k/description
  536. Kernel modules for Marvell TOPDOG 802.11 Wireless cards
  537. endef
  538. #Broadcom firmware
  539. ifneq ($(CONFIG_B43_EXPERIMENTAL),)
  540. PKG_B43_FWV4_NAME:=broadcom-wl
  541. PKG_B43_FWV4_VERSION:=4.178.10.4
  542. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
  543. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  544. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  545. PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
  546. else
  547. PKG_B43_FWV4_NAME:=broadcom-wl
  548. PKG_B43_FWV4_VERSION:=4.150.10.5
  549. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  550. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  551. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  552. PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
  553. endif
  554. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  555. PKG_B43_FWV4_NAME:=broadcom-wl
  556. PKG_B43_FWV4_VERSION:=5.2
  557. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  558. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  559. PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
  560. PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
  561. endif
  562. PKG_B43_FWV3_NAME:=wl_apsta
  563. PKG_B43_FWV3_VERSION:=3.130.20.0
  564. PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
  565. PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
  566. PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
  567. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  568. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  569. PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
  570. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  571. PKG_B43_FWCUTTER_PROTO:=git
  572. PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
  573. PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
  574. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
  575. else
  576. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  577. PKG_B43_FWCUTTER_VERSION:=013
  578. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  579. PKG_B43_FWCUTTER_PROTO:=default
  580. PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
  581. PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
  582. PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
  583. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
  584. endif
  585. define Download/b43-common
  586. FILE:=$(PKG_B43_FWCUTTER_SOURCE)
  587. URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
  588. MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
  589. PROTO:=$(PKG_B43_FWCUTTER_PROTO)
  590. VERSION:=$(PKG_B43_FWCUTTER_VERSION)
  591. SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
  592. endef
  593. $(eval $(call Download,b43-common))
  594. define Download/b43
  595. FILE:=$(PKG_B43_FWV4_SOURCE)
  596. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  597. MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
  598. endef
  599. $(eval $(call Download,b43))
  600. define Download/b43legacy
  601. FILE:=$(PKG_B43_FWV3_SOURCE)
  602. URL:=$(PKG_B43_FWV3_SOURCE_URL)
  603. MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
  604. endef
  605. $(eval $(call Download,b43legacy))
  606. define KernelPackage/b43-common
  607. $(call KernelPackage/mac80211/Default)
  608. TITLE:=Generic stuff for Broadcom wireless devices
  609. URL:=http://linuxwireless.org/en/users/Drivers/b43
  610. KCONFIG:= \
  611. CONFIG_HW_RANDOM=y
  612. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
  613. endef
  614. define KernelPackage/b43
  615. $(call KernelPackage/b43-common)
  616. TITLE:=Broadcom 43xx wireless support
  617. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
  618. AUTOLOAD:=$(call AutoLoad,30,b43)
  619. MENU:=1
  620. endef
  621. define KernelPackage/b43/config
  622. menu "Configuration"
  623. depends on PACKAGE_kmod-b43
  624. choice
  625. prompt "b43 firmware version"
  626. default B43_STABLE
  627. help
  628. This option allows you to select the version of the b43 firmware.
  629. config B43_STABLE
  630. bool "4.150.10.5 (stable)"
  631. help
  632. Stable firmware for BCM43xx devices.
  633. If unsure, select this.
  634. config B43_EXPERIMENTAL
  635. bool "4.178.10.4 (experimental)"
  636. help
  637. Experimental firmware for BCM43xx devices.
  638. This firmware is not tested as much as the "stable" firmware.
  639. If unsure, select the "stable" firmware.
  640. config B43_OPENFIRMWARE
  641. bool "Open FirmWare for WiFi networks"
  642. help
  643. Opensource firmware for BCM43xx devices.
  644. Do _not_ select this, unless you know what you are doing.
  645. The Opensource firmware is not suitable for embedded devices, yet.
  646. It does not support QoS, which is bad for AccessPoints.
  647. It does not support hardware crypto acceleration, which is a showstopper
  648. for embedded devices with low CPU resources.
  649. If unsure, select the "stable" firmware.
  650. endchoice
  651. config B43_FW_SQUASH
  652. bool "Remove unnecessary firmware files"
  653. depends on !B43_OPENFIRMWARE
  654. default y
  655. help
  656. This options allows you to remove unnecessary b43 firmware files
  657. from the final rootfs image. This can reduce the rootfs size by
  658. up to 200k.
  659. If unsure, say Y.
  660. config B43_FW_SQUASH_COREREVS
  661. string "Core revisions to include"
  662. depends on B43_FW_SQUASH
  663. default "5,6,7,8,9,10,13,14,15"
  664. help
  665. This is a comma seperated list of core revision numbers.
  666. Example (keep files for rev5 only):
  667. 5
  668. Example (keep files for rev5 and rev11):
  669. 5,11
  670. config B43_FW_SQUASH_PHYTYPES
  671. string "PHY types to include"
  672. depends on B43_FW_SQUASH
  673. default "G,LP"
  674. help
  675. This is a comma seperated list of PHY types:
  676. A => A-PHY
  677. AG => Dual A-PHY G-PHY
  678. G => G-PHY
  679. LP => LP-PHY
  680. N => N-PHY
  681. Example (keep files for G-PHY only):
  682. G
  683. Example (keep files for G-PHY and N-PHY):
  684. G,N
  685. endmenu
  686. endef
  687. define KernelPackage/b43/description
  688. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  689. endef
  690. define KernelPackage/b43legacy
  691. $(call KernelPackage/b43-common)
  692. TITLE:=Broadcom 43xx-legacy wireless support
  693. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
  694. AUTOLOAD:=$(call AutoLoad,30,b43legacy)
  695. MENU:=1
  696. endef
  697. define KernelPackage/b43legacy/config
  698. menu "Configuration"
  699. depends on PACKAGE_kmod-b43legacy
  700. config B43LEGACY_FW_SQUASH
  701. bool "Remove unnecessary firmware files"
  702. default y
  703. help
  704. This options allows you to remove unnecessary b43legacy firmware files
  705. from the final rootfs image. This can reduce the rootfs size by
  706. up to 50k.
  707. If unsure, say Y.
  708. config B43LEGACY_FW_SQUASH_COREREVS
  709. string "Core revisions to include"
  710. depends on B43LEGACY_FW_SQUASH
  711. default "1,2,3,4"
  712. help
  713. This is a comma seperated list of core revision numbers.
  714. Example (keep files for rev4 only):
  715. 4
  716. Example (keep files for rev2 and rev4):
  717. 2,4
  718. endmenu
  719. endef
  720. define KernelPackage/b43legacy/description
  721. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  722. endef
  723. BUILDFLAGS:= \
  724. -I$(PKG_BUILD_DIR)/include \
  725. $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
  726. $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
  727. $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
  728. -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
  729. $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS) \
  730. $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
  731. -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
  732. -DCONFIG_MAC80211_RC_MINSTREL_HT \
  733. $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
  734. $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
  735. $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
  736. $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
  737. $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
  738. $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
  739. $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
  740. $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
  741. $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
  742. $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
  743. $(if $(CONFIG_PCI_SUPPORT),-DCONFIG_RT2800PCI_PCI) \
  744. $(if $(CONFIG_TARGET_ramips),-DCONFIG_RT2800PCI_SOC) \
  745. -DCONFIG_P54_SPI_DEFAULT_EEPROM
  746. MAKE_OPTS:= \
  747. CROSS_COMPILE="$(KERNEL_CROSS)" \
  748. ARCH="$(LINUX_KARCH)" \
  749. EXTRA_CFLAGS="$(BUILDFLAGS)" \
  750. $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
  751. CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
  752. CONFIG_MAC80211_RC_MINSTREL=y \
  753. CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  754. CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  755. CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
  756. CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  757. CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  758. CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  759. CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  760. CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  761. CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  762. CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
  763. CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
  764. CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
  765. CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
  766. CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
  767. CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
  768. CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
  769. CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
  770. CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
  771. CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  772. CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
  773. CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  774. CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
  775. CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
  776. CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
  777. CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
  778. CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
  779. CONFIG_P54_SPI_DEFAULT_EEPROM=y \
  780. CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
  781. CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
  782. CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
  783. CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
  784. CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
  785. CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
  786. CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
  787. CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
  788. CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
  789. CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
  790. CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
  791. CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
  792. CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
  793. CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
  794. CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
  795. CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
  796. CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
  797. CONFIG_RT2800PCI_PCI=$(if $(CONFIG_PCI_SUPPORT),y) \
  798. CONFIG_RT2800PCI_SOC=$(if $(CONFIG_TARGET_ramips),y) \
  799. CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
  800. CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
  801. CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
  802. CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
  803. CONFIG_PCMCIA= \
  804. CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
  805. CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
  806. CONFIG_LIBERTAS_CS= \
  807. CONFIG_LIBERTAS_SPI= \
  808. CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
  809. CONFIG_LIBERTAS_THINFIRM= \
  810. CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
  811. CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
  812. CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
  813. CONFIG_NL80211=y \
  814. CONFIG_LIB80211= \
  815. CONFIG_LIB80211_CRYPT_WEP= \
  816. CONFIG_LIB80211_CRYPT_CCMP= \
  817. CONFIG_LIB80211_CRYPT_TKIP= \
  818. CONFIG_IWLWIFI= \
  819. CONFIG_COMPAT_IWLWIFI= \
  820. CONFIG_IWLAGN= \
  821. CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
  822. CONFIG_ATMEL= \
  823. CONFIG_PCMCIA_ATMEL= \
  824. CONFIG_ADM8211= \
  825. CONFIG_USB_NET_RNDIS_HOST= \
  826. CONFIG_USB_NET_RNDIS_WLAN= \
  827. CONFIG_USB_NET_CDCETHER= \
  828. CONFIG_USB_USBNET= \
  829. CONFIG_AT76C50X_USB= \
  830. CONFIG_WL12XX= \
  831. CONFIG_EEPROM_93CX6= \
  832. CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
  833. CONFIG_HERMES_CACHE_FW_ON_INIT= \
  834. CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
  835. CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
  836. CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
  837. CONFIG_HERMES_PRISM= \
  838. CONFIG_APPLE_AIRPORT= \
  839. CONFIG_TMD_HERMES= \
  840. CONFIG_NORTEL_HERMES= \
  841. CONFIG_PCMCIA_SPECTRUM= \
  842. CONFIG_ORINOCO_USB= \
  843. CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
  844. CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  845. CONFIG_IWM= \
  846. CONFIG_ATH9K_HTC= \
  847. CONFIG_MAC80211_RC_MINSTREL_HT=y \
  848. MADWIFI= \
  849. OLD_IWL= \
  850. KLIB_BUILD="$(LINUX_DIR)" \
  851. MODPROBE=: \
  852. KLIB=$(TARGET_MODULES_DIR) \
  853. KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
  854. define Build/Prepare
  855. rm -rf $(PKG_BUILD_DIR)
  856. mkdir -p $(PKG_BUILD_DIR)
  857. $(PKG_UNPACK)
  858. $(Build/Patch)
  859. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
  860. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
  861. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
  862. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
  863. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  864. $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  865. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  866. rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
  867. rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
  868. rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
  869. endef
  870. ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
  871. define Build/Compile/kmod
  872. rm -rf $(PKG_BUILD_DIR)/modules
  873. $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
  874. endef
  875. endif
  876. define Build/Compile
  877. $(call Build/Compile/kmod)
  878. endef
  879. define Build/InstallDev
  880. mkdir -p \
  881. $(1)/usr/include/mac80211 \
  882. $(1)/usr/include/mac80211/ath \
  883. $(1)/usr/include/net/mac80211
  884. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  885. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  886. $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
  887. endef
  888. define KernelPackage/libertas-usb/install
  889. $(INSTALL_DIR) $(1)/lib/firmware
  890. $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
  891. endef
  892. define KernelPackage/libertas-sd/install
  893. echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
  894. $(INSTALL_DIR) $(1)/lib/firmware
  895. $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
  896. $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
  897. endef
  898. define KernelPackage/cfg80211/install
  899. $(INSTALL_DIR) $(1)/lib/wifi
  900. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  901. endef
  902. define KernelPackage/p54-pci/install
  903. $(INSTALL_DIR) $(1)/lib/firmware
  904. $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
  905. endef
  906. define KernelPackage/p54-usb/install
  907. $(INSTALL_DIR) $(1)/lib/firmware
  908. $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
  909. endef
  910. define KernelPackage/p54-spi/install
  911. $(INSTALL_DIR) $(1)/lib/firmware
  912. $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
  913. endef
  914. define KernelPackage/rt61-pci/install
  915. $(INSTALL_DIR) $(1)/lib/firmware
  916. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
  917. endef
  918. define KernelPackage/rt73-usb/install
  919. $(INSTALL_DIR) $(1)/lib/firmware
  920. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
  921. endef
  922. define KernelPackage/rt2800-pci/install
  923. $(INSTALL_DIR) $(1)/lib/firmware
  924. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
  925. endef
  926. define KernelPackage/rt2800-usb/install
  927. $(INSTALL_DIR) $(1)/lib/firmware
  928. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
  929. endef
  930. define KernelPackage/zd1211rw/install
  931. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  932. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  933. endef
  934. define KernelPackage/ar9170/install
  935. $(INSTALL_DIR) $(1)/lib/firmware
  936. $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
  937. endef
  938. define KernelPackage/net-ipw2100/install
  939. $(INSTALL_DIR) $(1)/lib/firmware
  940. $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
  941. endef
  942. define KernelPackage/net-ipw2200/install
  943. $(INSTALL_DIR) $(1)/lib/firmware
  944. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
  945. endef
  946. define Build/b43-common
  947. tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  948. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
  949. CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
  950. QUIET_SPARSE=:
  951. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
  952. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  953. $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
  954. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
  955. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
  956. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
  957. endif
  958. $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
  959. endef
  960. define KernelPackage/b43/install
  961. rm -rf $(1)/lib/firmware/
  962. $(call Build/b43-common)
  963. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  964. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  965. else
  966. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  967. endif
  968. $(INSTALL_DIR) $(1)/lib/firmware/
  969. ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
  970. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  971. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  972. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  973. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  974. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  975. else
  976. b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  977. endif
  978. ifneq ($(CONFIG_B43_FW_SQUASH),)
  979. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  980. endif
  981. endef
  982. define KernelPackage/b43legacy/install
  983. $(call Build/b43-common)
  984. $(INSTALL_DIR) $(1)/lib/firmware/
  985. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
  986. ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
  987. b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
  988. endif
  989. endef
  990. $(eval $(call KernelPackage,ath5k))
  991. $(eval $(call KernelPackage,libertas-usb))
  992. $(eval $(call KernelPackage,libertas-sd))
  993. $(eval $(call KernelPackage,cfg80211))
  994. $(eval $(call KernelPackage,mac80211))
  995. $(eval $(call KernelPackage,p54-common))
  996. $(eval $(call KernelPackage,p54-pci))
  997. $(eval $(call KernelPackage,p54-usb))
  998. $(eval $(call KernelPackage,p54-spi))
  999. $(eval $(call KernelPackage,rt2x00-lib))
  1000. $(eval $(call KernelPackage,rt2x00-pci))
  1001. $(eval $(call KernelPackage,rt2x00-usb))
  1002. $(eval $(call KernelPackage,rt2x00-soc))
  1003. $(eval $(call KernelPackage,rt2800-lib))
  1004. $(eval $(call KernelPackage,rt2400-pci))
  1005. $(eval $(call KernelPackage,rt2500-pci))
  1006. $(eval $(call KernelPackage,rt2500-usb))
  1007. $(eval $(call KernelPackage,rt61-pci))
  1008. $(eval $(call KernelPackage,rt73-usb))
  1009. $(eval $(call KernelPackage,rt2800-pci))
  1010. $(eval $(call KernelPackage,rt2800-usb))
  1011. $(eval $(call KernelPackage,rtl8180))
  1012. $(eval $(call KernelPackage,rtl8187))
  1013. $(eval $(call KernelPackage,zd1211rw))
  1014. $(eval $(call KernelPackage,mac80211-hwsim))
  1015. $(eval $(call KernelPackage,ath9k))
  1016. $(eval $(call KernelPackage,ath))
  1017. $(eval $(call KernelPackage,carl9170))
  1018. $(eval $(call KernelPackage,b43))
  1019. $(eval $(call KernelPackage,b43legacy))
  1020. $(eval $(call KernelPackage,net-libipw))
  1021. $(eval $(call KernelPackage,net-ipw2100))
  1022. $(eval $(call KernelPackage,net-ipw2200))
  1023. $(eval $(call KernelPackage,mwl8k))
  1024. $(eval $(call KernelPackage,net-hermes))
  1025. $(eval $(call KernelPackage,net-hermes-pci))
  1026. $(eval $(call KernelPackage,net-hermes-plx))
  1027. $(eval $(call KernelPackage,net-hermes-pcmcia))