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