Makefile 24 KB

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