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