mac80211: b43: Expose debug option
[openwrt/openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2011-04-06
14 PKG_RELEASE:=3
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_MD5SUM:=7ef8c2d9ee25af7ed33cf339f2484249
17
18 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20 PKG_BUILD_PARALLEL:=1
21
22 PKG_DRIVERS = \
23 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
24 rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
25 rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
26 rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
27 ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
28 mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
29 iwl-legacy iwl3945 iwl4965 iwlagn
30
31 PKG_CONFIG_DEPENDS:= \
32 CONFIG_PACKAGE_kmod-mac80211 \
33 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
34 CONFIG_PACKAGE_MAC80211_DEBUGFS \
35 CONFIG_PACKAGE_ATH_DEBUG \
36 CONFIG_PACKAGE_B43_DEBUG \
37 CONFIG_ATH_USER_REGD \
38
39 CARL9170_FW_VERSION:=1.9.2
40
41 include $(INCLUDE_DIR)/package.mk
42
43 WMENU:=Wireless Drivers
44
45 define KernelPackage/mac80211/Default
46 SUBMENU:=$(WMENU)
47 URL:=http://linuxwireless.org/
48 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
49 DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
50 endef
51
52 define KernelPackage/cfg80211
53 $(call KernelPackage/mac80211/Default)
54 TITLE:=cfg80211 - wireless configuration API
55 DEPENDS+= +wireless-tools +iw +crda
56 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
57 FILES:= \
58 $(PKG_BUILD_DIR)/compat/compat.ko \
59 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
60 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
61 else
62 FILES:= \
63 $(PKG_BUILD_DIR)/compat/compat.ko \
64 $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
65 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
66 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
67 endif
68 endef
69
70 define KernelPackage/cfg80211/description
71 cfg80211 is the Linux wireless LAN (802.11) configuration API.
72 endef
73
74 define KernelPackage/mac80211
75 $(call KernelPackage/mac80211/Default)
76 TITLE:=Linux 802.11 Wireless Networking Stack
77 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
78 KCONFIG:=\
79 CONFIG_AVERAGE=y
80 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
81 AUTOLOAD:=$(call AutoLoad,21,mac80211)
82 MENU:=1
83 endef
84
85 define KernelPackage/mac80211/config
86 menu "Configuration"
87 depends on PACKAGE_kmod-mac80211
88
89 config PACKAGE_MAC80211_DEBUGFS
90 bool "Export mac80211 internals in DebugFS"
91 default y
92 help
93 Select this to see extensive information about
94 the internal state of mac80211 in debugfs.
95
96 Say N unless you know you need this.
97
98 endmenu
99 endef
100
101 define KernelPackage/mac80211/description
102 Generic IEEE 802.11 Networking Stack (mac80211)
103 endef
104
105 # Prism54 drivers
106 P54PCIFW:=2.13.12.0.arm
107 P54USBFW:=2.13.24.0.lm87.arm
108 P54SPIFW:=2.13.0.0.a.13.14.arm
109 CARL9170_FW:=carl9170-1.fw
110
111 define Download/p54usb
112 FILE:=$(P54USBFW)
113 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
114 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
115 endef
116 $(eval $(call Download,p54usb))
117
118 define Download/p54pci
119 FILE:=$(P54PCIFW)
120 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
121 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
122 endef
123 $(eval $(call Download,p54pci))
124
125 define Download/p54spi
126 FILE:=$(P54SPIFW)
127 URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
128 MD5SUM:=42661f8ecbadd88012807493f596081d
129 endef
130 $(eval $(call Download,p54spi))
131
132 define Download/carl9170
133 FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
134 URL:=http://downloads.openwrt.org/sources/
135 MD5SUM:=9e33ac39dcd610aa1ad80bbf4f1abccf
136 endef
137 $(eval $(call Download,carl9170))
138
139 define KernelPackage/p54/Default
140 $(call KernelPackage/mac80211/Default)
141 TITLE:=Prism54 Drivers
142 endef
143
144 define KernelPackage/p54/description
145 Kernel module for Prism54 chipsets (mac80211)
146 endef
147
148 define KernelPackage/p54-common
149 $(call KernelPackage/p54/Default)
150 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-crc-ccitt
151 TITLE+= (COMMON)
152 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
153 AUTOLOAD:=$(call AutoLoad,30,p54common)
154 endef
155
156 define KernelPackage/p54-pci
157 $(call KernelPackage/p54/Default)
158 TITLE+= (PCI)
159 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
160 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
161 AUTOLOAD:=$(call AutoLoad,31,p54pci)
162 endef
163
164 define KernelPackage/p54-usb
165 $(call KernelPackage/p54/Default)
166 TITLE+= (USB)
167 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
168 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
169 AUTOLOAD:=$(call AutoLoad,31,p54usb)
170 endef
171
172 define KernelPackage/p54-spi
173 $(call KernelPackage/p54/Default)
174 TITLE+= (SPI)
175 DEPENDS+= @TARGET_omap24xx +kmod-p54-common
176 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
177 AUTOLOAD:=$(call AutoLoad,31,p54spi)
178 endef
179
180 # Ralink rt2x00 drivers
181 RT61FW:=RT61_Firmware_V1.2.zip
182 RT71FW:=RT71W_Firmware_V1.8.zip
183 RT2860FW:=RT2860_Firmware_V11.zip
184 RT2870FW:=RT2870_Firmware_V8.zip
185
186 define Download/rt61
187 FILE:=$(RT61FW)
188 URL:=http://www.ralinktech.com.tw/data/
189 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
190 endef
191 $(eval $(call Download,rt61))
192
193 define Download/rt71w
194 FILE:=$(RT71FW)
195 URL:=http://www.ralinktech.com.tw/data/
196 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
197 endef
198 $(eval $(call Download,rt71w))
199
200 define Download/rt2860
201 FILE:=$(RT2860FW)
202 URL:=http://www.ralinktech.com.tw/data/drivers
203 MD5SUM:=440a81756a52c53528f16faa41c40124
204 endef
205 $(eval $(call Download,rt2860))
206
207 define Download/rt2870
208 FILE:=$(RT2870FW)
209 URL:=http://www.ralinktech.com.tw/data/drivers
210 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
211 endef
212 $(eval $(call Download,rt2870))
213
214 AR9170FW:=ar9170.fw
215
216 define Download/ar9170
217 FILE:=$(AR9170FW)
218 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
219 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
220 endef
221 $(eval $(call Download,ar9170))
222
223 NEED_RT2X00_LIB_CRYPTO:=y
224 NEED_RT2X00_LIB_FIRMWARE:=y
225 NEED_RT2X00_LIB_HT:=y
226 NEED_RT2X00_LIB_LEDS:=y
227
228 define KernelPackage/rt2x00/Default
229 $(call KernelPackage/mac80211/Default)
230 TITLE:=Ralink Drivers for RT2x00 cards
231 endef
232
233 define KernelPackage/rt2x00-lib
234 $(call KernelPackage/rt2x00/Default)
235 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
236 TITLE+= (LIB)
237 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
238 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
239 MENU:=1
240 endef
241
242 define KernelPackage/rt2x00-lib/config
243 menu "Configuration"
244 depends PACKAGE_kmod-rt2x00-lib
245
246 config PACKAGE_RT2X00_LIB_DEBUGFS
247 bool "Enable rt2x00 debugfs support"
248 depends PACKAGE_MAC80211_DEBUGFS
249 help
250 Enable creation of debugfs files for the rt2x00 drivers.
251 These debugfs files support both reading and writing of the
252 most important register types of the rt2x00 hardware.
253
254 config PACKAGE_RT2X00_DEBUG
255 bool "Enable rt2x00 debug output"
256 help
257 Enable debugging output for all rt2x00 modules
258
259 endmenu
260 endef
261
262 define KernelPackage/rt2x00-pci
263 $(call KernelPackage/rt2x00/Default)
264 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
265 TITLE+= (PCI)
266 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
267 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
268 endef
269
270 define KernelPackage/rt2x00-usb
271 $(call KernelPackage/rt2x00/Default)
272 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
273 TITLE+= (USB)
274 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
275 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
276 endef
277
278 define KernelPackage/rt2x00-soc
279 $(call KernelPackage/rt2x00/Default)
280 DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
281 TITLE+= (SoC)
282 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
283 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
284 endef
285
286 define KernelPackage/rt2800-lib
287 $(call KernelPackage/rt2x00/Default)
288 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
289 TITLE+= (rt2800 LIB)
290 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
291 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
292 endef
293
294 define KernelPackage/rt2400-pci
295 $(call KernelPackage/rt2x00/Default)
296 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
297 TITLE+= (RT2400 PCI)
298 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
299 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
300 endef
301
302 define KernelPackage/rt2500-pci
303 $(call KernelPackage/rt2x00/Default)
304 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
305 TITLE+= (RT2500 PCI)
306 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
307 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
308 endef
309
310 define KernelPackage/rt2500-usb
311 $(call KernelPackage/rt2x00/Default)
312 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
313 TITLE+= (RT2500 USB)
314 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
315 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
316 endef
317
318 define KernelPackage/rt61-pci
319 $(call KernelPackage/rt2x00/Default)
320 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
321 TITLE+= (RT2x61 PCI)
322 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
323 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
324 endef
325
326 define KernelPackage/rt73-usb
327 $(call KernelPackage/rt2x00/Default)
328 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
329 TITLE+= (RT73 USB)
330 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
331 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
332 endef
333
334 define KernelPackage/rt2800-pci
335 $(call KernelPackage/rt2x00/Default)
336 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
337 TITLE+= (RT2860 PCI)
338 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
339 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
340 endef
341
342 define KernelPackage/rt2800-usb
343 $(call KernelPackage/rt2x00/Default)
344 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
345 TITLE+= (RT2870 USB)
346 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
347 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
348 endef
349
350 define KernelPackage/rtl818x/Default
351 $(call KernelPackage/mac80211/Default)
352 TITLE:=Realtek Drivers for RTL818x devices
353 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
354 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
355 endef
356
357 define KernelPackage/rtl8180
358 $(call KernelPackage/rtl818x/Default)
359 DEPENDS+= @PCI_SUPPORT
360 TITLE+= (RTL8180 PCI)
361 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
362 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
363 endef
364
365 define KernelPackage/rtl8187
366 $(call KernelPackage/rtl818x/Default)
367 DEPENDS+= @USB_SUPPORT +kmod-usb-core
368 TITLE+= (RTL8187 USB)
369 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
370 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
371 endef
372
373 ZD1211FW_NAME:=zd1211-firmware
374 ZD1211FW_VERSION:=1.4
375 define Download/zd1211rw
376 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
377 URL:=@SF/zd1211/
378 MD5SUM:=19f28781d76569af8551c9d11294c870
379 endef
380 $(eval $(call Download,zd1211rw))
381
382 define KernelPackage/zd1211rw
383 $(call KernelPackage/mac80211/Default)
384 TITLE:=Zydas ZD1211 support
385 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
386 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
387 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
388 endef
389
390 define KernelPackage/ath/config
391 menu "Configuration"
392 depends on PACKAGE_kmod-ath
393
394 config ATH_USER_REGD
395 bool "Force Atheros drivers to respect the user's regdomain settings"
396 help
397 Atheros' idea of regulatory handling is that the EEPROM of the card defines
398 the regulatory limits and the user is only allowed to restrict the settings
399 even further, even if the country allows frequencies or power levels that
400 are forbidden by the EEPROM settings.
401
402 Select this option if you want the driver to respect the user's decision about
403 regulatory settings.
404
405 config PACKAGE_ATH_DEBUG
406 bool "Atheros wireless debugging"
407 help
408 Say Y, if you want to debug atheros wireless drivers.
409 Right now only ath9k makes use of this.
410
411 endmenu
412 endef
413
414 define KernelPackage/ath
415 $(call KernelPackage/mac80211/Default)
416 TITLE:=Atheros common driver part
417 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
418 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
419 AUTOLOAD:=$(call AutoLoad,26,ath)
420 MENU:=1
421 endef
422
423 define KernelPackage/ath/description
424 This module contains some common parts needed by Atheros Wireless drivers.
425 endef
426
427 define KernelPackage/ath5k
428 $(call KernelPackage/mac80211/Default)
429 TITLE:=Atheros 5xxx wireless cards support
430 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
431 DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
432 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
433 AUTOLOAD:=$(call AutoLoad,27,ath5k)
434 endef
435
436 define KernelPackage/ath5k/description
437 This module adds support for wireless adapters based on
438 Atheros 5xxx chipset.
439 endef
440
441 define KernelPackage/ath9k-common
442 $(call KernelPackage/mac80211/Default)
443 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
444 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
445 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
446 FILES:= \
447 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
448 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
449 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
450 endef
451
452 define KernelPackage/ath9k
453 $(call KernelPackage/mac80211/Default)
454 TITLE:=Atheros 802.11n PCI wireless cards support
455 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
456 DEPENDS+= @PCI_SUPPORT +kmod-ath9k-common
457 FILES:= \
458 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
459 AUTOLOAD:=$(call AutoLoad,28,ath9k)
460 endef
461
462 define KernelPackage/ath9k/description
463 This module adds support for wireless adapters based on
464 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
465 endef
466
467 AR7010FW:=ar7010.fw
468 AR7010_1_1_FW:=ar7010_1_1.fw
469 AR9271FW:=ar9271.fw
470
471 define Download/ar9271
472 FILE:=$(AR9271FW)
473 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD;?
474 MD5SUM:=2e6f5045ec4c5a42bb93ced242bad0ba
475 endef
476 $(eval $(call Download,ar9271))
477
478 define Download/ar7010
479 FILE:=$(AR7010FW)
480 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010.fw;h=840005d0f0c81838c581b8cd5d76c8dd3843731c;hb=HEAD;?
481 MD5SUM:=59823b82b1f72bed9b044e8cc78ad65c
482 endef
483 $(eval $(call Download,ar7010))
484
485 define Download/ar7010_1_1
486 FILE:=$(AR7010_1_1_FW)
487 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010_1_1.fw;h=684d4cd1a8cac4f58305589e31f9d856d03a8ef0;hb=HEAD;?
488 MD5SUM:=544fcbe5a93cfa53c7e6d3ded2b05347
489 endef
490 $(eval $(call Download,ar7010_1_1))
491
492 define KernelPackage/ath9k-htc
493 $(call KernelPackage/mac80211/Default)
494 TITLE:=Atheros 802.11n USB device support
495 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
496 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
497 FILES:= \
498 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
499 AUTOLOAD:=$(call AutoLoad,28,ath9k_htc)
500 endef
501
502 define KernelPackage/ath9k-htc/description
503 This module adds support for wireless adapters based on
504 Atheros USB AR9271 and AR7010 family of chipsets.
505 endef
506
507 define KernelPackage/carl9170
508 $(call KernelPackage/mac80211/Default)
509 TITLE:=Driver for Atheros AR9170 USB sticks
510 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +@DRIVER_11N_SUPPORT
511 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
512 AUTOLOAD:=$(call AutoLoad,60,carl9170)
513 endef
514
515 define KernelPackage/carl9170/install
516 $(INSTALL_DIR) $(1)/lib/firmware
517 $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
518 endef
519
520
521 USB8388FW_NAME:=usb8388
522 USB8388FW_VERSION:=5.110.22.p23
523
524 define Download/usb8388
525 URL:=http://dev.laptop.org/pub/firmware/libertas/
526 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
527 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
528 endef
529 $(eval $(call Download,usb8388))
530
531 SD8686FW_NAME:=sd8686
532 SD8686FW_VERSION:=9.70.7.p0
533
534 define Download/sd8686
535 URL:=http://dev.laptop.org/pub/firmware/libertas/
536 FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
537 MD5SUM=b4f8be61e19780a14836f146c538c5dd
538 endef
539 $(eval $(call Download,sd8686))
540
541 SD8686HELPER_NAME:=sd8686_helper
542
543 define Download/sd8686_helper
544 URL:=http://dev.laptop.org/pub/firmware/libertas/
545 FILE:=$(SD8686HELPER_NAME).bin
546 MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
547 endef
548 $(eval $(call Download,sd8686_helper))
549
550 define KernelPackage/libertas-usb
551 $(call KernelPackage/mac80211/Default)
552 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
553 TITLE:=Marvell 88W8015 Wireless Driver
554 FILES:= \
555 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
556 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
557 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
558 endef
559
560 define KernelPackage/libertas-sd
561 $(call KernelPackage/mac80211/Default)
562 DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
563 TITLE:=Marvell 88W8686 Wireless Driver
564 FILES:= \
565 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
566 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
567 AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
568 endef
569
570 define KernelPackage/mac80211-hwsim
571 $(call KernelPackage/mac80211/Default)
572 TITLE:=mac80211 HW simulation device
573 DEPENDS+= +kmod-mac80211
574 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
575 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
576 endef
577
578 define KernelPackage/net-libipw
579 $(call KernelPackage/mac80211/Default)
580 TITLE:=libipw for ipw2100 and ipw2200
581 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
582 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
583 AUTOLOAD:=$(call AutoLoad,49,libipw)
584 endef
585
586 define KernelPackage/net-libipw/description
587 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
588 endef
589
590 IPW2100_NAME:=ipw2100-fw
591 IPW2100_VERSION:=1.3
592
593 define Download/net-ipw2100
594 URL:=http://bughost.org/firmware/
595 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
596 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
597 endef
598 $(eval $(call Download,net-ipw2100))
599
600 define KernelPackage/net-ipw2100
601 $(call KernelPackage/mac80211/Default)
602 TITLE:=Intel IPW2100 driver
603 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
604 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
605 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
606 endef
607
608 define KernelPackage/net-ipw2100/description
609 Kernel support for Intel IPW2100
610 Includes:
611 - ipw2100
612 endef
613
614 IPW2200_NAME:=ipw2200-fw
615 IPW2200_VERSION:=3.1
616
617 define Download/net-ipw2200
618 URL:=http://bughost.org/firmware/
619 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
620 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
621 endef
622 $(eval $(call Download,net-ipw2200))
623
624 define KernelPackage/net-ipw2200
625 $(call KernelPackage/mac80211/Default)
626 TITLE:=Intel IPW2200 driver
627 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
628 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
629 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
630 endef
631
632 define KernelPackage/net-ipw2200/description
633 Kernel support for Intel IPW2200
634 Includes:
635 - ipw2200
636 endef
637
638
639 define KernelPackage/net-hermes
640 $(call KernelPackage/mac80211/Default)
641 TITLE:=Hermes 802.11b chipset support
642 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
643 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
644 AUTOLOAD:=$(call AutoLoad,50,orinoco)
645 endef
646
647 define KernelPackage/net-hermes/description
648 Kernel support for Hermes 802.11b chipsets
649 endef
650
651 define KernelPackage/net-hermes-pci
652 $(call KernelPackage/mac80211/Default)
653 TITLE:=Intersil Prism 2.5 PCI support
654 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
655 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
656 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
657 endef
658
659 define KernelPackage/net-hermes-pci/description
660 Kernel modules for Intersil Prism 2.5 PCI support
661 endef
662
663 define KernelPackage/net-hermes-plx
664 $(call KernelPackage/mac80211/Default)
665 TITLE:=PLX9052 based PCI adaptor
666 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
667 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
668 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
669 endef
670
671 define KernelPackage/net-hermes-plx/description
672 Kernel modules for Hermes in PLX9052 based PCI adaptors
673 endef
674
675 define KernelPackage/net-hermes-pcmcia
676 $(call KernelPackage/mac80211/Default)
677 TITLE:=Hermes based PCMCIA adaptors
678 DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
679 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
680 AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
681 endef
682
683 define KernelPackage/net-hermes-pcmcia/description
684 Kernel modules for Hermes based PCMCIA adaptors
685 endef
686
687 IWL3945_NAME:=iwlwifi-3945-ucode
688 IWL3945_VERSION:=15.32.2.9
689 IWL3945_MD5SUM:=d99a75ab1305d1532a09471b2f9a547a
690 IWL4965_NAME:=iwlwifi-4965-ucode
691 IWL4965_VERSION:=228.61.2.24
692 IWL4965_MD5SUM:=2531028773cfc22aca5539c734f2a241
693 IWL5000_NAME:=iwlwifi-5000-ucode
694 IWL5000_VERSION:=8.83.5.1
695 IWL5000_MD5SUM:=da82465019b3c7d1ee5156474ab4931d
696 IWL5150_NAME:=iwlwifi-5150-ucode
697 IWL5150_VERSION:=8.24.2.2
698 IWL5150_MD5SUM:=f9cee16e455e8046b1bf62c93f882d5d
699 IWL1000_NAME:=iwlwifi-1000-ucode
700 IWL1000_VERSION:=39.31.5.1
701 IWL1000_MD5SUM:=8098503cb2abcdeffffb3ddd2d8d6f60
702 IWL6000_NAME:=iwlwifi-6000-ucode
703 IWL6000_VERSION:=9.221.4.1
704 IWL6000_MD5SUM:=c132a4c1946a9dbc0c36b41696e5c793
705 IWL6050_NAME:=iwlwifi-6050-ucode
706 IWL6050_VERSION:=41.28.5.1
707 IWL6050_MD5SUM:=cb484a65b9139666d4ddebf60598a87b
708 IWL6005_NAME:=iwlwifi-6000g2a-ucode
709 IWL6005_VERSION:=17.168.5.2
710 IWL6005_MD5SUM:=0b9579f4b8faf51c955295607a8e79a8
711 IWL6030_NAME:=iwlwifi-6000g2b-ucode
712 IWL6030_VERSION:=17.168.5.2
713 IWL6030_MD5SUM:=d87411296b4eeda0c91322228e9f8437
714 IWL100_NAME:=iwlwifi-100-ucode
715 IWL100_VERSION:=39.31.5.1
716 IWL100_MD5SUM:=b686f0ab94888ccca3ce74d2d6ee1133
717
718
719 define Download/iwl-fw/Default
720 URL:=http://intellinuxwireless.org/iwlwifi/downloads/
721 endef
722
723 define Download/iwl3945-fw
724 $(call Download/iwl-fw/Default)
725 FILE:=$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
726 MD5SUM:=$(IWL3945_MD5SUM)
727 endef
728 $(eval $(call Download,iwl3945-fw))
729
730 define Download/iwl4965-fw
731 $(call Download/iwl-fw/Default)
732 FILE:=$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
733 MD5SUM:=$(IWL4965_MD5SUM)
734 endef
735 $(eval $(call Download,iwl4965-fw))
736
737 define Download/iwl5000-fw
738 $(call Download/iwl-fw/Default)
739 FILE:=$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
740 MD5SUM:=$(IWL5000_MD5SUM)
741 endef
742 $(eval $(call Download,iwl5000-fw))
743
744 define Download/iwl5150-fw
745 $(call Download/iwl-fw/Default)
746 FILE:=$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
747 MD5SUM:=$(IWL5150_MD5SUM)
748 endef
749 $(eval $(call Download,iwl5150-fw))
750
751 define Download/iwl1000-fw
752 $(call Download/iwl-fw/Default)
753 FILE:=$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
754 MD5SUM:=$(IWL1000_MD5SUM)
755 endef
756 $(eval $(call Download,iwl1000-fw))
757
758 define Download/iwl6000-fw
759 $(call Download/iwl-fw/Default)
760 FILE:=$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
761 MD5SUM:=$(IWL6000_MD5SUM)
762 endef
763 $(eval $(call Download,iwl6000-fw))
764
765 define Download/iwl6050-fw
766 $(call Download/iwl-fw/Default)
767 FILE:=$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
768 MD5SUM:=$(IWL6050_MD5SUM)
769 endef
770 $(eval $(call Download,iwl6050-fw))
771
772 define Download/iwl6005-fw
773 $(call Download/iwl-fw/Default)
774 FILE:=$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
775 MD5SUM:=$(IWL6005_MD5SUM)
776 endef
777 $(eval $(call Download,iwl6005-fw))
778
779 define Download/iwl6030-fw
780 $(call Download/iwl-fw/Default)
781 FILE:=$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
782 MD5SUM:=$(IWL6030_MD5SUM)
783 endef
784 $(eval $(call Download,iwl6030-fw))
785
786 define Download/iwl100-fw
787 $(call Download/iwl-fw/Default)
788 FILE:=$(IWL100_NAME)-$(IWL100_VERSION).tgz
789 MD5SUM:=$(IWL100_MD5SUM)
790 endef
791 $(eval $(call Download,iwl100-fw))
792
793 define KernelPackage/iwlagn
794 $(call KernelPackage/mac80211/Default)
795 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
796 TITLE:=Intel AGN Wireless support
797 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX)
798 AUTOLOAD:=$(call AutoLoad,60,iwlagn)
799 MENU:=1
800 endef
801
802 define KernelPackage/iwlagn/description
803 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
804 endef
805
806 define KernelPackage/iwlagn/config
807 menu "Configuration"
808 depends on PACKAGE_kmod-iwlagn
809
810 config IWL5000_FW
811 bool "Intel 5000 Firmware"
812 default y
813 help
814 Download and install firmware for:
815 Intel 5000 wireless card into /lib/firmware.
816
817 config IWL5150_FW
818 bool "Intel 5150 Firmware"
819 default y
820 help
821 Download and install firmware for:
822 Intel 5150 wireless card into /lib/firmware.
823
824 config IWL1000_FW
825 bool "Intel 1000 Firmware"
826 default y
827 help
828 Download and install firmware for:
829 Intel 1000 wireless card into /lib/firmware.
830
831 config IWL6000_FW
832 bool "Intel 6000 Firmware"
833 default y
834 help
835 Download and install firmware for:
836 Intel 6000 wireless card into /lib/firmware.
837
838 config IWL6050_FW
839 bool "Intel 6050 Firmware"
840 default y
841 help
842 Download and install firmware for:
843 Intel 6050 wireless card into /lib/firmware.
844
845 config IWL6005_FW
846 bool "Intel 6005 Firmware"
847 default y
848 help
849 Download and install firmware for:
850 Intel 6005 wireless card into /lib/firmware.
851
852 config IWL6030_FW
853 bool "Intel 6030 Firmware"
854 default y
855 help
856 Download and install firmware for:
857 Intel 6030 wireless card into /lib/firmware.
858
859 config IWL100_FW
860 bool "Intel 100 Firmware"
861 default y
862 help
863 Download and install firmware for:
864 Intel 100 wireless card into /lib/firmware.
865
866 endmenu
867 endef
868
869 define KernelPackage/iwl-legacy
870 $(call KernelPackage/mac80211/Default)
871 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
872 TITLE:=Intel legacy Wireless support
873 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX)
874 AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
875 endef
876
877 define KernelPackage/iwl-legacy/description
878 iwl-legacy kernel module for legacy Intel wireless support
879 endef
880
881 define KernelPackage/iwl3945
882 $(call KernelPackage/mac80211/Default)
883 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
884 TITLE:=Intel iwl3945 Wireless support
885 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX)
886 AUTOLOAD:=$(call AutoLoad,61,iwl3945)
887 endef
888
889 define KernelPackage/iwl3945/description
890 iwl3945 kernel module for Intel 3945 support
891 endef
892
893 define KernelPackage/iwl4965
894 $(call KernelPackage/mac80211/Default)
895 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
896 TITLE:=Intel iwl4965 Wireless support
897 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX)
898 AUTOLOAD:=$(call AutoLoad,61,iwl4965)
899 endef
900
901 define KernelPackage/iwl4965/description
902 iwl4965 kernel module for Intel 4965 support
903 endef
904
905
906 define KernelPackage/mwl8k
907 $(call KernelPackage/mac80211/Default)
908 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
909 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
910 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
911 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
912 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
913 endef
914
915 define KernelPackage/mwl8k/description
916 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
917 endef
918
919 #Broadcom firmware
920 ifneq ($(CONFIG_B43_FW_5_10),)
921 PKG_B43_FWV4_NAME:=broadcom-wl
922 PKG_B43_FWV4_VERSION:=5.10.56.27.3
923 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
924 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
925 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
926 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
927 else
928 ifneq ($(CONFIG_B43_FW_4_178),)
929 PKG_B43_FWV4_NAME:=broadcom-wl
930 PKG_B43_FWV4_VERSION:=4.178.10.4
931 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
932 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
933 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
934 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
935 else
936 PKG_B43_FWV4_NAME:=broadcom-wl
937 PKG_B43_FWV4_VERSION:=4.150.10.5
938 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
939 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
940 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
941 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
942 endif
943 endif
944 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
945 PKG_B43_FWV4_NAME:=broadcom-wl
946 PKG_B43_FWV4_VERSION:=5.2
947 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
948 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
949 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
950 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
951 endif
952
953
954 PKG_B43_FWV3_NAME:=wl_apsta
955 PKG_B43_FWV3_VERSION:=3.130.20.0
956 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
957 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
958 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
959
960 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
961 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
962 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
963 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
964 PKG_B43_FWCUTTER_PROTO:=git
965 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
966 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
967 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
968 else
969 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
970 PKG_B43_FWCUTTER_VERSION:=014
971 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
972 PKG_B43_FWCUTTER_PROTO:=default
973 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
974 PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
975 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
976 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
977 endif
978
979 define Download/b43-common
980 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
981 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
982 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
983 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
984 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
985 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
986 endef
987 $(eval $(call Download,b43-common))
988
989 define Download/b43
990 FILE:=$(PKG_B43_FWV4_SOURCE)
991 URL:=$(PKG_B43_FWV4_SOURCE_URL)
992 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
993 endef
994 $(eval $(call Download,b43))
995
996 define Download/b43legacy
997 FILE:=$(PKG_B43_FWV3_SOURCE)
998 URL:=$(PKG_B43_FWV3_SOURCE_URL)
999 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
1000 endef
1001 $(eval $(call Download,b43legacy))
1002
1003 define KernelPackage/b43-common
1004 $(call KernelPackage/mac80211/Default)
1005 TITLE:=Generic stuff for Broadcom wireless devices
1006 URL:=http://linuxwireless.org/en/users/Drivers/b43
1007 KCONFIG:= \
1008 CONFIG_HW_RANDOM=y
1009 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1010 endef
1011
1012 define KernelPackage/b43
1013 $(call KernelPackage/b43-common)
1014 TITLE:=Broadcom 43xx wireless support
1015 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
1016 AUTOLOAD:=$(call AutoLoad,30,b43)
1017 MENU:=1
1018 endef
1019
1020 define KernelPackage/b43/config
1021 menu "Configuration"
1022 depends on PACKAGE_kmod-b43
1023
1024 choice
1025 prompt "b43 firmware version"
1026 default B43_FW_4_150
1027 help
1028 This option allows you to select the version of the b43 firmware.
1029
1030 config B43_FW_4_150
1031 bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
1032 help
1033 Stable firmware for BCM43xx devices.
1034
1035 If unsure, select this.
1036
1037 config B43_FW_4_178
1038 bool "Firmware 478.104 from driver 4.178.10.4"
1039 help
1040 Experimental firmware for BCM43xx devices.
1041
1042 This firmware is not tested as much as the "stable" firmware.
1043
1044 If unsure, select the "stable" firmware.
1045
1046 config B43_FW_5_10
1047 bool "Firmware 508.1084 from driver 5.10.56.27"
1048 help
1049 Newer experimental firmware for BCM43xx devices.
1050
1051 This firmware is mostly untested. It is needed for some N-PHY devices.
1052
1053 If unsure, select the "stable" firmware.
1054
1055 config B43_OPENFIRMWARE
1056 bool "Open FirmWare for WiFi networks"
1057 help
1058 Opensource firmware for BCM43xx devices.
1059
1060 Do _not_ select this, unless you know what you are doing.
1061 The Opensource firmware is not suitable for embedded devices, yet.
1062 It does not support QoS, which is bad for AccessPoints.
1063 It does not support hardware crypto acceleration, which is a showstopper
1064 for embedded devices with low CPU resources.
1065
1066 If unsure, select the "stable" firmware.
1067
1068 endchoice
1069
1070 config B43_FW_SQUASH
1071 bool "Remove unnecessary firmware files"
1072 depends on !B43_OPENFIRMWARE
1073 default y
1074 help
1075 This options allows you to remove unnecessary b43 firmware files
1076 from the final rootfs image. This can reduce the rootfs size by
1077 up to 200k.
1078
1079 If unsure, say Y.
1080
1081 config B43_FW_SQUASH_COREREVS
1082 string "Core revisions to include"
1083 depends on B43_FW_SQUASH
1084 default "5,6,7,8,9,10,13,14,15"
1085 help
1086 This is a comma seperated list of core revision numbers.
1087
1088 Example (keep files for rev5 only):
1089 5
1090
1091 Example (keep files for rev5 and rev11):
1092 5,11
1093
1094 config B43_FW_SQUASH_PHYTYPES
1095 string "PHY types to include"
1096 depends on B43_FW_SQUASH
1097 default "G,LP"
1098 help
1099 This is a comma seperated list of PHY types:
1100 A => A-PHY
1101 AG => Dual A-PHY G-PHY
1102 G => G-PHY
1103 LP => LP-PHY
1104 N => N-PHY
1105
1106 Example (keep files for G-PHY only):
1107 G
1108
1109 Example (keep files for G-PHY and N-PHY):
1110 G,N
1111
1112 config PACKAGE_B43_DEBUG
1113 bool "Enable debug output and debugfs for b43"
1114 default n
1115 help
1116 Enable additional debug output and runtime sanity checks for b43
1117 and enables the debugfs interface.
1118
1119 If unsure, say N.
1120
1121 endmenu
1122 endef
1123
1124 define KernelPackage/b43/description
1125 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1126 endef
1127
1128 define KernelPackage/b43legacy
1129 $(call KernelPackage/b43-common)
1130 TITLE:=Broadcom 43xx-legacy wireless support
1131 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1132 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1133 MENU:=1
1134 endef
1135
1136 define KernelPackage/b43legacy/config
1137 menu "Configuration"
1138 depends on PACKAGE_kmod-b43legacy
1139
1140 config B43LEGACY_FW_SQUASH
1141 bool "Remove unnecessary firmware files"
1142 default y
1143 help
1144 This options allows you to remove unnecessary b43legacy firmware files
1145 from the final rootfs image. This can reduce the rootfs size by
1146 up to 50k.
1147
1148 If unsure, say Y.
1149
1150 config B43LEGACY_FW_SQUASH_COREREVS
1151 string "Core revisions to include"
1152 depends on B43LEGACY_FW_SQUASH
1153 default "1,2,3,4"
1154 help
1155 This is a comma seperated list of core revision numbers.
1156
1157 Example (keep files for rev4 only):
1158 4
1159
1160 Example (keep files for rev2 and rev4):
1161 2,4
1162
1163 endmenu
1164 endef
1165
1166 define KernelPackage/b43legacy/description
1167 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1168 endef
1169
1170 BUILDFLAGS:= \
1171 -I$(PKG_BUILD_DIR)/include \
1172 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1173 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1174 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
1175 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1176 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1177 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1178 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1179 -DCONFIG_MAC80211_RC_MINSTREL_HT \
1180 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1181 $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1182 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1183 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1184 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1185 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1186 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1187 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1188 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1189 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1190 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1191 $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1192 $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1193 $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
1194
1195 MAKE_OPTS:= \
1196 CROSS_COMPILE="$(KERNEL_CROSS)" \
1197 ARCH="$(LINUX_KARCH)" \
1198 EXTRA_CFLAGS="$(BUILDFLAGS)" \
1199 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1200 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1201 CONFIG_MAC80211_RC_MINSTREL=y \
1202 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1203 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1204 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1205 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1206 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1207 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1208 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1209 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1210 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1211 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1212 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1213 CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1214 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1215 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1216 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1217 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1218 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1219 CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1220 CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1221 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1222 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1223 CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1224 CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1225 CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1226 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1227 CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1228 CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1229 CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1230 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1231 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1232 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1233 CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1234 CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1235 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1236 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1237 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1238 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1239 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1240 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1241 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1242 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1243 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1244 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1245 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1246 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1247 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1248 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1249 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1250 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1251 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1252 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1253 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1254 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1255 CONFIG_RTL8192CE= \
1256 CONFIG_RTLWIFI= \
1257 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1258 CONFIG_PCMCIA= \
1259 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1260 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1261 CONFIG_LIBERTAS_CS= \
1262 CONFIG_LIBERTAS_SPI= \
1263 CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1264 CONFIG_LIBERTAS_THINFIRM= \
1265 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1266 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1267 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1268 CONFIG_NL80211=y \
1269 CONFIG_LIB80211= \
1270 CONFIG_LIB80211_CRYPT_WEP= \
1271 CONFIG_LIB80211_CRYPT_CCMP= \
1272 CONFIG_LIB80211_CRYPT_TKIP= \
1273 CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1274 CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1275 CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1276 CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1277 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1278 CONFIG_ATMEL= \
1279 CONFIG_PCMCIA_ATMEL= \
1280 CONFIG_ADM8211= \
1281 CONFIG_USB_NET_RNDIS_HOST= \
1282 CONFIG_USB_NET_RNDIS_WLAN= \
1283 CONFIG_USB_NET_CDCETHER= \
1284 CONFIG_USB_USBNET= \
1285 CONFIG_AT76C50X_USB= \
1286 CONFIG_WL12XX= \
1287 CONFIG_EEPROM_93CX6= \
1288 CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1289 CONFIG_HERMES_CACHE_FW_ON_INIT= \
1290 CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1291 CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1292 CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1293 CONFIG_HERMES_PRISM= \
1294 CONFIG_APPLE_AIRPORT= \
1295 CONFIG_TMD_HERMES= \
1296 CONFIG_NORTEL_HERMES= \
1297 CONFIG_PCMCIA_SPECTRUM= \
1298 CONFIG_ORINOCO_USB= \
1299 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
1300 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1301 CONFIG_IWM= \
1302 CONFIG_MWIFIEX= \
1303 CONFIG_MAC80211_RC_MINSTREL_HT=y \
1304 MADWIFI= \
1305 KLIB_BUILD="$(LINUX_DIR)" \
1306 MODPROBE=: \
1307 KLIB=$(TARGET_MODULES_DIR) \
1308 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1309 KBUILD_LDFLAGS_MODULE_PREREQ=
1310
1311 ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1312 MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1313 endif
1314
1315 define Build/Prepare
1316 rm -rf $(PKG_BUILD_DIR)
1317 mkdir -p $(PKG_BUILD_DIR)
1318 $(PKG_UNPACK)
1319 $(Build/Patch)
1320 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
1321 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
1322 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
1323 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
1324 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1325 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1326 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
1327 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
1328 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
1329 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
1330 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
1331 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
1332 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
1333 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
1334 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
1335 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL100_NAME)-$(IWL100_VERSION).tgz
1336 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1337 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1338 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1339 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
1340 endef
1341
1342 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
1343 define Build/Compile/kmod
1344 rm -rf $(PKG_BUILD_DIR)/modules
1345 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1346 endef
1347 endif
1348
1349 define Build/Compile
1350 $(call Build/Compile/kmod)
1351 endef
1352
1353 define Build/InstallDev
1354 mkdir -p \
1355 $(1)/usr/include/mac80211 \
1356 $(1)/usr/include/mac80211/ath \
1357 $(1)/usr/include/net/mac80211
1358 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1359 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1360 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1361 endef
1362
1363 define KernelPackage/libertas-usb/install
1364 $(INSTALL_DIR) $(1)/lib/firmware
1365 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
1366 endef
1367
1368 define KernelPackage/libertas-sd/install
1369 echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
1370 $(INSTALL_DIR) $(1)/lib/firmware
1371 $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
1372 $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
1373 endef
1374
1375 define KernelPackage/cfg80211/install
1376 $(INSTALL_DIR) $(1)/lib/wifi
1377 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1378 endef
1379
1380 define KernelPackage/p54-pci/install
1381 $(INSTALL_DIR) $(1)/lib/firmware
1382 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1383 endef
1384
1385 define KernelPackage/p54-usb/install
1386 $(INSTALL_DIR) $(1)/lib/firmware
1387 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1388 endef
1389
1390 define KernelPackage/p54-spi/install
1391 $(INSTALL_DIR) $(1)/lib/firmware
1392 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1393 endef
1394
1395 define KernelPackage/rt61-pci/install
1396 $(INSTALL_DIR) $(1)/lib/firmware
1397 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
1398 endef
1399
1400 define KernelPackage/rt73-usb/install
1401 $(INSTALL_DIR) $(1)/lib/firmware
1402 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
1403 endef
1404
1405 define KernelPackage/rt2800-pci/install
1406 $(INSTALL_DIR) $(1)/lib/firmware
1407 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
1408 endef
1409
1410 define KernelPackage/rt2800-usb/install
1411 $(INSTALL_DIR) $(1)/lib/firmware
1412 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1413 endef
1414
1415 define KernelPackage/zd1211rw/install
1416 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1417 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1418 endef
1419
1420 define KernelPackage/ar9170/install
1421 $(INSTALL_DIR) $(1)/lib/firmware
1422 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1423 endef
1424
1425 define KernelPackage/ath9k-htc/install
1426 $(INSTALL_DIR) $(1)/lib/firmware
1427 $(INSTALL_DATA) \
1428 $(DL_DIR)/$(AR9271FW) \
1429 $(DL_DIR)/$(AR7010FW) \
1430 $(DL_DIR)/$(AR7010_1_1_FW) \
1431 $(1)/lib/firmware/
1432 endef
1433
1434 define KernelPackage/net-ipw2100/install
1435 $(INSTALL_DIR) $(1)/lib/firmware
1436 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1437 endef
1438
1439 define KernelPackage/net-ipw2200/install
1440 $(INSTALL_DIR) $(1)/lib/firmware
1441 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1442 endef
1443
1444 define KernelPackage/iwlagn/install
1445 $(INSTALL_DIR) $(1)/lib/firmware
1446 ifneq ($(CONFIG_IWL5000_FW),)
1447 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION)/iwlwifi-5000-*.ucode $(1)/lib/firmware
1448 endif
1449 ifneq ($(CONFIG_IWL5150_FW),)
1450 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION)/iwlwifi-5150-*.ucode $(1)/lib/firmware
1451 endif
1452 ifneq ($(CONFIG_IWL1000_FW),)
1453 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION)/iwlwifi-1000-*.ucode $(1)/lib/firmware
1454 endif
1455 ifneq ($(CONFIG_IWL6000_FW),)
1456 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION)/iwlwifi-6000-*.ucode $(1)/lib/firmware
1457 endif
1458 ifneq ($(CONFIG_IWL6050_FW),)
1459 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION)/iwlwifi-6050-*.ucode $(1)/lib/firmware
1460 endif
1461 ifneq ($(CONFIG_IWL6005_FW),)
1462 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION)/iwlwifi-6000g2a-*.ucode $(1)/lib/firmware
1463 endif
1464 ifneq ($(CONFIG_IWL6030_FW),)
1465 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION)/iwlwifi-6000g2b-*.ucode $(1)/lib/firmware
1466 endif
1467 ifneq ($(CONFIG_IWL100_FW),)
1468 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL100_NAME)-$(IWL100_VERSION)/iwlwifi-100-*.ucode $(1)/lib/firmware
1469 endif
1470 endef
1471
1472 define KernelPackage/iwl3945/install
1473 $(INSTALL_DIR) $(1)/lib/firmware
1474 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION)/iwlwifi-3945-*.ucode $(1)/lib/firmware
1475 endef
1476
1477 define KernelPackage/iwl4965/install
1478 $(INSTALL_DIR) $(1)/lib/firmware
1479 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION)/iwlwifi-4965-*.ucode $(1)/lib/firmware
1480 endef
1481
1482 define Build/b43-common
1483 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1484 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1485 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1486 QUIET_SPARSE=:
1487 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1488 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1489 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1490 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1491 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1492 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1493 endif
1494 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1495 endef
1496
1497 define KernelPackage/b43/install
1498 rm -rf $(1)/lib/firmware/
1499 $(call Build/b43-common)
1500 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1501 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1502 else
1503 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1504 endif
1505 $(INSTALL_DIR) $(1)/lib/firmware/
1506 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1507 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1508 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1509 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1510 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1511 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1512 else
1513 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1514 endif
1515 ifneq ($(CONFIG_B43_FW_SQUASH),)
1516 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1517 endif
1518 endef
1519
1520 define KernelPackage/b43legacy/install
1521 $(call Build/b43-common)
1522 $(INSTALL_DIR) $(1)/lib/firmware/
1523
1524 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1525 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1526 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1527 endif
1528 endef
1529
1530 $(eval $(call KernelPackage,ath5k))
1531 $(eval $(call KernelPackage,libertas-usb))
1532 $(eval $(call KernelPackage,libertas-sd))
1533 $(eval $(call KernelPackage,cfg80211))
1534 $(eval $(call KernelPackage,mac80211))
1535 $(eval $(call KernelPackage,p54-common))
1536 $(eval $(call KernelPackage,p54-pci))
1537 $(eval $(call KernelPackage,p54-usb))
1538 $(eval $(call KernelPackage,p54-spi))
1539 $(eval $(call KernelPackage,rt2x00-lib))
1540 $(eval $(call KernelPackage,rt2x00-pci))
1541 $(eval $(call KernelPackage,rt2x00-usb))
1542 $(eval $(call KernelPackage,rt2x00-soc))
1543 $(eval $(call KernelPackage,rt2800-lib))
1544 $(eval $(call KernelPackage,rt2400-pci))
1545 $(eval $(call KernelPackage,rt2500-pci))
1546 $(eval $(call KernelPackage,rt2500-usb))
1547 $(eval $(call KernelPackage,rt61-pci))
1548 $(eval $(call KernelPackage,rt73-usb))
1549 $(eval $(call KernelPackage,rt2800-pci))
1550 $(eval $(call KernelPackage,rt2800-usb))
1551 $(eval $(call KernelPackage,rtl8180))
1552 $(eval $(call KernelPackage,rtl8187))
1553 $(eval $(call KernelPackage,zd1211rw))
1554 $(eval $(call KernelPackage,mac80211-hwsim))
1555 $(eval $(call KernelPackage,ath9k-common))
1556 $(eval $(call KernelPackage,ath9k))
1557 $(eval $(call KernelPackage,ath9k-htc))
1558 $(eval $(call KernelPackage,ath))
1559 $(eval $(call KernelPackage,carl9170))
1560 $(eval $(call KernelPackage,b43))
1561 $(eval $(call KernelPackage,b43legacy))
1562 $(eval $(call KernelPackage,net-libipw))
1563 $(eval $(call KernelPackage,net-ipw2100))
1564 $(eval $(call KernelPackage,net-ipw2200))
1565 $(eval $(call KernelPackage,iwlagn))
1566 $(eval $(call KernelPackage,iwl-legacy))
1567 $(eval $(call KernelPackage,iwl4965))
1568 $(eval $(call KernelPackage,iwl3945))
1569 $(eval $(call KernelPackage,mwl8k))
1570 $(eval $(call KernelPackage,net-hermes))
1571 $(eval $(call KernelPackage,net-hermes-pci))
1572 $(eval $(call KernelPackage,net-hermes-plx))
1573 $(eval $(call KernelPackage,net-hermes-pcmcia))