1719b29340b349f88b3006bea1311821a11d8bb2
[openwrt/openwrt.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2015 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:=2017-01-31
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=
17 PKG_HASH:=75e6d39e34cf156212a2509172a4a62b673b69eb4a1d9aaa565f7fa719fa2317
18
19 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.xz
20 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
21 PKG_BUILD_PARALLEL:=1
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
24
25 PKG_DRIVERS = \
26 adm8211 \
27 airo \
28 ath ath5k ath9k ath9k-common ath9k-htc ath10k \
29 b43 b43legacy \
30 carl9170 \
31 hermes hermes-pci hermes-pcmcia hermes-plx\
32 iwl-legacy iwl3945 iwl4965 iwlwifi \
33 lib80211 \
34 libipw ipw2100 ipw2200 \
35 libertas-sdio libertas-usb libertas-spi \
36 mac80211-hwsim \
37 mt7601u \
38 mwl8k mwifiex-pcie mwifiex-sdio \
39 p54-common p54-pci p54-spi p54-usb \
40 rt2x00-lib rt2x00-pci rt2x00-usb \
41 rt2400-pci rt2500-pci rt2500-usb \
42 rt2800-lib rt2800-mmio rt2800-pci rt2800-soc rt2800-usb \
43 rt61-pci rt73-usb \
44 rtl8180 rtl8187 \
45 rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
46 rtl8192de rtl8192cu \
47 rtl8xxxu \
48 wlcore wl12xx wl18xx \
49 zd1211rw
50
51 PKG_CONFIG_DEPENDS:= \
52 CONFIG_PACKAGE_kmod-mac80211 \
53 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
54 CONFIG_PACKAGE_MAC80211_DEBUGFS \
55 CONFIG_PACKAGE_MAC80211_MESH \
56 CONFIG_PACKAGE_MAC80211_TRACING \
57 CONFIG_PACKAGE_ATH_DEBUG \
58 CONFIG_PACKAGE_ATH_DFS \
59 CONFIG_PACKAGE_B43_DEBUG \
60 CONFIG_PACKAGE_B43_PIO \
61 CONFIG_PACKAGE_B43_PHY_G \
62 CONFIG_PACKAGE_B43_PHY_N \
63 CONFIG_PACKAGE_B43_PHY_LP \
64 CONFIG_PACKAGE_B43_PHY_HT \
65 CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
66 CONFIG_PACKAGE_B43_BUSES_BCMA \
67 CONFIG_PACKAGE_B43_BUSES_SSB \
68 CONFIG_PACKAGE_BRCM80211_DEBUG \
69 CONFIG_PACKAGE_IWLWIFI_DEBUG \
70 CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
71 CONFIG_PACKAGE_RTLWIFI_DEBUG \
72 CONFIG_ATH9K_SUPPORT_PCOEM \
73 CONFIG_ATH9K_TX99 \
74 CONFIG_ATH_USER_REGD \
75
76 include $(INCLUDE_DIR)/package.mk
77
78 WMENU:=Wireless Drivers
79
80 define KernelPackage/mac80211/Default
81 SUBMENU:=$(WMENU)
82 URL:=https://wireless.wiki.kernel.org/
83 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
84 endef
85
86 define KernelPackage/cfg80211
87 $(call KernelPackage/mac80211/Default)
88 TITLE:=cfg80211 - wireless configuration API
89 DEPENDS+= +iw
90 FILES:= \
91 $(PKG_BUILD_DIR)/compat/compat.ko \
92 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
93 endef
94
95 define KernelPackage/cfg80211/description
96 cfg80211 is the Linux wireless LAN (802.11) configuration API.
97 endef
98
99 define KernelPackage/mac80211
100 $(call KernelPackage/mac80211/Default)
101 TITLE:=Linux 802.11 Wireless Networking Stack
102 DEPENDS+= +kmod-cfg80211 +hostapd-common
103 KCONFIG:=\
104 CONFIG_AVERAGE=y
105 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
106 MENU:=1
107 endef
108
109 define KernelPackage/mac80211/config
110 if PACKAGE_kmod-mac80211
111
112 config PACKAGE_MAC80211_DEBUGFS
113 bool "Export mac80211 internals in DebugFS"
114 select KERNEL_DEBUG_FS
115 default y
116 help
117 Select this to see extensive information about
118 the internal state of mac80211 in debugfs.
119
120 config PACKAGE_MAC80211_TRACING
121 bool "Enable tracing (mac80211 and supported drivers)"
122 select KERNEL_FTRACE
123 select KERNEL_ENABLE_DEFAULT_TRACERS
124 default n
125 help
126 Select this to enable tracing of mac80211 and
127 related wifi drivers (using trace-cmd).
128
129 config PACKAGE_MAC80211_MESH
130 bool "Enable 802.11s mesh support"
131 default y
132
133 endif
134 endef
135
136 define KernelPackage/mac80211/description
137 Generic IEEE 802.11 Networking Stack (mac80211)
138 endef
139
140 define KernelPackage/adm8211
141 $(call KernelPackage/mac80211/Default)
142 TITLE:=ADMTek 8211 support
143 DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
144 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
145 AUTOLOAD:=$(call AutoProbe,adm8211)
146 endef
147
148 define KernelPackage/airo
149 $(call KernelPackage/mac80211/Default)
150 TITLE:=Cisco Aironet driver
151 DEPENDS+=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-cfg80211 @TARGET_x86
152 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/cisco/airo.ko
153 AUTOLOAD:=$(call AutoProbe,airo)
154 endef
155
156 define KernelPackage/airo/description
157 Kernel support for Cisco Aironet cards
158 endef
159
160 define KernelPackage/ath/config
161 if PACKAGE_kmod-ath
162 config ATH_USER_REGD
163 bool "Force Atheros drivers to respect the user's regdomain settings"
164 default y
165 help
166 Atheros' idea of regulatory handling is that the EEPROM of the card defines
167 the regulatory limits and the user is only allowed to restrict the settings
168 even further, even if the country allows frequencies or power levels that
169 are forbidden by the EEPROM settings.
170
171 Select this option if you want the driver to respect the user's decision about
172 regulatory settings.
173
174 config PACKAGE_ATH_DEBUG
175 bool "Atheros wireless debugging"
176 help
177 Say Y, if you want to debug atheros wireless drivers.
178 Only ath9k & ath10k make use of this.
179
180 config PACKAGE_ATH_DFS
181 bool "Enable DFS support"
182 default y
183 help
184 Dynamic frequency selection (DFS) is required for most of the 5 GHz band
185 channels in Europe, US, and Japan.
186
187 Select this option if you want to use such channels.
188
189 endif
190 endef
191
192 define KernelPackage/ath
193 $(call KernelPackage/mac80211/Default)
194 TITLE:=Atheros common driver part
195 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath25 +kmod-mac80211
196 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
197 MENU:=1
198 endef
199
200 define KernelPackage/ath/description
201 This module contains some common parts needed by Atheros Wireless drivers.
202 endef
203
204 define KernelPackage/ath5k
205 $(call KernelPackage/mac80211/Default)
206 TITLE:=Atheros 5xxx wireless cards support
207 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
208 DEPENDS+= @PCI_SUPPORT||@TARGET_ath25 +kmod-ath +@DRIVER_11W_SUPPORT
209 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
210 AUTOLOAD:=$(call AutoProbe,ath5k)
211 endef
212
213 define KernelPackage/ath5k/description
214 This module adds support for wireless adapters based on
215 Atheros 5xxx chipset.
216 endef
217
218 define KernelPackage/ath9k-common
219 $(call KernelPackage/mac80211/Default)
220 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
221 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
222 HIDDEN:=1
223 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
224 FILES:= \
225 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
226 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
227 endef
228
229 define KernelPackage/ath9k
230 $(call KernelPackage/mac80211/Default)
231 TITLE:=Atheros 802.11n PCI wireless cards support
232 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
233 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
234 FILES:= \
235 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
236 AUTOLOAD:=$(call AutoProbe,ath9k)
237 endef
238
239 define KernelPackage/ath9k/description
240 This module adds support for wireless adapters based on
241 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
242 endef
243
244 define KernelPackage/ath9k/config
245
246 config ATH9K_SUPPORT_PCOEM
247 bool "Support chips used in PC OEM cards"
248 depends on PACKAGE_kmod-ath9k
249
250 config ATH9K_TX99
251 bool "Enable TX99 support (WARNING: testing only, breaks normal operation!)"
252 depends on PACKAGE_kmod-ath9k
253
254 config ATH9K_UBNTHSR
255 bool "Support for Ubiquiti UniFi Outdoor+ access point"
256 depends on PACKAGE_kmod-ath9k && TARGET_ar71xx_generic
257 default y
258
259 endef
260
261 define KernelPackage/ath9k-htc
262 $(call KernelPackage/mac80211/Default)
263 TITLE:=Atheros 802.11n USB device support
264 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
265 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
266 FILES:= \
267 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
268 AUTOLOAD:=$(call AutoProbe,ath9k_htc)
269 endef
270
271 define KernelPackage/ath9k-htc/description
272 This module adds support for wireless adapters based on
273 Atheros USB AR9271 and AR7010 family of chipsets.
274 endef
275
276 define KernelPackage/ath10k
277 $(call KernelPackage/mac80211/Default)
278 TITLE:=Atheros 802.11ac wireless cards support
279 URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
280 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
281 FILES:= \
282 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
283 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
284 AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci)
285 endef
286
287 define KernelPackage/ath10k/description
288 This module adds support for wireless adapters based on
289 Atheros IEEE 802.11ac family of chipsets. For now only
290 PCI is supported.
291 endef
292
293 #Broadcom firmware
294 ifneq ($(CONFIG_B43_FW_6_30),)
295 PKG_B43_FWV4_NAME:=broadcom-wl
296 PKG_B43_FWV4_VERSION:=6.30.163.46
297 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
298 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
299 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
300 PKG_B43_FWV4_HASH:=a07c3b6b277833c7dbe61daa511f908cd66c5e2763eb7a0859abc36cd9335c2d
301 else
302 ifneq ($(CONFIG_B43_FW_5_10),)
303 PKG_B43_FWV4_NAME:=broadcom-wl
304 PKG_B43_FWV4_VERSION:=5.10.56.27.3
305 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
306 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
307 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
308 PKG_B43_FWV4_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
309 else
310 ifneq ($(CONFIG_B43_FW_4_178),)
311 PKG_B43_FWV4_NAME:=broadcom-wl
312 PKG_B43_FWV4_VERSION:=4.178.10.4
313 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
314 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
315 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
316 PKG_B43_FWV4_HASH:=32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
317 else
318 ifneq ($(CONFIG_B43_FW_5_100_138),)
319 PKG_B43_FWV4_NAME:=broadcom-wl
320 PKG_B43_FWV4_VERSION:=5.100.138
321 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
322 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
323 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
324 PKG_B43_FWV4_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
325 else
326 PKG_B43_FWV4_NAME:=broadcom-wl
327 PKG_B43_FWV4_VERSION:=4.150.10.5
328 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
329 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
330 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
331 PKG_B43_FWV4_HASH:=a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
332 endif
333 endif
334 endif
335 endif
336 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
337 PKG_B43_FWV4_NAME:=broadcom-wl
338 PKG_B43_FWV4_VERSION:=5.2
339 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
340 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
341 PKG_B43_FWV4_SOURCE_URL:=http://netweb.ing.unibs.it/~openfwwf/firmware
342 PKG_B43_FWV4_HASH:=9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc
343 endif
344
345
346 define Download/b43
347 FILE:=$(PKG_B43_FWV4_SOURCE)
348 URL:=$(PKG_B43_FWV4_SOURCE_URL)
349 HASH:=$(PKG_B43_FWV4_HASH)
350 endef
351 $(eval $(call Download,b43))
352
353 define KernelPackage/b43
354 $(call KernelPackage/mac80211/Default)
355 TITLE:=Broadcom 43xx wireless support
356 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
357 KCONFIG:= \
358 CONFIG_HW_RANDOM=y
359 # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
360 DEPENDS += \
361 @PCI_SUPPORT +kmod-mac80211 \
362 $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
363 $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
364 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
365 AUTOLOAD:=$(call AutoProbe,b43)
366 MENU:=1
367 endef
368
369 define KernelPackage/b43/config
370
371 config PACKAGE_B43_USE_SSB
372 select PACKAGE_kmod-ssb
373 tristate
374 depends on !TARGET_brcm47xx && !TARGET_brcm63xx
375 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
376 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
377
378 config PACKAGE_B43_USE_BCMA
379 select PACKAGE_kmod-bcma
380 tristate
381 depends on !TARGET_brcm47xx && !TARGET_bcm53xx
382 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
383 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
384
385 if PACKAGE_kmod-b43
386
387 choice
388 prompt "b43 firmware version"
389 default B43_FW_5_100_138
390 help
391 This option allows you to select the version of the b43 firmware.
392
393 config B43_FW_4_150
394 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
395 help
396 Old stable firmware for BCM43xx devices.
397
398 If unsure, select this.
399
400 config B43_FW_4_178
401 bool "Firmware 478.104 from driver 4.178.10.4"
402 help
403 Older firmware for BCM43xx devices.
404
405 If unsure, select the "stable" firmware.
406
407 config B43_FW_5_10
408 bool "Firmware 508.1084 from driver 5.10.56.27"
409 help
410 Older firmware for BCM43xx devices.
411
412 If unsure, select the "stable" firmware.
413
414 config B43_FW_5_100_138
415 bool "Firmware 666.2 from driver 5.100.138 (stable)"
416 help
417 The currently default firmware for BCM43xx devices.
418
419 This firmware currently gets most of the testing and is needed for some N-PHY devices.
420
421 If unsure, select the this firmware.
422
423 config B43_FW_6_30
424 bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
425 help
426 Newer experimental firmware for BCM43xx devices.
427
428 This firmware is mostly untested.
429
430 If unsure, select the "stable" firmware.
431
432 config B43_OPENFIRMWARE
433 bool "Open FirmWare for WiFi networks"
434 help
435 Opensource firmware for BCM43xx devices.
436
437 Do _not_ select this, unless you know what you are doing.
438 The Opensource firmware is not suitable for embedded devices, yet.
439 It does not support QoS, which is bad for AccessPoints.
440 It does not support hardware crypto acceleration, which is a showstopper
441 for embedded devices with low CPU resources.
442
443 If unsure, select the "stable" firmware.
444
445 endchoice
446
447 config B43_FW_SQUASH
448 bool "Remove unnecessary firmware files"
449 depends on !B43_OPENFIRMWARE
450 default y
451 help
452 This options allows you to remove unnecessary b43 firmware files
453 from the final rootfs image. This can reduce the rootfs size by
454 up to 200k.
455
456 If unsure, say Y.
457
458 config B43_FW_SQUASH_COREREVS
459 string "Core revisions to include"
460 depends on B43_FW_SQUASH
461 default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
462 default "16,28,29,30" if TARGET_brcm47xx_mips74k
463 default "5,6,7,8,9,10,11,13,15,16,28,29,30"
464 help
465 This is a comma seperated list of core revision numbers.
466
467 Example (keep files for rev5 only):
468 5
469
470 Example (keep files for rev5 and rev11):
471 5,11
472
473 config B43_FW_SQUASH_PHYTYPES
474 string "PHY types to include"
475 depends on B43_FW_SQUASH
476 default "G,N,LP" if TARGET_brcm47xx_legacy
477 default "N,HT" if TARGET_brcm47xx_mips74k
478 default "G,N,LP,HT"
479 help
480 This is a comma seperated list of PHY types:
481 A => A-PHY
482 AG => Dual A-PHY G-PHY
483 G => G-PHY
484 LP => LP-PHY
485 N => N-PHY
486 HT => HT-PHY
487 LCN => LCN-PHY
488 LCN40 => LCN40-PHY
489 AC => AC-PHY
490
491 Example (keep files for G-PHY only):
492 G
493
494 Example (keep files for G-PHY and N-PHY):
495 G,N
496
497 choice
498 prompt "Supported buses"
499 default PACKAGE_B43_BUSES_BCMA_AND_SSB
500 help
501 This allows choosing buses that b43 should support.
502
503 config PACKAGE_B43_BUSES_BCMA_AND_SSB
504 depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
505 bool "BCMA and SSB"
506
507 config PACKAGE_B43_BUSES_BCMA
508 depends on !TARGET_brcm47xx_legacy
509 bool "BCMA only"
510
511 config PACKAGE_B43_BUSES_SSB
512 depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
513 bool "SSB only"
514
515 endchoice
516
517 config PACKAGE_B43_DEBUG
518 bool "Enable debug output and debugfs for b43"
519 default n
520 help
521 Enable additional debug output and runtime sanity checks for b43
522 and enables the debugfs interface.
523
524 If unsure, say N.
525
526 config PACKAGE_B43_PIO
527 bool "Enable support for PIO transfer mode"
528 default n
529 help
530 Enable support for using PIO instead of DMA. Unless you have DMA
531 transfer problems you don't need this.
532
533 If unsure, say N.
534
535 config PACKAGE_B43_PHY_G
536 bool "Enable support for G-PHYs"
537 default n if TARGET_brcm47xx_mips74k
538 default y
539 help
540 Enable support for G-PHY. This includes support for the following devices:
541 PCI: BCM4306, BCM4311, BCM4318
542 SoC: BCM5352E, BCM4712
543
544 If unsure, say Y.
545
546 config PACKAGE_B43_PHY_N
547 bool "Enable support for N-PHYs"
548 default y
549 help
550 Enable support for N-PHY. This includes support for the following devices:
551 PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
552 SoC: BCM4716, BCM4717, BCM4718
553
554 Currently only 11g speed is available.
555
556 If unsure, say Y.
557
558 config PACKAGE_B43_PHY_LP
559 bool "Enable support for LP-PHYs"
560 default n if TARGET_brcm47xx_mips74k
561 default y
562 help
563 Enable support for LP-PHY. This includes support for the following devices:
564 PCI: BCM4312
565 SoC: BCM5354
566
567 If unsure, say Y.
568
569 config PACKAGE_B43_PHY_HT
570 bool "Enable support for HT-PHYs"
571 default n if TARGET_brcm47xx_legacy
572 default y
573 help
574 Enable support for HT-PHY. This includes support for the following devices:
575 PCI: BCM4331
576
577 Currently only 11g speed is available.
578
579 If unsure, say Y.
580
581 config PACKAGE_B43_PHY_LCN
582 bool "Enable support for LCN-PHYs"
583 depends on BROKEN
584 default n
585 help
586 Currently broken.
587
588 If unsure, say N.
589
590 endif
591 endef
592
593 define KernelPackage/b43/description
594 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
595 endef
596
597 define KernelPackage/b43legacy
598 $(call KernelPackage/mac80211/Default)
599 TITLE:=Broadcom 43xx-legacy wireless support
600 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
601 KCONFIG:= \
602 CONFIG_HW_RANDOM=y
603 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
604 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
605 AUTOLOAD:=$(call AutoProbe,b43legacy)
606 MENU:=1
607 endef
608
609 define KernelPackage/b43legacy/description
610 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
611 endef
612
613
614 define KernelPackage/brcmutil
615 $(call KernelPackage/mac80211/Default)
616 TITLE:=Broadcom IEEE802.11n common driver parts
617 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
618 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
619 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
620 AUTOLOAD:=$(call AutoProbe,brcmutil)
621 MENU:=1
622 endef
623
624 define KernelPackage/brcmutil/description
625 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
626 endef
627
628 define KernelPackage/brcmutil/config
629 if PACKAGE_kmod-brcmutil
630
631 config PACKAGE_BRCM80211_DEBUG
632 bool "Broadcom wireless driver debugging"
633 help
634 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
635
636 endif
637 endef
638
639 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
640 PKG_BRCMSMAC_FW_VERSION:=5.100.138
641 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
642 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
643 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
644 PKG_BRCMSMAC_FW_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
645
646 define Download/brcmsmac
647 FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
648 URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
649 HASH:=$(PKG_BRCMSMAC_FW_HASH)
650 endef
651 $(eval $(call Download,brcmsmac))
652
653 define KernelPackage/brcmsmac
654 $(call KernelPackage/mac80211/Default)
655 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
656 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
657 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware
658 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
659 AUTOLOAD:=$(call AutoProbe,brcmsmac)
660 MENU:=1
661 endef
662
663 define KernelPackage/brcmsmac/description
664 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
665 endef
666
667 define KernelPackage/brcmsmac/config
668 if PACKAGE_kmod-brcmsmac
669
670 config BRCMSMAC_USE_FW_FROM_WL
671 bool "Use firmware extracted from broadcom proprietary driver"
672 default y
673 help
674 Instead of using the official brcmsmac firmware a firmware
675 version 666.2 extracted from the proprietary Broadcom driver
676 is used. This is needed to get core rev 17 used in bcm4716
677 to work.
678
679 If unsure, say Y.
680
681 endif
682 endef
683
684
685 define KernelPackage/brcmfmac
686 $(call KernelPackage/mac80211/Default)
687 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
688 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
689 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +kmod-brcmutil \
690 +BRCMFMAC_SDIO:kmod-mmc \
691 +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
692 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
693 AUTOLOAD:=$(call AutoProbe,brcmfmac)
694 endef
695
696 define KernelPackage/brcmfmac/description
697 Kernel module for Broadcom IEEE802.11n USB Wireless cards
698 endef
699
700 define KernelPackage/brcmfmac/config
701 if PACKAGE_kmod-brcmfmac
702
703 config BRCMFMAC_SDIO
704 bool "Enable SDIO bus interface support"
705 default y if TARGET_brcm2708
706 default n
707 help
708 Enable support for cards attached to an SDIO bus.
709 Select this option only if you are sure that your
710 board has a Broadcom wireless chip atacched to
711 that bus.
712
713 config BRCMFMAC_USB
714 bool "Enable USB bus interface support"
715 depends on USB_SUPPORT
716 default y
717 help
718 Supported USB connected chipsets:
719 BCM43235, BCM43236, BCM43238 (all in revision 3 only)
720 BCM43143, BCM43242, BCM43566, BCM43569
721
722 config BRCMFMAC_PCIE
723 bool "Enable PCIE bus interface support"
724 depends on PCI_SUPPORT
725 default y
726 help
727 Supported PCIe connected chipsets:
728 BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
729
730 endif
731 endef
732
733
734 define KernelPackage/carl9170
735 $(call KernelPackage/mac80211/Default)
736 TITLE:=Driver for Atheros AR9170 USB sticks
737 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware
738 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
739 AUTOLOAD:=$(call AutoProbe,carl9170)
740 endef
741
742
743 define KernelPackage/hermes
744 $(call KernelPackage/mac80211/Default)
745 TITLE:=Hermes 802.11b chipset support
746 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
747 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
748 AUTOLOAD:=$(call AutoProbe,orinoco)
749 endef
750
751 define KernelPackage/hermes/description
752 Kernel support for Hermes 802.11b chipsets
753 endef
754
755 define KernelPackage/hermes-pci
756 $(call KernelPackage/mac80211/Default)
757 TITLE:=Intersil Prism 2.5 PCI support
758 DEPENDS:=@PCI_SUPPORT +kmod-hermes
759 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
760 AUTOLOAD:=$(call AutoProbe,orinoco_pci)
761 endef
762
763 define KernelPackage/hermes-pci/description
764 Kernel modules for Intersil Prism 2.5 PCI support
765 endef
766
767 define KernelPackage/hermes-plx
768 $(call KernelPackage/mac80211/Default)
769 TITLE:=PLX9052 based PCI adaptor
770 DEPENDS:=@PCI_SUPPORT +kmod-hermes
771 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
772 AUTOLOAD:=$(call AutoProbe,orinoco_plx)
773 endef
774
775 define KernelPackage/hermes-plx/description
776 Kernel modules for Hermes in PLX9052 based PCI adaptors
777 endef
778
779 define KernelPackage/hermes-pcmcia
780 $(call KernelPackage/mac80211/Default)
781 TITLE:=Hermes based PCMCIA adaptors
782 DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes @BROKEN
783 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
784 AUTOLOAD:=$(call AutoProbe,orinoco_cs)
785 endef
786
787 define KernelPackage/hermes-pcmcia/description
788 Kernel modules for Hermes based PCMCIA adaptors
789 endef
790
791
792 define KernelPackage/iwlwifi
793 $(call KernelPackage/mac80211/Default)
794 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +iwlwifi-firmware @!LINUX_3_18
795 TITLE:=Intel AGN Wireless support
796 FILES:= \
797 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
798 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
799 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
800 AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
801 MENU:=1
802 endef
803
804 define KernelPackage/iwlwifi/description
805 iwlwifi kernel module for
806 Intel Wireless WiFi Link 6250AGN Adapter
807 Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
808 Intel WiFi Link 1000BGN
809 Intel Wireless WiFi 5150AGN
810 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
811 Intel 6005 Series Wi-Fi Adapters
812 Intel 6030 Series Wi-Fi Adapters
813 Intel Wireless WiFi Link 6150BGN 2 Adapter
814 Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
815 Intel 2000 Series Wi-Fi Adapters
816 Intel 7260 Wi-Fi Adapter
817 Intel 3160 Wi-Fi Adapter
818 Intel 7265 Wi-Fi Adapter
819 Intel 8260 Wi-Fi Adapter
820 Intel 3165 Wi-Fi Adapter
821 endef
822
823 define KernelPackage/iwlwifi/config
824 if PACKAGE_kmod-iwlwifi
825
826 config PACKAGE_IWLWIFI_DEBUG
827 bool "Enable full debugging output in the iwlwifi driver"
828 default n
829 help
830 This option will enable debug tracing output for the iwlwifi drivers
831
832 This will result in the kernel module being ~100k larger. You can
833 control which debug output is sent to the kernel log by setting the
834 value in
835
836 /sys/module/iwlwifi/parameters/debug
837
838 This entry will only exist if this option is enabled.
839
840 To set a value, simply echo an 8-byte hex value to the same file:
841
842 % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
843
844 You can find the list of debug mask values in:
845 drivers/net/wireless/intel/iwlwifi/iwl-debug.h
846
847 If this is your first time using this driver, you should say Y here
848 as the debug information can assist others in helping you resolve
849 any problems you may encounter.
850
851 config PACKAGE_IWLWIFI_DEBUGFS
852 bool "iwlwifi debugfs support"
853 depends on PACKAGE_MAC80211_DEBUGFS
854 default n
855 help
856 Enable creation of debugfs files for the iwlwifi drivers. This
857 is a low-impact option that allows getting insight into the
858 driver's state at runtime.
859
860 endif
861 endef
862
863 define KernelPackage/iwl-legacy
864 $(call KernelPackage/mac80211/Default)
865 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
866 TITLE:=Intel legacy Wireless support
867 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
868 AUTOLOAD:=$(call AutoProbe,iwlegacy)
869 endef
870
871 define KernelPackage/iwl-legacy/description
872 iwl-legacy kernel module for legacy Intel wireless support
873 endef
874
875 define KernelPackage/iwl3945
876 $(call KernelPackage/mac80211/Default)
877 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
878 TITLE:=Intel iwl3945 Wireless support
879 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
880 AUTOLOAD:=$(call AutoProbe,iwl3945)
881 endef
882
883 define KernelPackage/iwl3945/description
884 iwl3945 kernel module for Intel 3945 support
885 endef
886
887 define KernelPackage/iwl4965
888 $(call KernelPackage/mac80211/Default)
889 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
890 TITLE:=Intel iwl4965 Wireless support
891 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
892 AUTOLOAD:=$(call AutoProbe,iwl4965)
893 endef
894
895 define KernelPackage/iwl4965/description
896 iwl4965 kernel module for Intel 4965 support
897 endef
898
899
900 define KernelPackage/lib80211
901 $(call KernelPackage/mac80211/Default)
902 TITLE:=802.11 Networking stack
903 DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
904 FILES:= \
905 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
906 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
907 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
908 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
909 AUTOLOAD:=$(call AutoProbe, \
910 lib80211 \
911 lib80211_crypt_wep \
912 lib80211_crypt_ccmp \
913 lib80211_crypt_tkip \
914 )
915 endef
916
917 define KernelPackage/lib80211/description
918 Kernel modules for 802.11 Networking stack
919 Includes:
920 - lib80211
921 - lib80211_crypt_wep
922 - lib80211_crypt_tkip
923 - lib80211_crytp_ccmp
924 endef
925
926
927 define KernelPackage/libipw
928 $(call KernelPackage/mac80211/Default)
929 TITLE:=libipw for ipw2100 and ipw2200
930 DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN
931 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
932 AUTOLOAD:=$(call AutoProbe,libipw)
933 endef
934
935 define KernelPackage/libipw/description
936 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
937 endef
938
939 IPW2100_NAME:=ipw2100-fw
940 IPW2100_VERSION:=1.3
941
942 define Download/ipw2100
943 URL:=http://bughost.org/firmware/
944 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
945 HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
946 endef
947 $(eval $(call Download,ipw2100))
948
949 define KernelPackage/ipw2100
950 $(call KernelPackage/mac80211/Default)
951 TITLE:=Intel IPW2100 driver
952 DEPENDS:=@PCI_SUPPORT +kmod-libipw
953 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
954 AUTOLOAD:=$(call AutoProbe,ipw2100)
955 endef
956
957 define KernelPackage/ipw2100/description
958 Kernel support for Intel IPW2100
959 Includes:
960 - ipw2100
961 endef
962
963 IPW2200_NAME:=ipw2200-fw
964 IPW2200_VERSION:=3.1
965
966 define Download/ipw2200
967 URL:=http://bughost.org/firmware/
968 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
969 HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
970 endef
971 $(eval $(call Download,ipw2200))
972
973 define KernelPackage/ipw2200
974 $(call KernelPackage/mac80211/Default)
975 TITLE:=Intel IPW2200 driver
976 DEPENDS:=@PCI_SUPPORT +kmod-libipw
977 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
978 AUTOLOAD:=$(call AutoProbe,ipw2200)
979 endef
980
981 define KernelPackage/ipw2200/description
982 Kernel support for Intel IPW2200
983 Includes:
984 - ipw2200
985 endef
986
987
988 define KernelPackage/libertas-usb
989 $(call KernelPackage/mac80211/Default)
990 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware
991 TITLE:=Marvell 88W8015 Wireless Driver
992 FILES:= \
993 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
994 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
995 AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
996 endef
997
998 define KernelPackage/libertas-sdio
999 $(call KernelPackage/mac80211/Default)
1000 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware
1001 TITLE:=Marvell 88W8686 Wireless Driver
1002 FILES:= \
1003 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1004 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
1005 AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
1006 endef
1007
1008 define KernelPackage/libertas-spi
1009 $(call KernelPackage/mac80211/Default)
1010 SUBMENU:=Wireless Drivers
1011 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware
1012 KCONFIG := \
1013 CONFIG_SPI=y \
1014 CONFIG_SPI_MASTER=y
1015 TITLE:=Marvell 88W8686 SPI Wireless Driver
1016 FILES:= \
1017 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1018 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
1019 AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
1020 endef
1021
1022 define KernelPackage/mac80211-hwsim
1023 $(call KernelPackage/mac80211/Default)
1024 TITLE:=mac80211 HW simulation device
1025 DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
1026 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
1027 AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
1028 endef
1029
1030
1031 define KernelPackage/mt7601u
1032 $(call KernelPackage/mac80211/Default)
1033 TITLE:=MT7601U-based USB dongles Wireless Driver
1034 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
1035 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
1036 AUTOLOAD:=$(call AutoProbe,mt7601u)
1037 endef
1038
1039
1040 define KernelPackage/mwl8k
1041 $(call KernelPackage/mac80211/Default)
1042 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
1043 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
1044 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
1045 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
1046 AUTOLOAD:=$(call AutoProbe,mwl8k)
1047 endef
1048
1049 define KernelPackage/mwl8k/description
1050 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
1051 endef
1052
1053
1054 define KernelPackage/mwifiex-pcie
1055 $(call KernelPackage/mac80211/Default)
1056 TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
1057 URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex
1058 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-pcie-firmware
1059 FILES:= \
1060 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1061 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
1062 AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
1063 endef
1064
1065 define KernelPackage/mwifiex-pcie/description
1066 Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
1067 endef
1068
1069 define KernelPackage/mwifiex-sdio
1070 $(call KernelPackage/mac80211/Default)
1071 TITLE:=Driver for Marvell 802.11n/802.11ac SDIO Wireless cards
1072 URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex
1073 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwifiex-sdio-firmware
1074 FILES:= \
1075 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1076 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
1077 AUTOLOAD:=$(call AutoProbe,mwifiex_sdio)
1078 endef
1079
1080 define KernelPackage/mwifiex-sdio/description
1081 Kernel modules for Marvell 802.11n/802.11ac SDIO Wireless cards
1082 endef
1083
1084 define KernelPackage/p54/Default
1085 $(call KernelPackage/mac80211/Default)
1086 TITLE:=Prism54 Drivers
1087 endef
1088
1089 define KernelPackage/p54/description
1090 Kernel module for Prism54 chipsets (mac80211)
1091 endef
1092
1093 define KernelPackage/p54-common
1094 $(call KernelPackage/p54/Default)
1095 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
1096 TITLE+= (COMMON)
1097 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
1098 endef
1099
1100 define KernelPackage/p54-pci
1101 $(call KernelPackage/p54/Default)
1102 TITLE+= (PCI)
1103 DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
1104 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
1105 AUTOLOAD:=$(call AutoProbe,p54pci)
1106 endef
1107
1108 define KernelPackage/p54-usb
1109 $(call KernelPackage/p54/Default)
1110 TITLE+= (USB)
1111 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
1112 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
1113 AUTOLOAD:=$(call AutoProbe,p54usb)
1114 endef
1115
1116 define KernelPackage/p54-spi
1117 $(call KernelPackage/p54/Default)
1118 TITLE+= (SPI)
1119 DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
1120 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
1121 AUTOLOAD:=$(call AutoProbe,p54spi)
1122 endef
1123
1124 define KernelPackage/rt2x00/Default
1125 $(call KernelPackage/mac80211/Default)
1126 TITLE:=Ralink Drivers for RT2x00 cards
1127 endef
1128
1129 define KernelPackage/rt2x00-lib
1130 $(call KernelPackage/rt2x00/Default)
1131 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
1132 TITLE+= (LIB)
1133 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko
1134 MENU:=1
1135 endef
1136
1137 define KernelPackage/rt2x00-lib/config
1138 if PACKAGE_kmod-rt2x00-lib
1139
1140 config PACKAGE_RT2X00_LIB_DEBUGFS
1141 bool "Enable rt2x00 debugfs support"
1142 depends on PACKAGE_MAC80211_DEBUGFS
1143 help
1144 Enable creation of debugfs files for the rt2x00 drivers.
1145 These debugfs files support both reading and writing of the
1146 most important register types of the rt2x00 hardware.
1147
1148 config PACKAGE_RT2X00_DEBUG
1149 bool "Enable rt2x00 debug output"
1150 help
1151 Enable debugging output for all rt2x00 modules
1152
1153 endif
1154 endef
1155
1156 define KernelPackage/rt2x00-mmio
1157 $(call KernelPackage/rt2x00/Default)
1158 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
1159 HIDDEN:=1
1160 TITLE+= (MMIO)
1161 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko
1162 endef
1163
1164 define KernelPackage/rt2x00-pci
1165 $(call KernelPackage/rt2x00/Default)
1166 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
1167 HIDDEN:=1
1168 TITLE+= (PCI)
1169 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko
1170 AUTOLOAD:=$(call AutoProbe,rt2x00pci)
1171 endef
1172
1173 define KernelPackage/rt2x00-usb
1174 $(call KernelPackage/rt2x00/Default)
1175 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
1176 HIDDEN:=1
1177 TITLE+= (USB)
1178 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko
1179 AUTOLOAD:=$(call AutoProbe,rt2x00usb)
1180 endef
1181
1182 define KernelPackage/rt2800-lib
1183 $(call KernelPackage/rt2x00/Default)
1184 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
1185 HIDDEN:=1
1186 TITLE+= (rt2800 LIB)
1187 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko
1188 endef
1189
1190 define KernelPackage/rt2400-pci
1191 $(call KernelPackage/rt2x00/Default)
1192 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1193 TITLE+= (RT2400 PCI)
1194 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko
1195 AUTOLOAD:=$(call AutoProbe,rt2400pci)
1196 endef
1197
1198 define KernelPackage/rt2500-pci
1199 $(call KernelPackage/rt2x00/Default)
1200 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1201 TITLE+= (RT2500 PCI)
1202 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko
1203 AUTOLOAD:=$(call AutoProbe,rt2500pci)
1204 endef
1205
1206 define KernelPackage/rt2500-usb
1207 $(call KernelPackage/rt2x00/Default)
1208 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
1209 TITLE+= (RT2500 USB)
1210 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko
1211 AUTOLOAD:=$(call AutoProbe,rt2500usb)
1212 endef
1213
1214 define KernelPackage/rt2800-mmio
1215 $(call KernelPackage/rt2x00/Default)
1216 TITLE += (RT28xx/RT3xxx MMIO)
1217 DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
1218 HIDDEN:=1
1219 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko
1220 endef
1221
1222 define KernelPackage/rt2800-soc
1223 $(call KernelPackage/rt2x00/Default)
1224 DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
1225 TITLE += (RT28xx/RT3xxx SoC)
1226 FILES := \
1227 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \
1228 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko
1229 AUTOLOAD:=$(call AutoProbe,rt2800soc)
1230 endef
1231
1232 define KernelPackage/rt2800-pci
1233 $(call KernelPackage/rt2x00/Default)
1234 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio +rt2800-pci-firmware
1235 TITLE+= (RT2860 PCI)
1236 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko
1237 AUTOLOAD:=$(call AutoProbe,rt2800pci)
1238 endef
1239
1240 define KernelPackage/rt2800-usb
1241 $(call KernelPackage/rt2x00/Default)
1242 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt +rt2800-usb-firmware
1243 TITLE+= (RT2870 USB)
1244 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko
1245 AUTOLOAD:=$(call AutoProbe,rt2800usb)
1246 endef
1247
1248
1249 define KernelPackage/rt61-pci
1250 $(call KernelPackage/rt2x00/Default)
1251 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +rt61-pci-firmware
1252 TITLE+= (RT2x61 PCI)
1253 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko
1254 AUTOLOAD:=$(call AutoProbe,rt61pci)
1255 endef
1256
1257 define KernelPackage/rt73-usb
1258 $(call KernelPackage/rt2x00/Default)
1259 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +rt73-usb-firmware
1260 TITLE+= (RT73 USB)
1261 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko
1262 AUTOLOAD:=$(call AutoProbe,rt73usb)
1263 endef
1264
1265
1266 define KernelPackage/rtl818x/Default
1267 $(call KernelPackage/mac80211/Default)
1268 TITLE:=Realtek Drivers for RTL818x devices
1269 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
1270 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
1271 endef
1272
1273 define KernelPackage/rtl8180
1274 $(call KernelPackage/rtl818x/Default)
1275 DEPENDS+= @PCI_SUPPORT
1276 TITLE+= (RTL8180 PCI)
1277 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
1278 AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
1279 endef
1280
1281 define KernelPackage/rtl8187
1282 $(call KernelPackage/rtl818x/Default)
1283 DEPENDS+= @USB_SUPPORT +kmod-usb-core
1284 TITLE+= (RTL8187 USB)
1285 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
1286 AUTOLOAD:=$(call AutoProbe,rtl8187)
1287 endef
1288
1289 define KernelPackage/rtlwifi/config
1290 config PACKAGE_RTLWIFI_DEBUG
1291 bool "Realtek wireless debugging"
1292 depends on PACKAGE_kmod-rtlwifi
1293 help
1294 Say Y, if you want to debug realtek wireless drivers.
1295
1296 endef
1297
1298 define KernelPackage/rtlwifi
1299 $(call KernelPackage/mac80211/Default)
1300 TITLE:=Realtek common driver part
1301 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
1302 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
1303 HIDDEN:=1
1304 endef
1305
1306 define KernelPackage/rtlwifi-pci
1307 $(call KernelPackage/mac80211/Default)
1308 TITLE:=Realtek common driver part (PCI support)
1309 DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
1310 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
1311 AUTOLOAD:=$(call AutoProbe,rtl_pci)
1312 HIDDEN:=1
1313 endef
1314
1315 define KernelPackage/rtlwifi-usb
1316 $(call KernelPackage/mac80211/Default)
1317 TITLE:=Realtek common driver part (USB support)
1318 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
1319 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
1320 AUTOLOAD:=$(call AutoProbe,rtl_usb)
1321 HIDDEN:=1
1322 endef
1323
1324 define KernelPackage/rtl8192c-common
1325 $(call KernelPackage/mac80211/Default)
1326 TITLE:=Realtek RTL8192CE/RTL8192CU common support module
1327 DEPENDS+= +kmod-rtlwifi
1328 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
1329 HIDDEN:=1
1330 endef
1331
1332 define KernelPackage/rtl8192ce
1333 $(call KernelPackage/mac80211/Default)
1334 TITLE:=Realtek RTL8192CE/RTL8188CE support
1335 DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
1336 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
1337 AUTOLOAD:=$(call AutoProbe,rtl8192ce)
1338 endef
1339
1340 define KernelPackage/rtl8192se
1341 $(call KernelPackage/mac80211/Default)
1342 TITLE:=Realtek RTL8192SE/RTL8191SE support
1343 DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
1344 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
1345 AUTOLOAD:=$(call AutoProbe,rtl8192se)
1346 endef
1347
1348 define KernelPackage/rtl8192de
1349 $(call KernelPackage/mac80211/Default)
1350 TITLE:=Realtek RTL8192DE/RTL8188DE support
1351 DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
1352 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
1353 AUTOLOAD:=$(call AutoProbe,rtl8192de)
1354 endef
1355
1356 define KernelPackage/rtl8192cu
1357 $(call KernelPackage/mac80211/Default)
1358 TITLE:=Realtek RTL8192CU/RTL8188CU support
1359 DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
1360 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
1361 AUTOLOAD:=$(call AutoProbe,rtl8192cu)
1362 endef
1363
1364
1365 define KernelPackage/rtl8xxxu
1366 $(call KernelPackage/mac80211/Default)
1367 TITLE:=alternative Realtek RTL8XXXU support
1368 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1369 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
1370 AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
1371 endef
1372
1373 define KernelPackage/rtl8xxxu/description
1374 This is an alternative driver for various Realtek RTL8XXX
1375 parts written to utilize the Linux mac80211 stack.
1376 The driver is known to work with a number of RTL8723AU,
1377 RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
1378
1379 This driver is under development and has a limited feature
1380 set. In particular it does not yet support 40MHz channels
1381 and power management. However it should have a smaller
1382 memory footprint than the vendor drivers and benetifs
1383 from the in kernel mac80211 stack.
1384
1385 It can coexist with drivers from drivers/staging/rtl8723au,
1386 drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
1387 but you will need to control which module you wish to load.
1388
1389 RTL8XXXU_UNTESTED is enabled
1390 This option enables detection of Realtek 8723/8188/8191/8192 WiFi
1391 USB devices which have not been tested directly by the driver
1392 author or reported to be working by third parties.
1393
1394 Please report your results!
1395 endef
1396
1397
1398 define KernelPackage/wlcore
1399 $(call KernelPackage/mac80211/Default)
1400 TITLE:=TI common driver part
1401 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
1402 FILES:= \
1403 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
1404 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
1405 AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
1406 endef
1407
1408 define KernelPackage/wlcore/description
1409 This module contains some common parts needed by TI Wireless drivers.
1410 endef
1411
1412 define KernelPackage/wl12xx
1413 $(call KernelPackage/mac80211/Default)
1414 TITLE:=Driver for TI WL12xx
1415 URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
1416 DEPENDS+= +kmod-wlcore +wl12xx-firmware
1417 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
1418 AUTOLOAD:=$(call AutoProbe,wl12xx)
1419 endef
1420
1421 define KernelPackage/wl12xx/description
1422 Kernel modules for TI WL12xx
1423 endef
1424
1425 define KernelPackage/wl18xx
1426 $(call KernelPackage/mac80211/Default)
1427 TITLE:=Driver for TI WL18xx
1428 URL:=http://wireless.kernel.org/en/users/Drivers/wl18xx
1429 DEPENDS+= +kmod-wlcore +wl18xx-firmware
1430 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
1431 AUTOLOAD:=$(call AutoProbe,wl18xx)
1432 endef
1433
1434 define KernelPackage/wl18xx/description
1435 Kernel modules for TI WL18xx
1436 endef
1437
1438
1439 ZD1211FW_NAME:=zd1211-firmware
1440 ZD1211FW_VERSION:=1.4
1441 define Download/zd1211rw
1442 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1443 URL:=@SF/zd1211/
1444 HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
1445 endef
1446 $(eval $(call Download,zd1211rw))
1447
1448 define KernelPackage/zd1211rw
1449 $(call KernelPackage/mac80211/Default)
1450 TITLE:=Zydas ZD1211 support
1451 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1452 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
1453 AUTOLOAD:=$(call AutoProbe,zd1211rw)
1454 endef
1455
1456
1457
1458 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1459
1460 config-y:= \
1461 WLAN \
1462 NL80211_TESTMODE \
1463 CFG80211_WEXT \
1464 CFG80211_INTERNAL_REGDB \
1465 CFG80211_CERTIFICATION_ONUS \
1466 MAC80211_RC_MINSTREL \
1467 MAC80211_RC_MINSTREL_HT \
1468 MAC80211_RC_MINSTREL_VHT \
1469 MAC80211_RC_DEFAULT_MINSTREL \
1470 WLAN_VENDOR_ADMTEK \
1471 WLAN_VENDOR_ATH \
1472 WLAN_VENDOR_ATMEL \
1473 WLAN_VENDOR_BROADCOM \
1474 WLAN_VENDOR_CISCO \
1475 WLAN_VENDOR_INTEL \
1476 WLAN_VENDOR_INTERSIL \
1477 WLAN_VENDOR_MARVELL \
1478 WLAN_VENDOR_MEDIATEK \
1479 WLAN_VENDOR_RALINK \
1480 WLAN_VENDOR_REALTEK \
1481 WLAN_VENDOR_RSI \
1482 WLAN_VENDOR_ST \
1483 WLAN_VENDOR_TI \
1484 WLAN_VENDOR_ZYDAS \
1485
1486 config-$(call config_package,cfg80211) += CFG80211
1487
1488 config-$(call config_package,mac80211) += MAC80211
1489 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1490 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1491 config-y += \
1492 CFG80211_DEBUGFS \
1493 MAC80211_DEBUGFS \
1494 ATH9K_DEBUGFS \
1495 ATH9K_HTC_DEBUGFS \
1496 ATH10K_DEBUGFS \
1497 CARL9170_DEBUGFS \
1498 ATH5K_DEBUG
1499 endif
1500
1501 ifdef CONFIG_PACKAGE_MAC80211_TRACING
1502 config-y += \
1503 ATH10K_TRACING \
1504 ATH6KL_TRACING \
1505 ATH_TRACEPOINTS \
1506 WIL6210_TRACING \
1507 ATH5K_TRACER \
1508 IWLWIFI_DEVICE_TRACING
1509 endif
1510
1511 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1512
1513 config-$(call config_package,airo) += AIRO
1514
1515 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1516 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH9K_STATION_STATISTICS
1517 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
1518
1519 config-$(call config_package,ath9k) += ATH9K
1520 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1521 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1522 config-$(CONFIG_PCI) += ATH9K_PCI
1523 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1524 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
1525 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
1526 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
1527
1528 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1529 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1530
1531 config-$(call config_package,ath5k) += ATH5K
1532 ifdef CONFIG_TARGET_ath25
1533 config-y += ATH5K_AHB
1534 else
1535 config-y += ATH5K_PCI
1536 endif
1537
1538 config-$(call config_package,carl9170) += CARL9170
1539
1540 config-$(call config_package,b43) += B43
1541 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
1542 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
1543 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
1544 config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
1545 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1546 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
1547 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1548 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1549 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1550
1551 config-$(call config_package,b43legacy) += B43LEGACY
1552 config-y += B43LEGACY_DMA_MODE
1553
1554 config-$(call config_package,brcmutil) += BRCMUTIL
1555 config-$(call config_package,brcmsmac) += BRCMSMAC
1556 config-$(call config_package,brcmfmac) += BRCMFMAC
1557 config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
1558 config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
1559 config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
1560 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1561
1562 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1563 config-$(call config_package,mt7601u) += MT7601U
1564 config-y += WL_MEDIATEK
1565
1566 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1567 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1568 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1569 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1570 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1571 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1572
1573 config-$(call config_package,rt2400-pci) += RT2400PCI
1574 config-$(call config_package,rt2500-pci) += RT2500PCI
1575 config-$(call config_package,rt2500-usb) += RT2500USB
1576 config-$(call config_package,rt61-pci) += RT61PCI
1577 config-$(call config_package,rt73-usb) += RT73USB
1578
1579 config-$(call config_package,rt2800-lib) += RT2800_LIB
1580
1581 config-$(call config_package,rt2800-soc) += RT2800SOC
1582 config-$(call config_package,rt2800-pci) += RT2800PCI
1583 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1584
1585 config-$(call config_package,rt2800-usb) += RT2800USB
1586 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
1587
1588 config-$(call config_package,iwl-legacy) += IWLEGACY
1589 config-$(call config_package,iwl3945) += IWL3945
1590 config-$(call config_package,iwl4965) += IWL4965
1591 config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
1592 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
1593 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
1594
1595 config-$(call config_package,libipw) += LIBIPW
1596 config-$(call config_package,ipw2100) += IPW2100
1597 config-$(call config_package,ipw2200) += IPW2200
1598
1599 config-$(call config_package,p54-common) += P54_COMMON
1600 config-$(call config_package,p54-pci) += P54_PCI
1601 config-$(call config_package,p54-usb) += P54_USB
1602 config-$(call config_package,p54-spi) += P54_SPI
1603
1604 config-$(call config_package,hermes) += HERMES
1605 config-$(call config_package,hermes-pci) += PCI_HERMES
1606 config-$(call config_package,hermes-plx) += PLX_HERMES
1607 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
1608 config-y += HERMES_PRISM
1609
1610 config-$(call config_package,adm8211) += ADM8211
1611 config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
1612 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1613 config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
1614 config-$(call config_package,mwl8k) += MWL8K
1615 config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
1616 config-$(call config_package,mwifiex-sdio) += MWIFIEX MWIFIEX_SDIO
1617 config-$(call config_package,rtl8180) += RTL8180
1618 config-$(call config_package,rtl8187) += RTL8187
1619 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1620 config-$(call config_package,wl12xx) += WL12XX
1621 config-$(call config_package,wl18xx) += WL18XX
1622 config-y += WL_TI WILINK_PLATFORM_DATA
1623 config-$(call config_package,zd1211rw) += ZD1211RW
1624
1625 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1626 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1627 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1628 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1629 config-$(call config_package,rtl8192ce) += RTL8192CE
1630 config-$(call config_package,rtl8192se) += RTL8192SE
1631 config-$(call config_package,rtl8192de) += RTL8192DE
1632 config-$(call config_package,rtl8192cu) += RTL8192CU
1633 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1634
1635 config-$(call config_package,rtl8xxxu) += RTL8XXXU
1636 config-y += RTL8XXXU_UNTESTED
1637
1638 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1639
1640 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1641 CROSS_COMPILE="$(KERNEL_CROSS)" \
1642 ARCH="$(LINUX_KARCH)" \
1643 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
1644 KLIB_BUILD="$(LINUX_DIR)" \
1645 MODPROBE=true \
1646 KLIB=$(TARGET_MODULES_DIR) \
1647 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1648 KBUILD_LDFLAGS_MODULE_PREREQ=
1649
1650 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1651 MAKE_OPTS += V=1
1652 endif
1653
1654 define ConfigVars
1655 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1656 ))
1657 endef
1658
1659 define mac80211_config
1660 $(call ConfigVars,m)$(call ConfigVars,y)
1661 endef
1662 $(eval $(call shexport,mac80211_config))
1663
1664 define Build/Prepare
1665 rm -rf $(PKG_BUILD_DIR)
1666 mkdir -p $(PKG_BUILD_DIR)
1667 $(PKG_UNPACK)
1668 $(Build/Patch)
1669 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1670 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1671 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1672 rm -rf \
1673 $(PKG_BUILD_DIR)/include/linux/ssb \
1674 $(PKG_BUILD_DIR)/include/linux/bcma \
1675 $(PKG_BUILD_DIR)/include/net/bluetooth
1676
1677 rm -f \
1678 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1679 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1680 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1681 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1682 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1683 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
1684 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
1685
1686 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1687 $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1688 endef
1689
1690 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1691 define Build/Compile/kmod
1692 rm -rf $(PKG_BUILD_DIR)/modules
1693 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1694 endef
1695 endif
1696
1697 define Build/Configure
1698 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1699 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1700 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1701 endef
1702
1703 define Build/Compile
1704 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1705 $(MAKE) $(MAKE_OPTS) allnoconfig
1706 $(call Build/Compile/kmod)
1707 endef
1708
1709 define Build/InstallDev
1710 mkdir -p \
1711 $(1)/usr/include/mac80211 \
1712 $(1)/usr/include/mac80211-backport \
1713 $(1)/usr/include/mac80211/ath \
1714 $(1)/usr/include/net/mac80211
1715 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1716 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1717 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1718 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1719 rm -f $(1)/usr/include/mac80211-backport/linux/module.h
1720 endef
1721
1722
1723 define KernelPackage/b43/install
1724 rm -rf $(1)/lib/firmware/
1725 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1726 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1727 else
1728 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1729 endif
1730 $(INSTALL_DIR) $(1)/lib/firmware/
1731 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1732 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1733 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1734 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1735 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1736 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1737 else
1738 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1739 endif
1740 ifneq ($(CONFIG_B43_FW_SQUASH),)
1741 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1742 endif
1743 endef
1744
1745 define KernelPackage/brcmsmac/install
1746 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1747 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1748 tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1749 b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1750 endif
1751 endef
1752
1753 define KernelPackage/cfg80211/install
1754 $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
1755 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1756 $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1757 $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
1758 $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/00-wifi-detect
1759 endef
1760
1761 define KernelPackage/ipw2100/install
1762 $(INSTALL_DIR) $(1)/lib/firmware
1763 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1764 endef
1765
1766 define KernelPackage/ipw2200/install
1767 $(INSTALL_DIR) $(1)/lib/firmware
1768 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1769 endef
1770
1771 define KernelPackage/zd1211rw/install
1772 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1773 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1774 endef
1775
1776
1777 $(eval $(call KernelPackage,adm8211))
1778 $(eval $(call KernelPackage,airo))
1779 $(eval $(call KernelPackage,ath))
1780 $(eval $(call KernelPackage,ath10k))
1781 $(eval $(call KernelPackage,ath5k))
1782 $(eval $(call KernelPackage,ath9k))
1783 $(eval $(call KernelPackage,ath9k-common))
1784 $(eval $(call KernelPackage,ath9k-htc))
1785 $(eval $(call KernelPackage,b43))
1786 $(eval $(call KernelPackage,b43legacy))
1787 $(eval $(call KernelPackage,brcmsmac))
1788 $(eval $(call KernelPackage,brcmfmac))
1789 $(eval $(call KernelPackage,brcmutil))
1790 $(eval $(call KernelPackage,carl9170))
1791 $(eval $(call KernelPackage,cfg80211))
1792 $(eval $(call KernelPackage,hermes))
1793 $(eval $(call KernelPackage,hermes-pci))
1794 $(eval $(call KernelPackage,hermes-plx))
1795 $(eval $(call KernelPackage,hermes-pcmcia))
1796 $(eval $(call KernelPackage,iwlwifi))
1797 $(eval $(call KernelPackage,iwl-legacy))
1798 $(eval $(call KernelPackage,iwl4965))
1799 $(eval $(call KernelPackage,iwl3945))
1800 $(eval $(call KernelPackage,lib80211))
1801 $(eval $(call KernelPackage,libertas-usb))
1802 $(eval $(call KernelPackage,libertas-sdio))
1803 $(eval $(call KernelPackage,libertas-spi))
1804 $(eval $(call KernelPackage,libipw))
1805 $(eval $(call KernelPackage,ipw2100))
1806 $(eval $(call KernelPackage,ipw2200))
1807 $(eval $(call KernelPackage,mac80211))
1808 $(eval $(call KernelPackage,mac80211-hwsim))
1809 $(eval $(call KernelPackage,mt7601u))
1810 $(eval $(call KernelPackage,mwl8k))
1811 $(eval $(call KernelPackage,mwifiex-pcie))
1812 $(eval $(call KernelPackage,mwifiex-sdio))
1813 $(eval $(call KernelPackage,p54-common))
1814 $(eval $(call KernelPackage,p54-pci))
1815 $(eval $(call KernelPackage,p54-usb))
1816 $(eval $(call KernelPackage,p54-spi))
1817 $(eval $(call KernelPackage,rt2x00-lib))
1818 $(eval $(call KernelPackage,rt2x00-mmio))
1819 $(eval $(call KernelPackage,rt2x00-pci))
1820 $(eval $(call KernelPackage,rt2x00-usb))
1821 $(eval $(call KernelPackage,rt2800-lib))
1822 $(eval $(call KernelPackage,rt2400-pci))
1823 $(eval $(call KernelPackage,rt2500-pci))
1824 $(eval $(call KernelPackage,rt2500-usb))
1825 $(eval $(call KernelPackage,rt2800-mmio))
1826 $(eval $(call KernelPackage,rt2800-soc))
1827 $(eval $(call KernelPackage,rt2800-pci))
1828 $(eval $(call KernelPackage,rt2800-usb))
1829 $(eval $(call KernelPackage,rt61-pci))
1830 $(eval $(call KernelPackage,rt73-usb))
1831 $(eval $(call KernelPackage,rtl8180))
1832 $(eval $(call KernelPackage,rtl8187))
1833 $(eval $(call KernelPackage,rtlwifi))
1834 $(eval $(call KernelPackage,rtlwifi-pci))
1835 $(eval $(call KernelPackage,rtlwifi-usb))
1836 $(eval $(call KernelPackage,rtl8192c-common))
1837 $(eval $(call KernelPackage,rtl8192ce))
1838 $(eval $(call KernelPackage,rtl8192se))
1839 $(eval $(call KernelPackage,rtl8192de))
1840 $(eval $(call KernelPackage,rtl8192cu))
1841 $(eval $(call KernelPackage,rtl8xxxu))
1842 $(eval $(call KernelPackage,wlcore))
1843 $(eval $(call KernelPackage,wl12xx))
1844 $(eval $(call KernelPackage,wl18xx))
1845 $(eval $(call KernelPackage,zd1211rw))