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

Archive Download this file



interactive