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