mac80211: update to wireless-testing 2010-07-06, add another patch to finally fix...
[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:=2010-07-06
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 # http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
17 # http://wireless.kernel.org/download/compat-wireless-2.6
18 PKG_MD5SUM:=e669e4c2ed4f0cc9a6a28e941d766eac
19
20 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
21 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
22
23 PKG_CONFIG_DEPENDS:= \
24 CONFIG_PACKAGE_kmod-mac80211 \
25 CONFIG_PACKAGE_MAC80211_DEBUGFS \
26 CONFIG_PACKAGE_ATH9K_USE_MINSTREL \
27 CONFIG_PACKAGE_ATH_DEBUG \
28 CONFIG_ATH_USER_REGD \
29
30 include $(INCLUDE_DIR)/package.mk
31
32 WMENU:=Wireless Drivers
33
34 define KernelPackage/mac80211/Default
35 SUBMENU:=$(WMENU)
36 URL:=http://linuxwireless.org/
37 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
38 DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
39 endef
40
41 define KernelPackage/cfg80211
42 $(call KernelPackage/mac80211/Default)
43 TITLE:=cfg80211 - wireless configuration API
44 DEPENDS+= +wireless-tools +iw @!LINUX_2_6_25
45 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
46 FILES:= \
47 $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
48 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
49 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
50 else
51 FILES:= \
52 $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
53 $(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \
54 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
55 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
56 endif
57 endef
58
59 define KernelPackage/cfg80211/description
60 cfg80211 is the Linux wireless LAN (802.11) configuration API.
61 endef
62
63 define KernelPackage/mac80211
64 $(call KernelPackage/mac80211/Default)
65 TITLE:=Linux 802.11 Wireless Networking Stack
66 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
67 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX)
68 AUTOLOAD:=$(call AutoLoad,21,mac80211)
69 MENU:=1
70 endef
71
72 define KernelPackage/mac80211/config
73 menu "Configuration"
74 depends on PACKAGE_kmod-mac80211
75
76 config PACKAGE_MAC80211_DEBUGFS
77 bool "Export mac80211 internals in DebugFS"
78 default y
79 help
80 Select this to see extensive information about
81 the internal state of mac80211 in debugfs.
82
83 Say N unless you know you need this.
84
85 endmenu
86 endef
87
88 define KernelPackage/mac80211/description
89 Generic IEEE 802.11 Networking Stack (mac80211)
90 endef
91
92 # Prism54 drivers
93 P54PCIFW:=2.13.12.0.arm
94 P54USBFW:=2.13.24.0.lm87.arm
95
96 define Download/p54usb
97 FILE:=$(P54USBFW)
98 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
99 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
100 endef
101 $(eval $(call Download,p54usb))
102
103 define Download/p54pci
104 FILE:=$(P54PCIFW)
105 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
106 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
107 endef
108 $(eval $(call Download,p54pci))
109
110 define KernelPackage/p54/Default
111 $(call KernelPackage/mac80211/Default)
112 TITLE:=Prism54 Drivers
113 endef
114
115 define KernelPackage/p54/description
116 Kernel module for Prism54 chipsets (mac80211)
117 endef
118
119 define KernelPackage/p54-common
120 $(call KernelPackage/p54/Default)
121 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
122 TITLE+= (COMMON)
123 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
124 AUTOLOAD:=$(call AutoLoad,30,p54common)
125 endef
126
127 define KernelPackage/p54-pci
128 $(call KernelPackage/p54/Default)
129 TITLE+= (PCI)
130 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
131 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
132 AUTOLOAD:=$(call AutoLoad,31,p54pci)
133 endef
134
135 define KernelPackage/p54-usb
136 $(call KernelPackage/p54/Default)
137 TITLE+= (USB)
138 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
139 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
140 AUTOLOAD:=$(call AutoLoad,31,p54usb)
141 endef
142
143 # Ralink rt2x00 drivers
144 RT61FW:=RT61_Firmware_V1.2.zip
145 RT71FW:=RT71W_Firmware_V1.8.zip
146 RT2860FW:=RT2860_Firmware_V11.zip
147 RT2870FW:=RT2870_Firmware_V8.zip
148
149 define Download/rt61
150 FILE:=$(RT61FW)
151 URL:=http://www.ralinktech.com.tw/data/
152 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
153 endef
154 $(eval $(call Download,rt61))
155
156 define Download/rt71w
157 FILE:=$(RT71FW)
158 URL:=http://www.ralinktech.com.tw/data/
159 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
160 endef
161 $(eval $(call Download,rt71w))
162
163 define Download/rt2860
164 FILE:=$(RT2860FW)
165 URL:=http://www.ralinktech.com.tw/data/drivers
166 MD5SUM:=440a81756a52c53528f16faa41c40124
167 endef
168 $(eval $(call Download,rt2860))
169
170 define Download/rt2870
171 FILE:=$(RT2870FW)
172 URL:=http://www.ralinktech.com.tw/data/drivers
173 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
174 endef
175 $(eval $(call Download,rt2870))
176
177 AR9170FW:=ar9170.fw
178
179 define Download/ar9170
180 FILE:=$(AR9170FW)
181 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
182 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
183 endef
184 $(eval $(call Download,ar9170))
185
186 NEED_RT2X00_LIB_CRYPTO:=y
187 NEED_RT2X00_LIB_FIRMWARE:=y
188 NEED_RT2X00_LIB_HT:=y
189 NEED_RT2X00_LIB_LEDS:=y
190
191 define KernelPackage/rt2x00/Default
192 $(call KernelPackage/mac80211/Default)
193 TITLE:=Ralink Drivers for RT2x00 cards
194 endef
195
196 define KernelPackage/rt2x00-lib
197 $(call KernelPackage/rt2x00/Default)
198 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
199 TITLE+= (LIB)
200 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
201 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
202 MENU:=1
203 endef
204
205 define KernelPackage/rt2x00-lib/config
206 menu "Configuration"
207 depends PACKAGE_kmod-rt2x00-lib
208
209 config PACKAGE_RT2X00_LIB_DEBUGFS
210 bool "Enable rt2x00 debugfs support"
211 depends PACKAGE_MAC80211_DEBUGFS
212 help
213 Enable creation of debugfs files for the rt2x00 drivers.
214 These debugfs files support both reading and writing of the
215 most important register types of the rt2x00 hardware.
216
217 config PACKAGE_RT2X00_DEBUG
218 bool "Enable rt2x00 debug output"
219 help
220 Enable debugging output for all rt2x00 modules
221
222 endmenu
223 endef
224
225 define KernelPackage/rt2x00-pci
226 $(call KernelPackage/rt2x00/Default)
227 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
228 TITLE+= (PCI)
229 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
230 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
231 endef
232
233 define KernelPackage/rt2x00-usb
234 $(call KernelPackage/rt2x00/Default)
235 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
236 TITLE+= (USB)
237 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
238 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
239 endef
240
241 define KernelPackage/rt2x00-soc
242 $(call KernelPackage/rt2x00/Default)
243 DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
244 TITLE+= (SoC)
245 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.$(LINUX_KMOD_SUFFIX)
246 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
247 endef
248
249 define KernelPackage/rt2800-lib
250 $(call KernelPackage/rt2x00/Default)
251 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc
252 TITLE+= (rt2800 LIB)
253 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.$(LINUX_KMOD_SUFFIX)
254 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
255 endef
256
257 define KernelPackage/rt2400-pci
258 $(call KernelPackage/rt2x00/Default)
259 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
260 TITLE+= (RT2400 PCI)
261 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
262 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
263 endef
264
265 define KernelPackage/rt2500-pci
266 $(call KernelPackage/rt2x00/Default)
267 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
268 TITLE+= (RT2500 PCI)
269 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
270 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
271 endef
272
273 define KernelPackage/rt2500-usb
274 $(call KernelPackage/rt2x00/Default)
275 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
276 TITLE+= (RT2500 USB)
277 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
278 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
279 endef
280
281 define KernelPackage/rt61-pci
282 $(call KernelPackage/rt2x00/Default)
283 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
284 TITLE+= (RT2x61 PCI)
285 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
286 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
287 endef
288
289 define KernelPackage/rt73-usb
290 $(call KernelPackage/rt2x00/Default)
291 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
292 TITLE+= (RT73 USB)
293 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
294 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
295 endef
296
297 define KernelPackage/rt2800-pci
298 $(call KernelPackage/rt2x00/Default)
299 DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
300 TITLE+= (RT2860 PCI)
301 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
302 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
303 endef
304
305 define KernelPackage/rt2800-usb
306 $(call KernelPackage/rt2x00/Default)
307 DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
308 TITLE+= (RT2870 USB)
309 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
310 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
311 endef
312
313 define KernelPackage/rtl818x/Default
314 $(call KernelPackage/mac80211/Default)
315 TITLE:=Realtek Drivers for RTL818x devices
316 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
317 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
318 endef
319
320 define KernelPackage/rtl8180
321 $(call KernelPackage/rtl818x/Default)
322 DEPENDS+= @PCI_SUPPORT
323 TITLE+= (RTL8180 PCI)
324 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
325 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
326 endef
327
328 define KernelPackage/rtl8187
329 $(call KernelPackage/rtl818x/Default)
330 DEPENDS+= @USB_SUPPORT
331 TITLE+= (RTL8187 USB)
332 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
333 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
334 endef
335
336 ZD1211FW_NAME:=zd1211-firmware
337 ZD1211FW_VERSION:=1.4
338 define Download/zd1211rw
339 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
340 URL:=@SF/zd1211/
341 MD5SUM:=19f28781d76569af8551c9d11294c870
342 endef
343 $(eval $(call Download,zd1211rw))
344
345 define KernelPackage/zd1211rw
346 $(call KernelPackage/mac80211/Default)
347 TITLE:=Zydas ZD1211 support
348 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
349 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
350 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
351 endef
352
353 define KernelPackage/ath/config
354 menu "Configuration"
355 depends on PACKAGE_kmod-ath
356
357 config ATH_USER_REGD
358 bool "Force Atheros drivers to respect the user's regdomain settings"
359 help
360 Atheros' idea of regulatory handling is that the EEPROM of the card defines
361 the regulatory limits and the user is only allowed to restrict the settings
362 even further, even if the country allows frequencies or power levels that
363 are forbidden by the EEPROM settings.
364
365 Select this option if you want the driver to respect the user's decision about
366 regulatory settings.
367
368 config PACKAGE_ATH_DEBUG
369 bool "Atheros wireless debugging"
370 help
371 Say Y, if you want to debug atheros wireless drivers.
372 Right now only ath9k makes use of this.
373
374 endmenu
375 endef
376
377 define KernelPackage/ath
378 $(call KernelPackage/mac80211/Default)
379 TITLE:=Atheros common driver part
380 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
381 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
382 AUTOLOAD:=$(call AutoLoad,26,ath)
383 MENU:=1
384 endef
385
386 define KernelPackage/ath/description
387 This module contains some common parts needed by Atheros Wireless drivers.
388 endef
389
390 define KernelPackage/ath5k
391 $(call KernelPackage/mac80211/Default)
392 TITLE:=Atheros 5xxx wireless cards support
393 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
394 DEPENDS+= +kmod-ath
395 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
396 AUTOLOAD:=$(call AutoLoad,27,ath5k)
397 endef
398
399 define KernelPackage/ath5k/description
400 This module adds support for wireless adapters based on
401 Atheros 5xxx chipset.
402 endef
403
404 define KernelPackage/ath9k
405 $(call KernelPackage/mac80211/Default)
406 TITLE:=Atheros 802.11n wireless cards support
407 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
408 DEPENDS+= +kmod-ath
409 FILES:= \
410 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
411 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
412 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
413 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
414 MENU:=1
415 endef
416
417 define KernelPackage/ath9k/description
418 This module adds support for wireless adapters based on
419 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
420 endef
421
422 define KernelPackage/ath9k/config
423 menu "Configuration"
424 depends PACKAGE_kmod-ath9k
425
426 config PACKAGE_ATH9K_USE_MINSTREL
427 bool "use the new minstrel_ht rate control for ath9k"
428 default y
429
430 endmenu
431 endef
432
433 USB8388FW_NAME:=usb8388
434 USB8388FW_VERSION:=5.110.22.p23
435
436 define Download/usb8388
437 URL:=http://dev.laptop.org/pub/firmware/libertas/
438 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
439 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
440 endef
441 $(eval $(call Download,usb8388))
442
443 SD8686FW_NAME:=sd8686
444 SD8686FW_VERSION:=9.70.7.p0
445
446 define Download/sd8686
447 URL:=http://dev.laptop.org/pub/firmware/libertas/
448 FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
449 MD5SUM=b4f8be61e19780a14836f146c538c5dd
450 endef
451 $(eval $(call Download,sd8686))
452
453 SD8686HELPER_NAME:=sd8686_helper
454
455 define Download/sd8686_helper
456 URL:=http://dev.laptop.org/pub/firmware/libertas/
457 FILE:=$(SD8686HELPER_NAME).bin
458 MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
459 endef
460 $(eval $(call Download,sd8686_helper))
461
462 define KernelPackage/libertas-usb
463 $(call KernelPackage/mac80211/Default)
464 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
465 TITLE:=Marvell 88W8015 Wireless Driver
466 FILES:= \
467 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
468 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
469 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
470 endef
471
472 define KernelPackage/libertas-sd
473 $(call KernelPackage/mac80211/Default)
474 DEPENDS+= +kmod-mac80211 +kmod-lib80211
475 TITLE:=Marvell 88W8686 Wireless Driver
476 FILES:= \
477 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
478 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.$(LINUX_KMOD_SUFFIX)
479 AUTOLOAD:=$(call AutoLoad,27,libertas libertas_sdio)
480 endef
481
482 define KernelPackage/ar9170
483 $(call KernelPackage/mac80211/Default)
484 TITLE:=Atheros AR9170 802.11n USB support
485 URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
486 DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
487 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
488 AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
489 endef
490
491 define KernelPackage/ar9170/description
492 This is a driver for the Atheros "otus" 802.11n USB devices.
493 endef
494
495 define KernelPackage/mac80211-hwsim
496 $(call KernelPackage/mac80211/Default)
497 TITLE:=mac80211 HW simulation device
498 DEPENDS+= +kmod-mac80211
499 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
500 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
501 endef
502
503 define KernelPackage/net-libipw
504 $(call KernelPackage/mac80211/Default)
505 TITLE:=libipw for ipw2100 and ipw2200
506 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
507 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX)
508 AUTOLOAD:=$(call AutoLoad,49,libipw)
509 endef
510
511 define KernelPackage/net-libipw/description
512 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
513 endef
514
515 IPW2100_NAME:=ipw2100-fw
516 IPW2100_VERSION:=1.3
517
518 define Download/net-ipw2100
519 URL:=http://bughost.org/firmware/
520 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
521 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
522 endef
523 $(eval $(call Download,net-ipw2100))
524
525 define KernelPackage/net-ipw2100
526 $(call KernelPackage/mac80211/Default)
527 TITLE:=Intel IPW2100 driver
528 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
529 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX)
530 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
531 endef
532
533 define KernelPackage/net-ipw2100/description
534 Kernel support for Intel IPW2100
535 Includes:
536 - ipw2100
537 endef
538
539 IPW2200_NAME:=ipw2200-fw
540 IPW2200_VERSION:=3.1
541
542 define Download/net-ipw2200
543 URL:=http://bughost.org/firmware/
544 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
545 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
546 endef
547 $(eval $(call Download,net-ipw2200))
548
549 define KernelPackage/net-ipw2200
550 $(call KernelPackage/mac80211/Default)
551 TITLE:=Intel IPW2200 driver
552 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
553 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX)
554 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
555 endef
556
557 define KernelPackage/net-ipw2200/description
558 Kernel support for Intel IPW2200
559 Includes:
560 - ipw2200
561 endef
562
563
564 define KernelPackage/mwl8k
565 $(call KernelPackage/mac80211/Default)
566 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
567 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
568 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
569 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.$(LINUX_KMOD_SUFFIX)
570 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
571 endef
572
573 define KernelPackage/mwl8k/description
574 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
575 endef
576
577 #Broadcom firmware
578 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
579 PKG_B43_FWV4_NAME:=broadcom-wl
580 PKG_B43_FWV4_VERSION:=4.178.10.4
581 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
582 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
583 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
584 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
585 else
586 PKG_B43_FWV4_NAME:=broadcom-wl
587 PKG_B43_FWV4_VERSION:=4.150.10.5
588 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
589 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
590 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
591 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
592 endif
593 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
594 PKG_B43_FWV4_NAME:=broadcom-wl
595 PKG_B43_FWV4_VERSION:=5.2
596 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
597 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
598 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
599 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
600 endif
601
602
603 PKG_B43_FWV3_NAME:=wl_apsta
604 PKG_B43_FWV3_VERSION:=3.130.20.0
605 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
606 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
607 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
608
609 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
610 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
611 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
612 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
613 PKG_B43_FWCUTTER_PROTO:=git
614 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
615 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
616 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
617 else
618 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
619 PKG_B43_FWCUTTER_VERSION:=013
620 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
621 PKG_B43_FWCUTTER_PROTO:=default
622 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
623 PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
624 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
625 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
626 endif
627
628 define Download/b43-common
629 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
630 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
631 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
632 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
633 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
634 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
635 endef
636 $(eval $(call Download,b43-common))
637
638 define Download/b43
639 FILE:=$(PKG_B43_FWV4_SOURCE)
640 URL:=$(PKG_B43_FWV4_SOURCE_URL)
641 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
642 endef
643 $(eval $(call Download,b43))
644
645 define Download/b43legacy
646 FILE:=$(PKG_B43_FWV3_SOURCE)
647 URL:=$(PKG_B43_FWV3_SOURCE_URL)
648 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
649 endef
650 $(eval $(call Download,b43legacy))
651
652 define KernelPackage/b43-common
653 $(call KernelPackage/mac80211/Default)
654 TITLE:=Generic stuff for Broadcom wireless devices
655 URL:=http://linuxwireless.org/en/users/Drivers/b43
656 KCONFIG:= \
657 CONFIG_HW_RANDOM=y
658 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
659 endef
660
661 define KernelPackage/b43
662 $(call KernelPackage/b43-common)
663 TITLE:=Broadcom 43xx wireless support
664 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
665 AUTOLOAD:=$(call AutoLoad,30,b43)
666 MENU:=1
667 endef
668
669 define KernelPackage/b43/config
670 menu "Configuration"
671 depends on PACKAGE_kmod-b43
672
673 choice
674 prompt "b43 firmware version"
675 default B43_STABLE
676 help
677 This option allows you to select the version of the b43 firmware.
678
679 config B43_STABLE
680 bool "4.150.10.5 (stable)"
681 help
682 Stable firmware for BCM43xx devices.
683
684 If unsure, select this.
685
686 config B43_EXPERIMENTAL
687 bool "4.178.10.4 (experimental)"
688 help
689 Experimental firmware for BCM43xx devices.
690
691 This firmware is not tested as much as the "stable" firmware.
692
693 If unsure, select the "stable" firmware.
694
695 config B43_OPENFIRMWARE
696 bool "Open FirmWare for WiFi networks"
697 help
698 Opensource firmware for BCM43xx devices.
699
700 Do _not_ select this, unless you know what you are doing.
701 The Opensource firmware is not suitable for embedded devices, yet.
702 It does not support QoS, which is bad for AccessPoints.
703 It does not support hardware crypto acceleration, which is a showstopper
704 for embedded devices with low CPU resources.
705
706 If unsure, select the "stable" firmware.
707
708 endchoice
709
710 config B43_FW_SQUASH
711 bool "Remove unnecessary firmware files"
712 depends on !B43_OPENFIRMWARE
713 default y
714 help
715 This options allows you to remove unnecessary b43 firmware files
716 from the final rootfs image. This can reduce the rootfs size by
717 up to 200k.
718
719 If unsure, say Y.
720
721 config B43_FW_SQUASH_COREREVS
722 string "Core revisions to include"
723 depends on B43_FW_SQUASH
724 default "5,6,7,8,9,10,13,14,15"
725 help
726 This is a comma seperated list of core revision numbers.
727
728 Example (keep files for rev5 only):
729 5
730
731 Example (keep files for rev5 and rev11):
732 5,11
733
734 config B43_FW_SQUASH_PHYTYPES
735 string "PHY types to include"
736 depends on B43_FW_SQUASH
737 default "G,LP"
738 help
739 This is a comma seperated list of PHY types:
740 A => A-PHY
741 AG => Dual A-PHY G-PHY
742 G => G-PHY
743 LP => LP-PHY
744 N => N-PHY
745
746 Example (keep files for G-PHY only):
747 G
748
749 Example (keep files for G-PHY and N-PHY):
750 G,N
751
752 endmenu
753 endef
754
755 define KernelPackage/b43/description
756 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
757 endef
758
759 define KernelPackage/b43legacy
760 $(call KernelPackage/b43-common)
761 TITLE:=Broadcom 43xx-legacy wireless support
762 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
763 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
764 MENU:=1
765 endef
766
767 define KernelPackage/b43legacy/config
768 menu "Configuration"
769 depends on PACKAGE_kmod-b43legacy
770
771 config B43LEGACY_FW_SQUASH
772 bool "Remove unnecessary firmware files"
773 default y
774 help
775 This options allows you to remove unnecessary b43legacy firmware files
776 from the final rootfs image. This can reduce the rootfs size by
777 up to 50k.
778
779 If unsure, say Y.
780
781 config B43LEGACY_FW_SQUASH_COREREVS
782 string "Core revisions to include"
783 depends on B43LEGACY_FW_SQUASH
784 default "1,2,3,4"
785 help
786 This is a comma seperated list of core revision numbers.
787
788 Example (keep files for rev4 only):
789 4
790
791 Example (keep files for rev2 and rev4):
792 2,4
793
794 endmenu
795 endef
796
797 define KernelPackage/b43legacy/description
798 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
799 endef
800
801 BUILDFLAGS:= \
802 -I$(PKG_BUILD_DIR)/include \
803 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
804 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
805 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
806 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
807 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
808 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
809 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
810 -DCONFIG_MAC80211_RC_MINSTREL_HT \
811 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
812 $(if $(CONFIG_PACKAGE_ATH9K_USE_MINSTREL),-DATH9K_USE_MINSTREL) \
813 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
814 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
815 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
816 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
817 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
818 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
819 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
820 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
821 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
822 $(if $(CONFIG_PCI_SUPPORT),-DCONFIG_RT2800PCI_PCI) \
823 $(if $(CONFIG_TARGET_ramips),-DCONFIG_RT2800PCI_SOC) \
824
825 MAKE_OPTS:= \
826 CROSS_COMPILE="$(KERNEL_CROSS)" \
827 ARCH="$(LINUX_KARCH)" \
828 EXTRA_CFLAGS="$(BUILDFLAGS)" \
829 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
830 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
831 CONFIG_MAC80211_RC_MINSTREL=y \
832 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
833 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
834 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
835 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
836 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
837 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
838 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
839 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
840 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
841 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
842 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
843 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
844 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
845 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
846 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
847 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
848 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
849 CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
850 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
851 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
852 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
853 CONFIG_P54_SPI= \
854 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
855 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
856 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
857 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
858 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
859 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
860 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
861 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
862 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
863 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
864 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
865 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
866 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
867 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
868 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
869 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
870 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
871 CONFIG_RT2800PCI_PCI=$(if $(CONFIG_PCI_SUPPORT),y) \
872 CONFIG_RT2800PCI_SOC=$(if $(CONFIG_TARGET_ramips),y) \
873 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
874 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
875 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
876 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
877 CONFIG_PCMCIA= \
878 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
879 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
880 CONFIG_LIBERTAS_CS= \
881 CONFIG_LIBERTAS_SPI= \
882 CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
883 CONFIG_LIBERTAS_THINFIRM= \
884 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
885 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
886 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
887 CONFIG_NL80211=y \
888 CONFIG_LIB80211= \
889 CONFIG_LIB80211_CRYPT_WEP= \
890 CONFIG_LIB80211_CRYPT_CCMP= \
891 CONFIG_LIB80211_CRYPT_TKIP= \
892 CONFIG_IWLWIFI= \
893 CONFIG_IWLAGN= \
894 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
895 CONFIG_ATMEL= \
896 CONFIG_PCMCIA_ATMEL= \
897 CONFIG_ADM8211= \
898 CONFIG_USB_NET_RNDIS_HOST= \
899 CONFIG_USB_NET_RNDIS_WLAN= \
900 CONFIG_USB_NET_CDCETHER= \
901 CONFIG_USB_USBNET= \
902 CONFIG_AT76C50X_USB= \
903 CONFIG_WL12XX= \
904 CONFIG_EEPROM_93CX6= \
905 CONFIG_HERMES= \
906 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
907 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
908 CONFIG_IWM= \
909 CONFIG_ATH9K_HTC= \
910 CONFIG_MAC80211_RC_MINSTREL_HT=y \
911 MADWIFI= \
912 OLD_IWL= \
913 KLIB_BUILD="$(LINUX_DIR)" \
914 MODPROBE=: \
915 KLIB=$(TARGET_MODULES_DIR) \
916 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
917
918 define Build/Prepare
919 rm -rf $(PKG_BUILD_DIR)
920 mkdir -p $(PKG_BUILD_DIR)
921 $(PKG_UNPACK)
922 $(Build/Patch)
923 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
924 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
925 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
926 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
927 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
928 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
929 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
930 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
931 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
932 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
933 endef
934
935 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
936 define Build/Compile/kmod
937 rm -rf $(PKG_BUILD_DIR)/modules
938 $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
939 endef
940 endif
941
942 define Build/Compile
943 $(call Build/Compile/kmod)
944 endef
945
946 define Build/InstallDev
947 mkdir -p \
948 $(1)/usr/include/mac80211 \
949 $(1)/usr/include/mac80211/ath \
950 $(1)/usr/include/net/mac80211
951 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
952 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
953 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
954 endef
955
956 define KernelPackage/libertas-usb/install
957 $(INSTALL_DIR) $(1)/lib/firmware
958 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
959 endef
960
961 define KernelPackage/libertas-sd/install
962 echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
963 $(INSTALL_DIR) $(1)/lib/firmware
964 $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
965 $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
966 endef
967
968 define KernelPackage/cfg80211/install
969 $(INSTALL_DIR) $(1)/lib/wifi
970 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
971 endef
972
973 define KernelPackage/p54-pci/install
974 $(INSTALL_DIR) $(1)/lib/firmware
975 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
976 endef
977
978 define KernelPackage/p54-usb/install
979 $(INSTALL_DIR) $(1)/lib/firmware
980 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
981 endef
982
983 define KernelPackage/rt61-pci/install
984 $(INSTALL_DIR) $(1)/lib/firmware
985 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
986 endef
987
988 define KernelPackage/rt73-usb/install
989 $(INSTALL_DIR) $(1)/lib/firmware
990 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
991 endef
992
993 define KernelPackage/rt2800-pci/install
994 $(INSTALL_DIR) $(1)/lib/firmware
995 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
996 endef
997
998 define KernelPackage/rt2800-usb/install
999 $(INSTALL_DIR) $(1)/lib/firmware
1000 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1001 endef
1002
1003 define KernelPackage/zd1211rw/install
1004 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1005 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1006 endef
1007
1008 define KernelPackage/ar9170/install
1009 $(INSTALL_DIR) $(1)/lib/firmware
1010 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1011 endef
1012
1013 define KernelPackage/net-ipw2100/install
1014 $(INSTALL_DIR) $(1)/lib/firmware
1015 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1016 endef
1017
1018 define KernelPackage/net-ipw2200/install
1019 $(INSTALL_DIR) $(1)/lib/firmware
1020 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1021 endef
1022
1023 define Build/b43-common
1024 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1025 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1026 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1027 QUIET_SPARSE=:
1028 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1029 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1030 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1031 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1032 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1033 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1034 endif
1035 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1036 endef
1037
1038 define KernelPackage/b43/install
1039 rm -rf $(1)/lib/firmware/
1040 $(call Build/b43-common)
1041 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1042 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1043 else
1044 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1045 endif
1046 $(INSTALL_DIR) $(1)/lib/firmware/
1047 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1048 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1049 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1050 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1051 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1052 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1053 else
1054 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1055 endif
1056 ifneq ($(CONFIG_B43_FW_SQUASH),)
1057 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1058 endif
1059 endef
1060
1061 define KernelPackage/b43legacy/install
1062 $(call Build/b43-common)
1063 $(INSTALL_DIR) $(1)/lib/firmware/
1064
1065 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1066 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1067 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1068 endif
1069 endef
1070
1071 $(eval $(call KernelPackage,ath5k))
1072 $(eval $(call KernelPackage,libertas-usb))
1073 $(eval $(call KernelPackage,libertas-sd))
1074 $(eval $(call KernelPackage,cfg80211))
1075 $(eval $(call KernelPackage,mac80211))
1076 $(eval $(call KernelPackage,p54-common))
1077 $(eval $(call KernelPackage,p54-pci))
1078 $(eval $(call KernelPackage,p54-usb))
1079 $(eval $(call KernelPackage,rt2x00-lib))
1080 $(eval $(call KernelPackage,rt2x00-pci))
1081 $(eval $(call KernelPackage,rt2x00-usb))
1082 $(eval $(call KernelPackage,rt2x00-soc))
1083 $(eval $(call KernelPackage,rt2800-lib))
1084 $(eval $(call KernelPackage,rt2400-pci))
1085 $(eval $(call KernelPackage,rt2500-pci))
1086 $(eval $(call KernelPackage,rt2500-usb))
1087 $(eval $(call KernelPackage,rt61-pci))
1088 $(eval $(call KernelPackage,rt73-usb))
1089 $(eval $(call KernelPackage,rt2800-pci))
1090 $(eval $(call KernelPackage,rt2800-usb))
1091 $(eval $(call KernelPackage,rtl8180))
1092 $(eval $(call KernelPackage,rtl8187))
1093 $(eval $(call KernelPackage,zd1211rw))
1094 $(eval $(call KernelPackage,mac80211-hwsim))
1095 $(eval $(call KernelPackage,ath9k))
1096 $(eval $(call KernelPackage,ath))
1097 $(eval $(call KernelPackage,ar9170))
1098 $(eval $(call KernelPackage,b43))
1099 $(eval $(call KernelPackage,b43legacy))
1100 $(eval $(call KernelPackage,net-libipw))
1101 $(eval $(call KernelPackage,net-ipw2100))
1102 $(eval $(call KernelPackage,net-ipw2200))
1103 $(eval $(call KernelPackage,mwl8k))