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