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