Makefile 25 KB

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