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