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