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

Archive Download this file



interactive