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