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