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