Makefile 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741
  1. #
  2. # Copyright (C) 2007-2009 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:=2009-12-05
  11. PKG_RELEASE:=8
  12. PKG_SOURCE_URL:= \
  13. http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/12 \
  14. http://wireless.kernel.org/download/compat-wireless-2.6
  15. PKG_MD5SUM:=5b432e35626af4036ed55da75fff3fca
  16. PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
  17. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
  18. PKG_CONFIG_DEPENDS:= \
  19. CONFIG_PACKAGE_kmod-mac80211 \
  20. CONFIG_PACKAGE_MAC80211_DEBUGFS \
  21. CONFIG_PACKAGE_ATH_DEBUG \
  22. CONFIG_ATH_USER_REGD \
  23. include $(INCLUDE_DIR)/package.mk
  24. WMENU:=Wireless Drivers
  25. define KernelPackage/mac80211/Default
  26. SUBMENU:=$(WMENU)
  27. URL:=http://linuxwireless.org/
  28. DEPENDS:=@LINUX_2_6 @!TARGET_avr32
  29. endef
  30. define KernelPackage/mac80211
  31. $(call KernelPackage/mac80211/Default)
  32. TITLE:=Linux 802.11 Wireless Networking Stack
  33. DEPENDS+= +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +iw @!LINUX_2_6_21 @!LINUX_2_6_25
  34. FILES:= \
  35. $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
  36. $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
  37. AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
  38. endef
  39. define KernelPackage/mac80211/config
  40. source "$(SOURCE)/Config.in"
  41. endef
  42. define KernelPackage/mac80211/description
  43. Linux 802.11 Wireless Networking Stack
  44. endef
  45. # Prism54 drivers
  46. P54PCIFW:=2.13.12.0.arm
  47. P54USBFW:=2.13.24.0.lm87.arm
  48. define Download/p54usb
  49. FILE:=$(P54USBFW)
  50. URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
  51. MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
  52. endef
  53. $(eval $(call Download,p54usb))
  54. define Download/p54pci
  55. FILE:=$(P54PCIFW)
  56. URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
  57. MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
  58. endef
  59. $(eval $(call Download,p54pci))
  60. define KernelPackage/p54/Default
  61. $(call KernelPackage/mac80211/Default)
  62. TITLE:=Prism54 Drivers
  63. endef
  64. define KernelPackage/p54/description
  65. Kernel module for Prism54 chipsets (mac80211)
  66. endef
  67. define KernelPackage/p54-common
  68. $(call KernelPackage/p54/Default)
  69. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
  70. TITLE+= (COMMON)
  71. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
  72. AUTOLOAD:=$(call AutoLoad,30,p54common)
  73. endef
  74. define KernelPackage/p54-pci
  75. $(call KernelPackage/p54/Default)
  76. TITLE+= (PCI)
  77. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  78. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
  79. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  80. endef
  81. define KernelPackage/p54-usb
  82. $(call KernelPackage/p54/Default)
  83. TITLE+= (USB)
  84. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  85. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
  86. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  87. endef
  88. # Ralink rt2x00 drivers
  89. RT61FW:=RT61_Firmware_V1.2.zip
  90. RT71FW:=RT71W_Firmware_V1.8.zip
  91. RT2860FW:=RT2860_Firmware_V11.zip
  92. RT2870FW:=RT2870_Firmware_V8.zip
  93. define Download/rt61
  94. FILE:=$(RT61FW)
  95. URL:=http://www.ralinktech.com.tw/data/
  96. MD5SUM:=d4c690c93b470bc9a681297c2adc6281
  97. endef
  98. $(eval $(call Download,rt61))
  99. define Download/rt71w
  100. FILE:=$(RT71FW)
  101. URL:=http://www.ralinktech.com.tw/data/
  102. MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
  103. endef
  104. $(eval $(call Download,rt71w))
  105. define Download/rt2860
  106. FILE:=$(RT2860FW)
  107. URL:=http://www.ralinktech.com.tw/data/drivers
  108. MD5SUM:=440a81756a52c53528f16faa41c40124
  109. endef
  110. $(eval $(call Download,rt2860))
  111. define Download/rt2870
  112. FILE:=$(RT2870FW)
  113. URL:=http://www.ralinktech.com.tw/data/drivers
  114. MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
  115. endef
  116. $(eval $(call Download,rt2870))
  117. AR9170FW:=ar9170.fw
  118. define Download/ar9170
  119. FILE:=$(AR9170FW)
  120. URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
  121. MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
  122. endef
  123. $(eval $(call Download,ar9170))
  124. define KernelPackage/rt2x00/Default
  125. $(call KernelPackage/mac80211/Default)
  126. TITLE:=Ralink Drivers for RT2x00 cards
  127. endef
  128. define KernelPackage/rt2x00-lib
  129. $(call KernelPackage/rt2x00/Default)
  130. DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-crc-itu-t
  131. TITLE+= (LIB)
  132. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
  133. AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
  134. endef
  135. define KernelPackage/rt2x00-pci
  136. $(call KernelPackage/rt2x00/Default)
  137. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
  138. TITLE+= (PCI)
  139. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
  140. AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
  141. endef
  142. define KernelPackage/rt2x00-usb
  143. $(call KernelPackage/rt2x00/Default)
  144. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
  145. TITLE+= (USB)
  146. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
  147. AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
  148. endef
  149. define KernelPackage/rt2400-pci
  150. $(call KernelPackage/rt2x00/Default)
  151. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  152. TITLE+= (RT2400 PCI)
  153. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
  154. AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
  155. endef
  156. define KernelPackage/rt2500-pci
  157. $(call KernelPackage/rt2x00/Default)
  158. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  159. TITLE+= (RT2500 PCI)
  160. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
  161. AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
  162. endef
  163. define KernelPackage/rt2500-usb
  164. $(call KernelPackage/rt2x00/Default)
  165. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  166. TITLE+= (RT2500 USB)
  167. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
  168. AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
  169. endef
  170. define KernelPackage/rt61-pci
  171. $(call KernelPackage/rt2x00/Default)
  172. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  173. TITLE+= (RT2x61 PCI)
  174. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
  175. AUTOLOAD:=$(call AutoLoad,27,rt61pci)
  176. endef
  177. define KernelPackage/rt73-usb
  178. $(call KernelPackage/rt2x00/Default)
  179. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  180. TITLE+= (RT73 USB)
  181. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
  182. AUTOLOAD:=$(call AutoLoad,27,rt73usb)
  183. endef
  184. define KernelPackage/rt2800-pci
  185. $(call KernelPackage/rt2x00/Default)
  186. DEPENDS+= +kmod-rt2x00-pci +kmod-crc-ccitt
  187. TITLE+= (RT2860 PCI)
  188. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
  189. AUTOLOAD:=$(call AutoLoad,27,rt2800pci)
  190. endef
  191. define KernelPackage/rt2800-usb
  192. $(call KernelPackage/rt2x00/Default)
  193. DEPENDS+= +kmod-rt2x00-usb +kmod-crc-ccitt
  194. TITLE+= (RT2870 USB)
  195. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
  196. AUTOLOAD:=$(call AutoLoad,27,rt2800usb)
  197. endef
  198. define KernelPackage/rtl818x/Default
  199. $(call KernelPackage/mac80211/Default)
  200. TITLE:=Realtek Drivers for RTL818x devices
  201. URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
  202. DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
  203. endef
  204. define KernelPackage/rtl8180
  205. $(call KernelPackage/rtl818x/Default)
  206. DEPENDS+= @PCI_SUPPORT
  207. TITLE+= (RTL8180 PCI)
  208. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
  209. AUTOLOAD:=$(call AutoLoad,27,rtl8180)
  210. endef
  211. define KernelPackage/rtl8187
  212. $(call KernelPackage/rtl818x/Default)
  213. DEPENDS+= @USB_SUPPORT
  214. TITLE+= (RTL8187 USB)
  215. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
  216. AUTOLOAD:=$(call AutoLoad,27,rtl8187)
  217. endef
  218. ZD1211FW_NAME:=zd1211-firmware
  219. ZD1211FW_VERSION:=1.4
  220. define Download/zd1211rw
  221. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  222. URL:=@SF/zd1211/
  223. MD5SUM:=19f28781d76569af8551c9d11294c870
  224. endef
  225. $(eval $(call Download,zd1211rw))
  226. define KernelPackage/zd1211rw
  227. $(call KernelPackage/mac80211/Default)
  228. TITLE:=Zydas ZD1211 support
  229. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  230. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
  231. AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
  232. endef
  233. define KernelPackage/ath/config
  234. config ATH_USER_REGD
  235. bool "Force Atheros drivers to respect the user's regdomain settings"
  236. depends on PACKAGE_kmod-ath
  237. help
  238. Atheros' idea of regulatory handling is that the EEPROM of the card defines
  239. the regulatory limits and the user is only allowed to restrict the settings
  240. even further, even if the country allows frequencies or power levels that
  241. are forbidden by the EEPROM settings.
  242. Select this option if you want the driver to respect the user's decision about
  243. regulatory settings.
  244. config PACKAGE_ATH_DEBUG
  245. bool "Atheros wireless debugging"
  246. depends on PACKAGE_kmod-ath
  247. help
  248. Say Y, if you want to debug atheros wireless drivers.
  249. Right now only ath9k makes use of this.
  250. endef
  251. define KernelPackage/ath
  252. $(call KernelPackage/mac80211/Default)
  253. TITLE:=Atheros common driver part
  254. DEPENDS+= @PCI_SUPPORT +kmod-mac80211
  255. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
  256. AUTOLOAD:=$(call AutoLoad,26,ath)
  257. endef
  258. define KernelPackage/ath/description
  259. This module contains some common parts needed by Atheros Wireless drivers.
  260. endef
  261. define KernelPackage/ath5k
  262. $(call KernelPackage/mac80211/Default)
  263. TITLE:=Atheros 5xxx wireless cards support
  264. URL:=http://linuxwireless.org/en/users/Drivers/ath5k
  265. DEPENDS+= +kmod-ath
  266. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
  267. AUTOLOAD:=$(call AutoLoad,27,ath5k)
  268. endef
  269. define KernelPackage/ath5k/description
  270. This module adds support for wireless adapters based on
  271. Atheros 5xxx chipset.
  272. endef
  273. define KernelPackage/ath9k
  274. $(call KernelPackage/mac80211/Default)
  275. TITLE:=Atheros 802.11n wireless cards support
  276. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  277. DEPENDS+= +kmod-ath
  278. FILES:= \
  279. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
  280. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
  281. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
  282. AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
  283. endef
  284. define KernelPackage/ath9k/description
  285. This module adds support for wireless adapters based on
  286. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  287. endef
  288. define KernelPackage/ath9k/config
  289. source "$(SOURCE)/Config.in.ath9k"
  290. endef
  291. USB8388FW_NAME:=usb8388
  292. USB8388FW_VERSION:=5.110.22.p23
  293. define Download/usb8388
  294. URL:=http://dev.laptop.org/pub/firmware/libertas/
  295. FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
  296. MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
  297. endef
  298. $(eval $(call Download,usb8388))
  299. define KernelPackage/libertas
  300. $(call KernelPackage/mac80211/Default)
  301. DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
  302. TITLE:=Marvell 88W8015 Wireless Driver
  303. FILES:= \
  304. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
  305. $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
  306. AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
  307. endef
  308. define KernelPackage/ar9170
  309. $(call KernelPackage/mac80211/Default)
  310. TITLE:=Atheros AR9170 802.11n USB support
  311. URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
  312. DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
  313. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
  314. AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
  315. endef
  316. define KernelPackage/ar9170/description
  317. This is a driver for the Atheros "otus" 802.11n USB devices.
  318. endef
  319. define KernelPackage/mac80211-hwsim
  320. $(call KernelPackage/mac80211/Default)
  321. TITLE:=mac80211 HW simulation device
  322. DEPENDS+= +kmod-mac80211
  323. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
  324. AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
  325. endef
  326. #Broadcom firmware
  327. ifneq ($(CONFIG_B43_EXPERIMENTAL),)
  328. PKG_B43_FWV4_NAME:=broadcom-wl
  329. PKG_B43_FWV4_VERSION:=4.178.10.4
  330. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
  331. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  332. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  333. PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
  334. else
  335. PKG_B43_FWV4_NAME:=broadcom-wl
  336. PKG_B43_FWV4_VERSION:=4.150.10.5
  337. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  338. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  339. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  340. PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
  341. endif
  342. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  343. PKG_B43_FWV4_NAME:=broadcom-wl
  344. PKG_B43_FWV4_VERSION:=5.2
  345. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  346. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  347. PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
  348. PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
  349. endif
  350. PKG_B43_FWV3_NAME:=wl_apsta
  351. PKG_B43_FWV3_VERSION:=3.130.20.0
  352. PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
  353. PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
  354. PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
  355. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  356. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  357. PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
  358. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  359. PKG_B43_FWCUTTER_PROTO:=git
  360. PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
  361. PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
  362. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
  363. else
  364. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  365. PKG_B43_FWCUTTER_VERSION:=012
  366. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  367. PKG_B43_FWCUTTER_PROTO:=default
  368. PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
  369. PKG_B43_FWCUTTER_MD5SUM:=69eadf67b459f313a8d6b37aaabef96c
  370. PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
  371. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
  372. endif
  373. define Download/b43-common
  374. FILE:=$(PKG_B43_FWCUTTER_SOURCE)
  375. URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
  376. MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
  377. PROTO:=$(PKG_B43_FWCUTTER_PROTO)
  378. VERSION:=$(PKG_B43_FWCUTTER_VERSION)
  379. SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
  380. endef
  381. $(eval $(call Download,b43-common))
  382. define Download/b43
  383. FILE:=$(PKG_B43_FWV4_SOURCE)
  384. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  385. MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
  386. endef
  387. $(eval $(call Download,b43))
  388. define Download/b43legacy
  389. FILE:=$(PKG_B43_FWV3_SOURCE)
  390. URL:=$(PKG_B43_FWV3_SOURCE_URL)
  391. MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
  392. endef
  393. $(eval $(call Download,b43legacy))
  394. define KernelPackage/b43-common
  395. $(call KernelPackage/mac80211/Default)
  396. TITLE:=Generic stuff for Broadcom wireless devices
  397. URL:=http://linuxwireless.org/en/users/Drivers/b43
  398. KCONFIG:= \
  399. CONFIG_HW_RANDOM=y
  400. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
  401. endef
  402. define KernelPackage/b43
  403. $(call KernelPackage/b43-common)
  404. TITLE:=Broadcom 43xx wireless support
  405. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
  406. AUTOLOAD:=$(call AutoLoad,30,b43)
  407. endef
  408. define KernelPackage/b43/config
  409. source "$(SOURCE)/Config.in.b43"
  410. endef
  411. define KernelPackage/b43/description
  412. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  413. endef
  414. define KernelPackage/b43legacy
  415. $(call KernelPackage/b43-common)
  416. TITLE:=Broadcom 43xx-legacy wireless support
  417. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
  418. AUTOLOAD:=$(call AutoLoad,30,b43legacy)
  419. endef
  420. define KernelPackage/b43legacy/description
  421. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  422. endef
  423. BUILDFLAGS:= \
  424. -I$(PKG_BUILD_DIR)/include \
  425. $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
  426. $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
  427. $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
  428. $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
  429. $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
  430. -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
  431. $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
  432. $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG) \
  433. -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
  434. $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1)
  435. MAKE_OPTS:= \
  436. CROSS_COMPILE="$(KERNEL_CROSS)" \
  437. ARCH="$(LINUX_KARCH)" \
  438. EXTRA_CFLAGS="$(BUILDFLAGS)" \
  439. $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
  440. CONFIG_MAC80211_RC_PID=y \
  441. CONFIG_MAC80211_RC_MINSTREL=y \
  442. CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  443. CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  444. CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
  445. CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  446. CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
  447. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
  448. CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
  449. CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
  450. CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
  451. CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  452. CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  453. CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  454. CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
  455. CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
  456. CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
  457. CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
  458. CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
  459. CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
  460. CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
  461. CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
  462. CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
  463. CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
  464. CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
  465. CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
  466. CONFIG_P54_SPI= \
  467. CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
  468. CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
  469. CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
  470. CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
  471. CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
  472. CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
  473. CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
  474. CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
  475. CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
  476. CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
  477. CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
  478. CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
  479. CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
  480. CONFIG_PCMCIA= \
  481. CONFIG_LIBIPW= \
  482. CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
  483. CONFIG_LIBERTAS_CS= \
  484. CONFIG_LIBERTAS_SDIO= \
  485. CONFIG_LIBERTAS_THINFIRM= \
  486. CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
  487. CONFIG_IPW2100= \
  488. CONFIG_IPW2200= \
  489. CONFIG_NL80211=y \
  490. CONFIG_LIB80211= \
  491. CONFIG_LIB80211_CRYPT_WEP= \
  492. CONFIG_LIB80211_CRYPT_CCMP= \
  493. CONFIG_LIB80211_CRYPT_TKIP= \
  494. CONFIG_IWLWIFI= \
  495. CONFIG_IWLAGN= \
  496. CONFIG_MWL8K= \
  497. CONFIG_ATMEL= \
  498. CONFIG_PCMCIA_ATMEL= \
  499. CONFIG_ADM8211= \
  500. CONFIG_USB_NET_RNDIS_HOST= \
  501. CONFIG_USB_NET_RNDIS_WLAN= \
  502. CONFIG_USB_NET_CDCETHER= \
  503. CONFIG_USB_USBNET= \
  504. CONFIG_AT76C50X_USB= \
  505. CONFIG_WL12XX= \
  506. CONFIG_EEPROM_93CX6= \
  507. CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
  508. CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  509. CONFIG_IWM= \
  510. MADWIFI= \
  511. OLD_IWL= \
  512. KLIB_BUILD="$(LINUX_DIR)" \
  513. MODPROBE=: \
  514. KLIB=$(TARGET_MODULES_DIR) \
  515. KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
  516. define Build/Prepare
  517. rm -rf $(PKG_BUILD_DIR)
  518. mkdir -p $(PKG_BUILD_DIR)
  519. $(PKG_UNPACK)
  520. $(Build/Patch)
  521. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
  522. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
  523. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
  524. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
  525. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  526. rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
  527. rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
  528. rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
  529. endef
  530. ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
  531. define Build/Compile/kmod
  532. rm -rf $(PKG_BUILD_DIR)/modules
  533. $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
  534. endef
  535. endif
  536. define Build/Compile
  537. $(call Build/Compile/kmod)
  538. endef
  539. define Build/InstallDev
  540. mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
  541. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  542. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  543. endef
  544. define KernelPackage/libertas/install
  545. $(INSTALL_DIR) $(1)/lib/firmware
  546. $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
  547. endef
  548. define KernelPackage/mac80211/install
  549. $(INSTALL_DIR) $(1)/lib/wifi
  550. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  551. endef
  552. define KernelPackage/p54-pci/install
  553. $(INSTALL_DIR) $(1)/lib/firmware
  554. $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
  555. endef
  556. define KernelPackage/p54-usb/install
  557. $(INSTALL_DIR) $(1)/lib/firmware
  558. $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
  559. endef
  560. define KernelPackage/rt61-pci/install
  561. $(INSTALL_DIR) $(1)/lib/firmware
  562. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
  563. endef
  564. define KernelPackage/rt73-usb/install
  565. $(INSTALL_DIR) $(1)/lib/firmware
  566. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
  567. endef
  568. define KernelPackage/rt2800-pci/install
  569. $(INSTALL_DIR) $(1)/lib/firmware
  570. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
  571. endef
  572. define KernelPackage/rt2800-usb/install
  573. $(INSTALL_DIR) $(1)/lib/firmware
  574. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
  575. endef
  576. define KernelPackage/zd1211rw/install
  577. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  578. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  579. endef
  580. define KernelPackage/ar9170/install
  581. $(INSTALL_DIR) $(1)/lib/firmware
  582. $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
  583. endef
  584. define Build/b43-common
  585. tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  586. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
  587. CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
  588. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
  589. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  590. $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
  591. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
  592. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
  593. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
  594. endif
  595. $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
  596. endef
  597. define KernelPackage/b43/install
  598. rm -rf $(1)/lib/firmware/
  599. $(call Build/b43-common)
  600. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  601. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  602. else
  603. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  604. endif
  605. $(INSTALL_DIR) $(1)/lib/firmware/
  606. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  607. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  608. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  609. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  610. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  611. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  612. else
  613. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  614. endif
  615. ifneq ($(CONFIG_B43_FW_SQUASH),)
  616. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  617. endif
  618. endef
  619. define KernelPackage/b43legacy/install
  620. $(call Build/b43-common)
  621. $(INSTALL_DIR) $(1)/lib/firmware/
  622. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
  623. endef
  624. $(eval $(call KernelPackage,ath5k))
  625. $(eval $(call KernelPackage,libertas))
  626. $(eval $(call KernelPackage,mac80211))
  627. $(eval $(call KernelPackage,p54-common))
  628. $(eval $(call KernelPackage,p54-pci))
  629. $(eval $(call KernelPackage,p54-usb))
  630. $(eval $(call KernelPackage,rt2x00-lib))
  631. $(eval $(call KernelPackage,rt2x00-pci))
  632. $(eval $(call KernelPackage,rt2x00-usb))
  633. $(eval $(call KernelPackage,rt2400-pci))
  634. $(eval $(call KernelPackage,rt2500-pci))
  635. $(eval $(call KernelPackage,rt2500-usb))
  636. $(eval $(call KernelPackage,rt61-pci))
  637. $(eval $(call KernelPackage,rt73-usb))
  638. $(eval $(call KernelPackage,rt2800-pci))
  639. $(eval $(call KernelPackage,rt2800-usb))
  640. $(eval $(call KernelPackage,rtl8180))
  641. $(eval $(call KernelPackage,rtl8187))
  642. $(eval $(call KernelPackage,zd1211rw))
  643. $(eval $(call KernelPackage,mac80211-hwsim))
  644. $(eval $(call KernelPackage,ath9k))
  645. $(eval $(call KernelPackage,ath))
  646. $(eval $(call KernelPackage,ar9170))
  647. $(eval $(call KernelPackage,b43))
  648. $(eval $(call KernelPackage,b43legacy))