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