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