c5a2577d6ecefe76865677238ed152dcfe653964
[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_RT2X00_LIB_DEBUGFS \
72 CONFIG_PACKAGE_RT2X00_DEBUG \
73 CONFIG_PACKAGE_RTLWIFI_DEBUG \
74 CONFIG_ATH9K_SUPPORT_PCOEM \
75 CONFIG_ATH9K_TX99 \
76 CONFIG_ATH_USER_REGD \
77
78 include $(INCLUDE_DIR)/package.mk
79
80 WMENU:=Wireless Drivers
81
82 define KernelPackage/mac80211/Default
83 SUBMENU:=$(WMENU)
84 URL:=https://wireless.wiki.kernel.org/
85 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
86 endef
87
88 define KernelPackage/cfg80211
89 $(call KernelPackage/mac80211/Default)
90 TITLE:=cfg80211 - wireless configuration API
91 DEPENDS+= +iw
92 FILES:= \
93 $(PKG_BUILD_DIR)/compat/compat.ko \
94 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
95 endef
96
97 define KernelPackage/cfg80211/description
98 cfg80211 is the Linux wireless LAN (802.11) configuration API.
99 endef
100
101 define KernelPackage/mac80211
102 $(call KernelPackage/mac80211/Default)
103 TITLE:=Linux 802.11 Wireless Networking Stack
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&&!TARGET_uml:kmod-mmc \
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 depends on !TARGET_uml
708 default y if TARGET_brcm2708
709 default n
710 help
711 Enable support for cards attached to an SDIO bus.
712 Select this option only if you are sure that your
713 board has a Broadcom wireless chip atacched to
714 that bus.
715
716 config BRCMFMAC_USB
717 bool "Enable USB bus interface support"
718 depends on USB_SUPPORT
719 default y
720 help
721 Supported USB connected chipsets:
722 BCM43235, BCM43236, BCM43238 (all in revision 3 only)
723 BCM43143, BCM43242, BCM43566, BCM43569
724
725 config BRCMFMAC_PCIE
726 bool "Enable PCIE bus interface support"
727 depends on PCI_SUPPORT
728 default y
729 help
730 Supported PCIe connected chipsets:
731 BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
732
733 endif
734 endef
735
736
737 define KernelPackage/carl9170
738 $(call KernelPackage/mac80211/Default)
739 TITLE:=Driver for Atheros AR9170 USB sticks
740 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware
741 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
742 AUTOLOAD:=$(call AutoProbe,carl9170)
743 endef
744
745
746 define KernelPackage/hermes
747 $(call KernelPackage/mac80211/Default)
748 TITLE:=Hermes 802.11b chipset support
749 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
750 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
751 AUTOLOAD:=$(call AutoProbe,orinoco)
752 endef
753
754 define KernelPackage/hermes/description
755 Kernel support for Hermes 802.11b chipsets
756 endef
757
758 define KernelPackage/hermes-pci
759 $(call KernelPackage/mac80211/Default)
760 TITLE:=Intersil Prism 2.5 PCI support
761 DEPENDS:=@PCI_SUPPORT +kmod-hermes
762 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
763 AUTOLOAD:=$(call AutoProbe,orinoco_pci)
764 endef
765
766 define KernelPackage/hermes-pci/description
767 Kernel modules for Intersil Prism 2.5 PCI support
768 endef
769
770 define KernelPackage/hermes-plx
771 $(call KernelPackage/mac80211/Default)
772 TITLE:=PLX9052 based PCI adaptor
773 DEPENDS:=@PCI_SUPPORT +kmod-hermes
774 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
775 AUTOLOAD:=$(call AutoProbe,orinoco_plx)
776 endef
777
778 define KernelPackage/hermes-plx/description
779 Kernel modules for Hermes in PLX9052 based PCI adaptors
780 endef
781
782 define KernelPackage/hermes-pcmcia
783 $(call KernelPackage/mac80211/Default)
784 TITLE:=Hermes based PCMCIA adaptors
785 DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes @BROKEN
786 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
787 AUTOLOAD:=$(call AutoProbe,orinoco_cs)
788 endef
789
790 define KernelPackage/hermes-pcmcia/description
791 Kernel modules for Hermes based PCMCIA adaptors
792 endef
793
794
795 define KernelPackage/iwlwifi
796 $(call KernelPackage/mac80211/Default)
797 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +iwlwifi-firmware @!LINUX_3_18
798 TITLE:=Intel AGN Wireless support
799 FILES:= \
800 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
801 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
802 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
803 AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
804 MENU:=1
805 endef
806
807 define KernelPackage/iwlwifi/description
808 iwlwifi kernel module for
809 Intel Wireless WiFi Link 6250AGN Adapter
810 Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
811 Intel WiFi Link 1000BGN
812 Intel Wireless WiFi 5150AGN
813 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
814 Intel 6005 Series Wi-Fi Adapters
815 Intel 6030 Series Wi-Fi Adapters
816 Intel Wireless WiFi Link 6150BGN 2 Adapter
817 Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
818 Intel 2000 Series Wi-Fi Adapters
819 Intel 7260 Wi-Fi Adapter
820 Intel 3160 Wi-Fi Adapter
821 Intel 7265 Wi-Fi Adapter
822 Intel 8260 Wi-Fi Adapter
823 Intel 3165 Wi-Fi Adapter
824 endef
825
826 define KernelPackage/iwlwifi/config
827 if PACKAGE_kmod-iwlwifi
828
829 config PACKAGE_IWLWIFI_DEBUG
830 bool "Enable full debugging output in the iwlwifi driver"
831 default n
832 help
833 This option will enable debug tracing output for the iwlwifi drivers
834
835 This will result in the kernel module being ~100k larger. You can
836 control which debug output is sent to the kernel log by setting the
837 value in
838
839 /sys/module/iwlwifi/parameters/debug
840
841 This entry will only exist if this option is enabled.
842
843 To set a value, simply echo an 8-byte hex value to the same file:
844
845 % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
846
847 You can find the list of debug mask values in:
848 drivers/net/wireless/intel/iwlwifi/iwl-debug.h
849
850 If this is your first time using this driver, you should say Y here
851 as the debug information can assist others in helping you resolve
852 any problems you may encounter.
853
854 config PACKAGE_IWLWIFI_DEBUGFS
855 bool "iwlwifi debugfs support"
856 depends on PACKAGE_MAC80211_DEBUGFS
857 default n
858 help
859 Enable creation of debugfs files for the iwlwifi drivers. This
860 is a low-impact option that allows getting insight into the
861 driver's state at runtime.
862
863 endif
864 endef
865
866 define KernelPackage/iwl-legacy
867 $(call KernelPackage/mac80211/Default)
868 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
869 TITLE:=Intel legacy Wireless support
870 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
871 AUTOLOAD:=$(call AutoProbe,iwlegacy)
872 endef
873
874 define KernelPackage/iwl-legacy/description
875 iwl-legacy kernel module for legacy Intel wireless support
876 endef
877
878 define KernelPackage/iwl3945
879 $(call KernelPackage/mac80211/Default)
880 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
881 TITLE:=Intel iwl3945 Wireless support
882 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
883 AUTOLOAD:=$(call AutoProbe,iwl3945)
884 endef
885
886 define KernelPackage/iwl3945/description
887 iwl3945 kernel module for Intel 3945 support
888 endef
889
890 define KernelPackage/iwl4965
891 $(call KernelPackage/mac80211/Default)
892 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
893 TITLE:=Intel iwl4965 Wireless support
894 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
895 AUTOLOAD:=$(call AutoProbe,iwl4965)
896 endef
897
898 define KernelPackage/iwl4965/description
899 iwl4965 kernel module for Intel 4965 support
900 endef
901
902
903 define KernelPackage/lib80211
904 $(call KernelPackage/mac80211/Default)
905 TITLE:=802.11 Networking stack
906 DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
907 FILES:= \
908 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
909 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
910 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
911 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
912 AUTOLOAD:=$(call AutoProbe, \
913 lib80211 \
914 lib80211_crypt_wep \
915 lib80211_crypt_ccmp \
916 lib80211_crypt_tkip \
917 )
918 endef
919
920 define KernelPackage/lib80211/description
921 Kernel modules for 802.11 Networking stack
922 Includes:
923 - lib80211
924 - lib80211_crypt_wep
925 - lib80211_crypt_tkip
926 - lib80211_crytp_ccmp
927 endef
928
929
930 define KernelPackage/libipw
931 $(call KernelPackage/mac80211/Default)
932 TITLE:=libipw for ipw2100 and ipw2200
933 DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN
934 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
935 AUTOLOAD:=$(call AutoProbe,libipw)
936 endef
937
938 define KernelPackage/libipw/description
939 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
940 endef
941
942 IPW2100_NAME:=ipw2100-fw
943 IPW2100_VERSION:=1.3
944
945 define Download/ipw2100
946 URL:=http://bughost.org/firmware/
947 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
948 HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
949 endef
950 $(eval $(call Download,ipw2100))
951
952 define KernelPackage/ipw2100
953 $(call KernelPackage/mac80211/Default)
954 TITLE:=Intel IPW2100 driver
955 DEPENDS:=@PCI_SUPPORT +kmod-libipw
956 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
957 AUTOLOAD:=$(call AutoProbe,ipw2100)
958 endef
959
960 define KernelPackage/ipw2100/description
961 Kernel support for Intel IPW2100
962 Includes:
963 - ipw2100
964 endef
965
966 IPW2200_NAME:=ipw2200-fw
967 IPW2200_VERSION:=3.1
968
969 define Download/ipw2200
970 URL:=http://bughost.org/firmware/
971 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
972 HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
973 endef
974 $(eval $(call Download,ipw2200))
975
976 define KernelPackage/ipw2200
977 $(call KernelPackage/mac80211/Default)
978 TITLE:=Intel IPW2200 driver
979 DEPENDS:=@PCI_SUPPORT +kmod-libipw
980 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
981 AUTOLOAD:=$(call AutoProbe,ipw2200)
982 endef
983
984 define KernelPackage/ipw2200/description
985 Kernel support for Intel IPW2200
986 Includes:
987 - ipw2200
988 endef
989
990
991 define KernelPackage/libertas-usb
992 $(call KernelPackage/mac80211/Default)
993 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware
994 TITLE:=Marvell 88W8015 Wireless Driver
995 FILES:= \
996 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
997 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
998 AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
999 endef
1000
1001 define KernelPackage/libertas-sdio
1002 $(call KernelPackage/mac80211/Default)
1003 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware
1004 TITLE:=Marvell 88W8686 Wireless Driver
1005 FILES:= \
1006 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1007 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
1008 AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
1009 endef
1010
1011 define KernelPackage/libertas-spi
1012 $(call KernelPackage/mac80211/Default)
1013 SUBMENU:=Wireless Drivers
1014 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware
1015 KCONFIG := \
1016 CONFIG_SPI=y \
1017 CONFIG_SPI_MASTER=y
1018 TITLE:=Marvell 88W8686 SPI Wireless Driver
1019 FILES:= \
1020 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1021 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
1022 AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
1023 endef
1024
1025 define KernelPackage/mac80211-hwsim
1026 $(call KernelPackage/mac80211/Default)
1027 TITLE:=mac80211 HW simulation device
1028 DEPENDS+= +kmod-mac80211 +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
1029 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
1030 AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
1031 endef
1032
1033
1034 define KernelPackage/mt7601u
1035 $(call KernelPackage/mac80211/Default)
1036 TITLE:=MT7601U-based USB dongles Wireless Driver
1037 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
1038 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
1039 AUTOLOAD:=$(call AutoProbe,mt7601u)
1040 endef
1041
1042
1043 define KernelPackage/mwl8k
1044 $(call KernelPackage/mac80211/Default)
1045 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
1046 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwl8k
1047 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
1048 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
1049 AUTOLOAD:=$(call AutoProbe,mwl8k)
1050 endef
1051
1052 define KernelPackage/mwl8k/description
1053 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
1054 endef
1055
1056
1057 define KernelPackage/mwifiex-pcie
1058 $(call KernelPackage/mac80211/Default)
1059 TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
1060 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
1061 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-pcie-firmware
1062 FILES:= \
1063 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1064 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
1065 AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
1066 endef
1067
1068 define KernelPackage/mwifiex-pcie/description
1069 Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
1070 endef
1071
1072 define KernelPackage/mwifiex-sdio
1073 $(call KernelPackage/mac80211/Default)
1074 TITLE:=Driver for Marvell 802.11n/802.11ac SDIO Wireless cards
1075 URL:=https://wireless.wiki.kernel.org/en/users/drivers/mwifiex
1076 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +mwifiex-sdio-firmware
1077 FILES:= \
1078 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1079 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
1080 AUTOLOAD:=$(call AutoProbe,mwifiex_sdio)
1081 endef
1082
1083 define KernelPackage/mwifiex-sdio/description
1084 Kernel modules for Marvell 802.11n/802.11ac SDIO Wireless cards
1085 endef
1086
1087 define KernelPackage/p54/Default
1088 $(call KernelPackage/mac80211/Default)
1089 TITLE:=Prism54 Drivers
1090 endef
1091
1092 define KernelPackage/p54/description
1093 Kernel module for Prism54 chipsets (mac80211)
1094 endef
1095
1096 define KernelPackage/p54-common
1097 $(call KernelPackage/p54/Default)
1098 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
1099 TITLE+= (COMMON)
1100 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
1101 endef
1102
1103 define KernelPackage/p54-pci
1104 $(call KernelPackage/p54/Default)
1105 TITLE+= (PCI)
1106 DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
1107 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
1108 AUTOLOAD:=$(call AutoProbe,p54pci)
1109 endef
1110
1111 define KernelPackage/p54-usb
1112 $(call KernelPackage/p54/Default)
1113 TITLE+= (USB)
1114 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
1115 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
1116 AUTOLOAD:=$(call AutoProbe,p54usb)
1117 endef
1118
1119 define KernelPackage/p54-spi
1120 $(call KernelPackage/p54/Default)
1121 TITLE+= (SPI)
1122 DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
1123 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
1124 AUTOLOAD:=$(call AutoProbe,p54spi)
1125 endef
1126
1127 define KernelPackage/rt2x00/Default
1128 $(call KernelPackage/mac80211/Default)
1129 TITLE:=Ralink Drivers for RT2x00 cards
1130 endef
1131
1132 define KernelPackage/rt2x00-lib
1133 $(call KernelPackage/rt2x00/Default)
1134 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
1135 TITLE+= (LIB)
1136 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko
1137 MENU:=1
1138 endef
1139
1140 define KernelPackage/rt2x00-lib/config
1141 if PACKAGE_kmod-rt2x00-lib
1142
1143 config PACKAGE_RT2X00_LIB_DEBUGFS
1144 bool "Enable rt2x00 debugfs support"
1145 depends on PACKAGE_MAC80211_DEBUGFS
1146 help
1147 Enable creation of debugfs files for the rt2x00 drivers.
1148 These debugfs files support both reading and writing of the
1149 most important register types of the rt2x00 hardware.
1150
1151 config PACKAGE_RT2X00_DEBUG
1152 bool "Enable rt2x00 debug output"
1153 help
1154 Enable debugging output for all rt2x00 modules
1155
1156 endif
1157 endef
1158
1159 define KernelPackage/rt2x00-mmio
1160 $(call KernelPackage/rt2x00/Default)
1161 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
1162 HIDDEN:=1
1163 TITLE+= (MMIO)
1164 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko
1165 endef
1166
1167 define KernelPackage/rt2x00-pci
1168 $(call KernelPackage/rt2x00/Default)
1169 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
1170 HIDDEN:=1
1171 TITLE+= (PCI)
1172 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko
1173 AUTOLOAD:=$(call AutoProbe,rt2x00pci)
1174 endef
1175
1176 define KernelPackage/rt2x00-usb
1177 $(call KernelPackage/rt2x00/Default)
1178 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
1179 HIDDEN:=1
1180 TITLE+= (USB)
1181 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko
1182 AUTOLOAD:=$(call AutoProbe,rt2x00usb)
1183 endef
1184
1185 define KernelPackage/rt2800-lib
1186 $(call KernelPackage/rt2x00/Default)
1187 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
1188 HIDDEN:=1
1189 TITLE+= (rt2800 LIB)
1190 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko
1191 endef
1192
1193 define KernelPackage/rt2400-pci
1194 $(call KernelPackage/rt2x00/Default)
1195 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1196 TITLE+= (RT2400 PCI)
1197 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko
1198 AUTOLOAD:=$(call AutoProbe,rt2400pci)
1199 endef
1200
1201 define KernelPackage/rt2500-pci
1202 $(call KernelPackage/rt2x00/Default)
1203 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1204 TITLE+= (RT2500 PCI)
1205 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko
1206 AUTOLOAD:=$(call AutoProbe,rt2500pci)
1207 endef
1208
1209 define KernelPackage/rt2500-usb
1210 $(call KernelPackage/rt2x00/Default)
1211 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
1212 TITLE+= (RT2500 USB)
1213 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko
1214 AUTOLOAD:=$(call AutoProbe,rt2500usb)
1215 endef
1216
1217 define KernelPackage/rt2800-mmio
1218 $(call KernelPackage/rt2x00/Default)
1219 TITLE += (RT28xx/RT3xxx MMIO)
1220 DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
1221 HIDDEN:=1
1222 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko
1223 endef
1224
1225 define KernelPackage/rt2800-soc
1226 $(call KernelPackage/rt2x00/Default)
1227 DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
1228 TITLE += (RT28xx/RT3xxx SoC)
1229 FILES := \
1230 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \
1231 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko
1232 AUTOLOAD:=$(call AutoProbe,rt2800soc)
1233 endef
1234
1235 define KernelPackage/rt2800-pci
1236 $(call KernelPackage/rt2x00/Default)
1237 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio +rt2800-pci-firmware
1238 TITLE+= (RT2860 PCI)
1239 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko
1240 AUTOLOAD:=$(call AutoProbe,rt2800pci)
1241 endef
1242
1243 define KernelPackage/rt2800-usb
1244 $(call KernelPackage/rt2x00/Default)
1245 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt +rt2800-usb-firmware
1246 TITLE+= (RT2870 USB)
1247 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko
1248 AUTOLOAD:=$(call AutoProbe,rt2800usb)
1249 endef
1250
1251
1252 define KernelPackage/rt61-pci
1253 $(call KernelPackage/rt2x00/Default)
1254 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +rt61-pci-firmware
1255 TITLE+= (RT2x61 PCI)
1256 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko
1257 AUTOLOAD:=$(call AutoProbe,rt61pci)
1258 endef
1259
1260 define KernelPackage/rt73-usb
1261 $(call KernelPackage/rt2x00/Default)
1262 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +rt73-usb-firmware
1263 TITLE+= (RT73 USB)
1264 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko
1265 AUTOLOAD:=$(call AutoProbe,rt73usb)
1266 endef
1267
1268
1269 define KernelPackage/rtl818x/Default
1270 $(call KernelPackage/mac80211/Default)
1271 TITLE:=Realtek Drivers for RTL818x devices
1272 URL:=https://wireless.wiki.kernel.org/en/users/drivers/rtl8187
1273 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
1274 endef
1275
1276 define KernelPackage/rtl8180
1277 $(call KernelPackage/rtl818x/Default)
1278 DEPENDS+= @PCI_SUPPORT
1279 TITLE+= (RTL8180 PCI)
1280 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
1281 AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
1282 endef
1283
1284 define KernelPackage/rtl8187
1285 $(call KernelPackage/rtl818x/Default)
1286 DEPENDS+= @USB_SUPPORT +kmod-usb-core
1287 TITLE+= (RTL8187 USB)
1288 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
1289 AUTOLOAD:=$(call AutoProbe,rtl8187)
1290 endef
1291
1292 define KernelPackage/rtlwifi/config
1293 config PACKAGE_RTLWIFI_DEBUG
1294 bool "Realtek wireless debugging"
1295 depends on PACKAGE_kmod-rtlwifi
1296 help
1297 Say Y, if you want to debug realtek wireless drivers.
1298
1299 endef
1300
1301 define KernelPackage/rtlwifi
1302 $(call KernelPackage/mac80211/Default)
1303 TITLE:=Realtek common driver part
1304 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
1305 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
1306 HIDDEN:=1
1307 endef
1308
1309 define KernelPackage/rtlwifi-pci
1310 $(call KernelPackage/mac80211/Default)
1311 TITLE:=Realtek common driver part (PCI support)
1312 DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
1313 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
1314 AUTOLOAD:=$(call AutoProbe,rtl_pci)
1315 HIDDEN:=1
1316 endef
1317
1318 define KernelPackage/rtlwifi-usb
1319 $(call KernelPackage/mac80211/Default)
1320 TITLE:=Realtek common driver part (USB support)
1321 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
1322 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
1323 AUTOLOAD:=$(call AutoProbe,rtl_usb)
1324 HIDDEN:=1
1325 endef
1326
1327 define KernelPackage/rtl8192c-common
1328 $(call KernelPackage/mac80211/Default)
1329 TITLE:=Realtek RTL8192CE/RTL8192CU common support module
1330 DEPENDS+= +kmod-rtlwifi
1331 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
1332 HIDDEN:=1
1333 endef
1334
1335 define KernelPackage/rtl8192ce
1336 $(call KernelPackage/mac80211/Default)
1337 TITLE:=Realtek RTL8192CE/RTL8188CE support
1338 DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
1339 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
1340 AUTOLOAD:=$(call AutoProbe,rtl8192ce)
1341 endef
1342
1343 define KernelPackage/rtl8192se
1344 $(call KernelPackage/mac80211/Default)
1345 TITLE:=Realtek RTL8192SE/RTL8191SE support
1346 DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
1347 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
1348 AUTOLOAD:=$(call AutoProbe,rtl8192se)
1349 endef
1350
1351 define KernelPackage/rtl8192de
1352 $(call KernelPackage/mac80211/Default)
1353 TITLE:=Realtek RTL8192DE/RTL8188DE support
1354 DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
1355 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
1356 AUTOLOAD:=$(call AutoProbe,rtl8192de)
1357 endef
1358
1359 define KernelPackage/rtl8192cu
1360 $(call KernelPackage/mac80211/Default)
1361 TITLE:=Realtek RTL8192CU/RTL8188CU support
1362 DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
1363 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
1364 AUTOLOAD:=$(call AutoProbe,rtl8192cu)
1365 endef
1366
1367
1368 define KernelPackage/rtl8xxxu
1369 $(call KernelPackage/mac80211/Default)
1370 TITLE:=alternative Realtek RTL8XXXU support
1371 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1372 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
1373 AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
1374 endef
1375
1376 define KernelPackage/rtl8xxxu/description
1377 This is an alternative driver for various Realtek RTL8XXX
1378 parts written to utilize the Linux mac80211 stack.
1379 The driver is known to work with a number of RTL8723AU,
1380 RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
1381
1382 This driver is under development and has a limited feature
1383 set. In particular it does not yet support 40MHz channels
1384 and power management. However it should have a smaller
1385 memory footprint than the vendor drivers and benetifs
1386 from the in kernel mac80211 stack.
1387
1388 It can coexist with drivers from drivers/staging/rtl8723au,
1389 drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
1390 but you will need to control which module you wish to load.
1391
1392 RTL8XXXU_UNTESTED is enabled
1393 This option enables detection of Realtek 8723/8188/8191/8192 WiFi
1394 USB devices which have not been tested directly by the driver
1395 author or reported to be working by third parties.
1396
1397 Please report your results!
1398 endef
1399
1400
1401 define KernelPackage/wlcore
1402 $(call KernelPackage/mac80211/Default)
1403 TITLE:=TI common driver part
1404 DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT
1405 FILES:= \
1406 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
1407 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
1408 AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
1409 endef
1410
1411 define KernelPackage/wlcore/description
1412 This module contains some common parts needed by TI Wireless drivers.
1413 endef
1414
1415 define KernelPackage/wl12xx
1416 $(call KernelPackage/mac80211/Default)
1417 TITLE:=Driver for TI WL12xx
1418 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl12xx
1419 DEPENDS+= +kmod-wlcore +wl12xx-firmware
1420 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
1421 AUTOLOAD:=$(call AutoProbe,wl12xx)
1422 endef
1423
1424 define KernelPackage/wl12xx/description
1425 Kernel modules for TI WL12xx
1426 endef
1427
1428 define KernelPackage/wl18xx
1429 $(call KernelPackage/mac80211/Default)
1430 TITLE:=Driver for TI WL18xx
1431 URL:=https://wireless.wiki.kernel.org/en/users/drivers/wl18xx
1432 DEPENDS+= +kmod-wlcore +wl18xx-firmware
1433 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
1434 AUTOLOAD:=$(call AutoProbe,wl18xx)
1435 endef
1436
1437 define KernelPackage/wl18xx/description
1438 Kernel modules for TI WL18xx
1439 endef
1440
1441
1442 ZD1211FW_NAME:=zd1211-firmware
1443 ZD1211FW_VERSION:=1.4
1444 define Download/zd1211rw
1445 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1446 URL:=@SF/zd1211/
1447 HASH:=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
1448 endef
1449 $(eval $(call Download,zd1211rw))
1450
1451 define KernelPackage/zd1211rw
1452 $(call KernelPackage/mac80211/Default)
1453 TITLE:=Zydas ZD1211 support
1454 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1455 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
1456 AUTOLOAD:=$(call AutoProbe,zd1211rw)
1457 endef
1458
1459
1460
1461 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1462
1463 config-y:= \
1464 WLAN \
1465 NL80211_TESTMODE \
1466 CFG80211_WEXT \
1467 CFG80211_INTERNAL_REGDB \
1468 CFG80211_CERTIFICATION_ONUS \
1469 MAC80211_RC_MINSTREL \
1470 MAC80211_RC_MINSTREL_HT \
1471 MAC80211_RC_MINSTREL_VHT \
1472 MAC80211_RC_DEFAULT_MINSTREL \
1473 WLAN_VENDOR_ADMTEK \
1474 WLAN_VENDOR_ATH \
1475 WLAN_VENDOR_ATMEL \
1476 WLAN_VENDOR_BROADCOM \
1477 WLAN_VENDOR_CISCO \
1478 WLAN_VENDOR_INTEL \
1479 WLAN_VENDOR_INTERSIL \
1480 WLAN_VENDOR_MARVELL \
1481 WLAN_VENDOR_MEDIATEK \
1482 WLAN_VENDOR_RALINK \
1483 WLAN_VENDOR_REALTEK \
1484 WLAN_VENDOR_RSI \
1485 WLAN_VENDOR_ST \
1486 WLAN_VENDOR_TI \
1487 WLAN_VENDOR_ZYDAS \
1488
1489 config-$(call config_package,cfg80211) += CFG80211
1490
1491 config-$(call config_package,mac80211) += MAC80211
1492 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1493 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1494 config-y += \
1495 CFG80211_DEBUGFS \
1496 MAC80211_DEBUGFS \
1497 ATH9K_DEBUGFS \
1498 ATH9K_HTC_DEBUGFS \
1499 ATH10K_DEBUGFS \
1500 CARL9170_DEBUGFS \
1501 ATH5K_DEBUG
1502 endif
1503
1504 ifdef CONFIG_PACKAGE_MAC80211_TRACING
1505 config-y += \
1506 ATH10K_TRACING \
1507 ATH6KL_TRACING \
1508 ATH_TRACEPOINTS \
1509 WIL6210_TRACING \
1510 ATH5K_TRACER \
1511 IWLWIFI_DEVICE_TRACING
1512 endif
1513
1514 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1515
1516 config-$(call config_package,airo) += AIRO
1517
1518 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1519 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH9K_STATION_STATISTICS
1520 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
1521
1522 config-$(call config_package,ath9k) += ATH9K
1523 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1524 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1525 config-$(CONFIG_TARGET_ipq806x) += ATH10K_AHB
1526 config-$(CONFIG_PCI) += ATH9K_PCI
1527 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1528 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
1529 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
1530 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
1531
1532 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1533 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1534
1535 config-$(call config_package,ath5k) += ATH5K
1536 ifdef CONFIG_TARGET_ath25
1537 config-y += ATH5K_AHB
1538 else
1539 config-y += ATH5K_PCI
1540 endif
1541
1542 config-$(call config_package,carl9170) += CARL9170
1543
1544 config-$(call config_package,b43) += B43
1545 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
1546 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
1547 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
1548 config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
1549 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1550 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
1551 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1552 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1553 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1554
1555 config-$(call config_package,b43legacy) += B43LEGACY
1556 config-y += B43LEGACY_DMA_MODE
1557
1558 config-$(call config_package,brcmutil) += BRCMUTIL
1559 config-$(call config_package,brcmsmac) += BRCMSMAC
1560 config-$(call config_package,brcmfmac) += BRCMFMAC
1561 config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
1562 config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
1563 config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
1564 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1565
1566 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1567 config-$(call config_package,mt7601u) += MT7601U
1568 config-y += WL_MEDIATEK
1569
1570 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1571 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1572 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1573 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1574 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1575 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1576
1577 config-$(call config_package,rt2400-pci) += RT2400PCI
1578 config-$(call config_package,rt2500-pci) += RT2500PCI
1579 config-$(call config_package,rt2500-usb) += RT2500USB
1580 config-$(call config_package,rt61-pci) += RT61PCI
1581 config-$(call config_package,rt73-usb) += RT73USB
1582
1583 config-$(call config_package,rt2800-lib) += RT2800_LIB
1584
1585 config-$(call config_package,rt2800-soc) += RT2800SOC
1586 config-$(call config_package,rt2800-pci) += RT2800PCI
1587 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1588
1589 config-$(call config_package,rt2800-usb) += RT2800USB
1590 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
1591
1592 config-$(call config_package,iwl-legacy) += IWLEGACY
1593 config-$(call config_package,iwl3945) += IWL3945
1594 config-$(call config_package,iwl4965) += IWL4965
1595 config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
1596 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
1597 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
1598
1599 config-$(call config_package,libipw) += LIBIPW
1600 config-$(call config_package,ipw2100) += IPW2100
1601 config-$(call config_package,ipw2200) += IPW2200
1602
1603 config-$(call config_package,p54-common) += P54_COMMON
1604 config-$(call config_package,p54-pci) += P54_PCI
1605 config-$(call config_package,p54-usb) += P54_USB
1606 config-$(call config_package,p54-spi) += P54_SPI
1607
1608 config-$(call config_package,hermes) += HERMES
1609 config-$(call config_package,hermes-pci) += PCI_HERMES
1610 config-$(call config_package,hermes-plx) += PLX_HERMES
1611 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
1612 config-y += HERMES_PRISM
1613
1614 config-$(call config_package,adm8211) += ADM8211
1615 config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
1616 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1617 config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
1618 config-$(call config_package,mwl8k) += MWL8K
1619 config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
1620 config-$(call config_package,mwifiex-sdio) += MWIFIEX MWIFIEX_SDIO
1621 config-$(call config_package,rtl8180) += RTL8180
1622 config-$(call config_package,rtl8187) += RTL8187
1623 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1624 config-$(call config_package,wl12xx) += WL12XX
1625 config-$(call config_package,wl18xx) += WL18XX
1626 config-y += WL_TI WILINK_PLATFORM_DATA
1627 config-$(call config_package,zd1211rw) += ZD1211RW
1628
1629 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1630 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1631 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1632 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1633 config-$(call config_package,rtl8192ce) += RTL8192CE
1634 config-$(call config_package,rtl8192se) += RTL8192SE
1635 config-$(call config_package,rtl8192de) += RTL8192DE
1636 config-$(call config_package,rtl8192cu) += RTL8192CU
1637 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1638
1639 config-$(call config_package,rtl8xxxu) += RTL8XXXU
1640 config-y += RTL8XXXU_UNTESTED
1641
1642 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1643
1644 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1645 CROSS_COMPILE="$(KERNEL_CROSS)" \
1646 ARCH="$(LINUX_KARCH)" \
1647 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
1648 KLIB_BUILD="$(LINUX_DIR)" \
1649 MODPROBE=true \
1650 KLIB=$(TARGET_MODULES_DIR) \
1651 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1652 KBUILD_LDFLAGS_MODULE_PREREQ=
1653
1654 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1655 MAKE_OPTS += V=1
1656 endif
1657
1658 define ConfigVars
1659 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1660 ))
1661 endef
1662
1663 define mac80211_config
1664 $(call ConfigVars,m)$(call ConfigVars,y)
1665 endef
1666 $(eval $(call shexport,mac80211_config))
1667
1668 define Build/Prepare
1669 rm -rf $(PKG_BUILD_DIR)
1670 mkdir -p $(PKG_BUILD_DIR)
1671 $(PKG_UNPACK)
1672 $(Build/Patch)
1673 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1674 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1675 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1676 rm -rf \
1677 $(PKG_BUILD_DIR)/include/linux/ssb \
1678 $(PKG_BUILD_DIR)/include/linux/bcma \
1679 $(PKG_BUILD_DIR)/include/net/bluetooth
1680
1681 rm -f \
1682 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1683 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1684 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1685 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1686 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1687 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
1688 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
1689
1690 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1691 $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1692 endef
1693
1694 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1695 define Build/Compile/kmod
1696 rm -rf $(PKG_BUILD_DIR)/modules
1697 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1698 endef
1699 endif
1700
1701 define Build/Configure
1702 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1703 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1704 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1705 endef
1706
1707 define Build/Compile
1708 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1709 $(MAKE) $(MAKE_OPTS) allnoconfig
1710 $(call Build/Compile/kmod)
1711 endef
1712
1713 define Build/InstallDev
1714 mkdir -p \
1715 $(1)/usr/include/mac80211 \
1716 $(1)/usr/include/mac80211-backport \
1717 $(1)/usr/include/mac80211/ath \
1718 $(1)/usr/include/net/mac80211
1719 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1720 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1721 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1722 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1723 rm -f $(1)/usr/include/mac80211-backport/linux/module.h
1724 endef
1725
1726
1727 define KernelPackage/b43/install
1728 rm -rf $(1)/lib/firmware/
1729 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1730 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1731 else
1732 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1733 endif
1734 $(INSTALL_DIR) $(1)/lib/firmware/
1735 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1736 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1737 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1738 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1739 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1740 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1741 else
1742 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1743 endif
1744 ifneq ($(CONFIG_B43_FW_SQUASH),)
1745 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1746 endif
1747 endef
1748
1749 define KernelPackage/brcmsmac/install
1750 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1751 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1752 tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1753 b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1754 endif
1755 endef
1756
1757 define KernelPackage/cfg80211/install
1758 $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
1759 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1760 $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1761 $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211
1762 $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/00-wifi-detect
1763 endef
1764
1765 define KernelPackage/ipw2100/install
1766 $(INSTALL_DIR) $(1)/lib/firmware
1767 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1768 endef
1769
1770 define KernelPackage/ipw2200/install
1771 $(INSTALL_DIR) $(1)/lib/firmware
1772 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1773 endef
1774
1775 define KernelPackage/zd1211rw/install
1776 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1777 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1778 endef
1779
1780
1781 $(eval $(call KernelPackage,adm8211))
1782 $(eval $(call KernelPackage,airo))
1783 $(eval $(call KernelPackage,ath))
1784 $(eval $(call KernelPackage,ath10k))
1785 $(eval $(call KernelPackage,ath5k))
1786 $(eval $(call KernelPackage,ath9k))
1787 $(eval $(call KernelPackage,ath9k-common))
1788 $(eval $(call KernelPackage,ath9k-htc))
1789 $(eval $(call KernelPackage,b43))
1790 $(eval $(call KernelPackage,b43legacy))
1791 $(eval $(call KernelPackage,brcmsmac))
1792 $(eval $(call KernelPackage,brcmfmac))
1793 $(eval $(call KernelPackage,brcmutil))
1794 $(eval $(call KernelPackage,carl9170))
1795 $(eval $(call KernelPackage,cfg80211))
1796 $(eval $(call KernelPackage,hermes))
1797 $(eval $(call KernelPackage,hermes-pci))
1798 $(eval $(call KernelPackage,hermes-plx))
1799 $(eval $(call KernelPackage,hermes-pcmcia))
1800 $(eval $(call KernelPackage,iwlwifi))
1801 $(eval $(call KernelPackage,iwl-legacy))
1802 $(eval $(call KernelPackage,iwl4965))
1803 $(eval $(call KernelPackage,iwl3945))
1804 $(eval $(call KernelPackage,lib80211))
1805 $(eval $(call KernelPackage,libertas-usb))
1806 $(eval $(call KernelPackage,libertas-sdio))
1807 $(eval $(call KernelPackage,libertas-spi))
1808 $(eval $(call KernelPackage,libipw))
1809 $(eval $(call KernelPackage,ipw2100))
1810 $(eval $(call KernelPackage,ipw2200))
1811 $(eval $(call KernelPackage,mac80211))
1812 $(eval $(call KernelPackage,mac80211-hwsim))
1813 $(eval $(call KernelPackage,mt7601u))
1814 $(eval $(call KernelPackage,mwl8k))
1815 $(eval $(call KernelPackage,mwifiex-pcie))
1816 $(eval $(call KernelPackage,mwifiex-sdio))
1817 $(eval $(call KernelPackage,p54-common))
1818 $(eval $(call KernelPackage,p54-pci))
1819 $(eval $(call KernelPackage,p54-usb))
1820 $(eval $(call KernelPackage,p54-spi))
1821 $(eval $(call KernelPackage,rt2x00-lib))
1822 $(eval $(call KernelPackage,rt2x00-mmio))
1823 $(eval $(call KernelPackage,rt2x00-pci))
1824 $(eval $(call KernelPackage,rt2x00-usb))
1825 $(eval $(call KernelPackage,rt2800-lib))
1826 $(eval $(call KernelPackage,rt2400-pci))
1827 $(eval $(call KernelPackage,rt2500-pci))
1828 $(eval $(call KernelPackage,rt2500-usb))
1829 $(eval $(call KernelPackage,rt2800-mmio))
1830 $(eval $(call KernelPackage,rt2800-soc))
1831 $(eval $(call KernelPackage,rt2800-pci))
1832 $(eval $(call KernelPackage,rt2800-usb))
1833 $(eval $(call KernelPackage,rt61-pci))
1834 $(eval $(call KernelPackage,rt73-usb))
1835 $(eval $(call KernelPackage,rtl8180))
1836 $(eval $(call KernelPackage,rtl8187))
1837 $(eval $(call KernelPackage,rtlwifi))
1838 $(eval $(call KernelPackage,rtlwifi-pci))
1839 $(eval $(call KernelPackage,rtlwifi-usb))
1840 $(eval $(call KernelPackage,rtl8192c-common))
1841 $(eval $(call KernelPackage,rtl8192ce))
1842 $(eval $(call KernelPackage,rtl8192se))
1843 $(eval $(call KernelPackage,rtl8192de))
1844 $(eval $(call KernelPackage,rtl8192cu))
1845 $(eval $(call KernelPackage,rtl8xxxu))
1846 $(eval $(call KernelPackage,wlcore))
1847 $(eval $(call KernelPackage,wl12xx))
1848 $(eval $(call KernelPackage,wl18xx))
1849 $(eval $(call KernelPackage,zd1211rw))