Root/package/mac80211/Makefile

1#
2# Copyright (C) 2007-2010 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:=2010-07-29
14PKG_RELEASE:=1
15PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16# http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
17# http://wireless.kernel.org/download/compat-wireless-2.6
18PKG_MD5SUM:=fcfb757939c4718efbf9c87ca59c6932
19
20PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
21PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
22
23PKG_CONFIG_DEPENDS:= \
24    CONFIG_PACKAGE_kmod-mac80211 \
25    CONFIG_PACKAGE_MAC80211_DEBUGFS \
26    CONFIG_PACKAGE_ATH9K_USE_MINSTREL \
27    CONFIG_PACKAGE_ATH_DEBUG \
28    CONFIG_ATH_USER_REGD \
29
30include $(INCLUDE_DIR)/package.mk
31
32WMENU:=Wireless Drivers
33
34define KernelPackage/mac80211/Default
35  SUBMENU:=$(WMENU)
36  URL:=http://linuxwireless.org/
37  MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
38  DEPENDS:=@!LINUX_2_4 @(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
39endef
40
41define KernelPackage/cfg80211
42  $(call KernelPackage/mac80211/Default)
43  TITLE:=cfg80211 - wireless configuration API
44  DEPENDS+= +wireless-tools +iw @!LINUX_2_6_25
45ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
46  FILES:= \
47    $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
48    $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
49  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
50else
51  FILES:= \
52    $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
53    $(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \
54    $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
55  AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
56endif
57endef
58
59define KernelPackage/cfg80211/description
60cfg80211 is the Linux wireless LAN (802.11) configuration API.
61endef
62
63define KernelPackage/mac80211
64  $(call KernelPackage/mac80211/Default)
65  TITLE:=Linux 802.11 Wireless Networking Stack
66  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
67  FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX)
68  AUTOLOAD:=$(call AutoLoad,21,mac80211)
69  MENU:=1
70endef
71
72define KernelPackage/mac80211/config
73    menu "Configuration"
74        depends on PACKAGE_kmod-mac80211
75
76    config PACKAGE_MAC80211_DEBUGFS
77        bool "Export mac80211 internals in DebugFS"
78        default y
79        help
80          Select this to see extensive information about
81          the internal state of mac80211 in debugfs.
82
83          Say N unless you know you need this.
84
85    endmenu
86endef
87
88define KernelPackage/mac80211/description
89Generic IEEE 802.11 Networking Stack (mac80211)
90endef
91
92# Prism54 drivers
93P54PCIFW:=2.13.12.0.arm
94P54USBFW:=2.13.24.0.lm87.arm
95
96define Download/p54usb
97  FILE:=$(P54USBFW)
98  URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
99  MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
100endef
101$(eval $(call Download,p54usb))
102
103define Download/p54pci
104  FILE:=$(P54PCIFW)
105  URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
106  MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
107endef
108$(eval $(call Download,p54pci))
109
110define KernelPackage/p54/Default
111  $(call KernelPackage/mac80211/Default)
112  TITLE:=Prism54 Drivers
113endef
114
115define KernelPackage/p54/description
116  Kernel module for Prism54 chipsets (mac80211)
117endef
118
119define KernelPackage/p54-common
120  $(call KernelPackage/p54/Default)
121  DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
122  TITLE+= (COMMON)
123  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
124  AUTOLOAD:=$(call AutoLoad,30,p54common)
125endef
126
127define KernelPackage/p54-pci
128  $(call KernelPackage/p54/Default)
129  TITLE+= (PCI)
130  DEPENDS+= @PCI_SUPPORT +kmod-p54-common
131  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
132  AUTOLOAD:=$(call AutoLoad,31,p54pci)
133endef
134
135define KernelPackage/p54-usb
136  $(call KernelPackage/p54/Default)
137  TITLE+= (USB)
138  DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
139  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
140  AUTOLOAD:=$(call AutoLoad,31,p54usb)
141endef
142
143# Ralink rt2x00 drivers
144RT61FW:=RT61_Firmware_V1.2.zip
145RT71FW:=RT71W_Firmware_V1.8.zip
146RT2860FW:=RT2860_Firmware_V11.zip
147RT2870FW:=RT2870_Firmware_V8.zip
148
149define Download/rt61
150  FILE:=$(RT61FW)
151  URL:=http://www.ralinktech.com.tw/data/
152  MD5SUM:=d4c690c93b470bc9a681297c2adc6281
153endef
154$(eval $(call Download,rt61))
155
156define Download/rt71w
157  FILE:=$(RT71FW)
158  URL:=http://www.ralinktech.com.tw/data/
159  MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
160endef
161$(eval $(call Download,rt71w))
162
163define Download/rt2860
164  FILE:=$(RT2860FW)
165  URL:=http://www.ralinktech.com.tw/data/drivers
166  MD5SUM:=440a81756a52c53528f16faa41c40124
167endef
168$(eval $(call Download,rt2860))
169
170define Download/rt2870
171  FILE:=$(RT2870FW)
172  URL:=http://www.ralinktech.com.tw/data/drivers
173  MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
174endef
175$(eval $(call Download,rt2870))
176
177AR9170FW:=ar9170.fw
178
179define Download/ar9170
180  FILE:=$(AR9170FW)
181  URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
182  MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
183endef
184$(eval $(call Download,ar9170))
185
186NEED_RT2X00_LIB_CRYPTO:=y
187NEED_RT2X00_LIB_FIRMWARE:=y
188NEED_RT2X00_LIB_HT:=y
189NEED_RT2X00_LIB_LEDS:=y
190
191define KernelPackage/rt2x00/Default
192  $(call KernelPackage/mac80211/Default)
193  TITLE:=Ralink Drivers for RT2x00 cards
194endef
195
196define KernelPackage/rt2x00-lib
197$(call KernelPackage/rt2x00/Default)
198  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
199  TITLE+= (LIB)
200  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
201  AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
202  MENU:=1
203endef
204
205define KernelPackage/rt2x00-lib/config
206    menu "Configuration"
207        depends PACKAGE_kmod-rt2x00-lib
208
209    config PACKAGE_RT2X00_LIB_DEBUGFS
210        bool "Enable rt2x00 debugfs support"
211        depends PACKAGE_MAC80211_DEBUGFS
212        help
213          Enable creation of debugfs files for the rt2x00 drivers.
214          These debugfs files support both reading and writing of the
215          most important register types of the rt2x00 hardware.
216
217    config PACKAGE_RT2X00_DEBUG
218        bool "Enable rt2x00 debug output"
219        help
220          Enable debugging output for all rt2x00 modules
221
222    endmenu
223endef
224
225define KernelPackage/rt2x00-pci
226$(call KernelPackage/rt2x00/Default)
227  DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
228  TITLE+= (PCI)
229  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
230  AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
231endef
232
233define KernelPackage/rt2x00-usb
234$(call KernelPackage/rt2x00/Default)
235  DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
236  TITLE+= (USB)
237  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
238  AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
239endef
240
241define KernelPackage/rt2x00-soc
242$(call KernelPackage/rt2x00/Default)
243  DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
244  TITLE+= (SoC)
245  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.$(LINUX_KMOD_SUFFIX)
246  AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
247endef
248
249define KernelPackage/rt2800-lib
250$(call KernelPackage/rt2x00/Default)
251  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc
252  TITLE+= (rt2800 LIB)
253  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.$(LINUX_KMOD_SUFFIX)
254  AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
255endef
256
257define KernelPackage/rt2400-pci
258$(call KernelPackage/rt2x00/Default)
259  DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
260  TITLE+= (RT2400 PCI)
261  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
262  AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
263endef
264
265define KernelPackage/rt2500-pci
266$(call KernelPackage/rt2x00/Default)
267  DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
268  TITLE+= (RT2500 PCI)
269  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
270  AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
271endef
272
273define KernelPackage/rt2500-usb
274$(call KernelPackage/rt2x00/Default)
275  DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
276  TITLE+= (RT2500 USB)
277  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
278  AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
279endef
280
281define KernelPackage/rt61-pci
282$(call KernelPackage/rt2x00/Default)
283  DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
284  TITLE+= (RT2x61 PCI)
285  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
286  AUTOLOAD:=$(call AutoLoad,27,rt61pci)
287endef
288
289define KernelPackage/rt73-usb
290  $(call KernelPackage/rt2x00/Default)
291  DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
292  TITLE+= (RT73 USB)
293  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
294  AUTOLOAD:=$(call AutoLoad,27,rt73usb)
295endef
296
297define KernelPackage/rt2800-pci
298$(call KernelPackage/rt2x00/Default)
299  DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
300  TITLE+= (RT2860 PCI)
301  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
302  AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
303endef
304
305define KernelPackage/rt2800-usb
306$(call KernelPackage/rt2x00/Default)
307  DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
308  TITLE+= (RT2870 USB)
309  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
310  AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
311endef
312
313define KernelPackage/rtl818x/Default
314  $(call KernelPackage/mac80211/Default)
315  TITLE:=Realtek Drivers for RTL818x devices
316  URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
317  DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
318endef
319
320define KernelPackage/rtl8180
321  $(call KernelPackage/rtl818x/Default)
322  DEPENDS+= @PCI_SUPPORT
323  TITLE+= (RTL8180 PCI)
324  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
325  AUTOLOAD:=$(call AutoLoad,27,rtl8180)
326endef
327
328define KernelPackage/rtl8187
329$(call KernelPackage/rtl818x/Default)
330  DEPENDS+= @USB_SUPPORT
331  TITLE+= (RTL8187 USB)
332  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
333  AUTOLOAD:=$(call AutoLoad,27,rtl8187)
334endef
335
336ZD1211FW_NAME:=zd1211-firmware
337ZD1211FW_VERSION:=1.4
338define Download/zd1211rw
339  FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
340  URL:=@SF/zd1211/
341  MD5SUM:=19f28781d76569af8551c9d11294c870
342endef
343$(eval $(call Download,zd1211rw))
344
345define KernelPackage/zd1211rw
346  $(call KernelPackage/mac80211/Default)
347  TITLE:=Zydas ZD1211 support
348  DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
349  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
350  AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
351endef
352
353define KernelPackage/ath/config
354    menu "Configuration"
355        depends on PACKAGE_kmod-ath
356
357    config ATH_USER_REGD
358        bool "Force Atheros drivers to respect the user's regdomain settings"
359        help
360          Atheros' idea of regulatory handling is that the EEPROM of the card defines
361          the regulatory limits and the user is only allowed to restrict the settings
362          even further, even if the country allows frequencies or power levels that
363          are forbidden by the EEPROM settings.
364
365          Select this option if you want the driver to respect the user's decision about
366          regulatory settings.
367
368    config PACKAGE_ATH_DEBUG
369        bool "Atheros wireless debugging"
370        help
371          Say Y, if you want to debug atheros wireless drivers.
372          Right now only ath9k makes use of this.
373
374    endmenu
375endef
376
377define KernelPackage/ath
378  $(call KernelPackage/mac80211/Default)
379  TITLE:=Atheros common driver part
380  DEPENDS+= @PCI_SUPPORT +kmod-mac80211
381  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
382  AUTOLOAD:=$(call AutoLoad,26,ath)
383  MENU:=1
384endef
385
386define KernelPackage/ath/description
387 This module contains some common parts needed by Atheros Wireless drivers.
388endef
389
390define KernelPackage/ath5k
391  $(call KernelPackage/mac80211/Default)
392  TITLE:=Atheros 5xxx wireless cards support
393  URL:=http://linuxwireless.org/en/users/Drivers/ath5k
394  DEPENDS+= +kmod-ath
395  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
396  AUTOLOAD:=$(call AutoLoad,27,ath5k)
397endef
398
399define KernelPackage/ath5k/description
400 This module adds support for wireless adapters based on
401 Atheros 5xxx chipset.
402endef
403
404define KernelPackage/ath9k
405  $(call KernelPackage/mac80211/Default)
406  TITLE:=Atheros 802.11n wireless cards support
407  URL:=http://linuxwireless.org/en/users/Drivers/ath9k
408  DEPENDS+= +kmod-ath
409  FILES:= \
410    $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
411    $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
412    $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
413  AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
414  MENU:=1
415endef
416
417define KernelPackage/ath9k/description
418This module adds support for wireless adapters based on
419Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
420endef
421
422define KernelPackage/ath9k/config
423    menu "Configuration"
424        depends PACKAGE_kmod-ath9k
425
426    config PACKAGE_ATH9K_USE_MINSTREL
427        bool "use the new minstrel_ht rate control for ath9k"
428        default y
429
430    endmenu
431endef
432
433USB8388FW_NAME:=usb8388
434USB8388FW_VERSION:=5.110.22.p23
435
436define Download/usb8388
437  URL:=http://dev.laptop.org/pub/firmware/libertas/
438  FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
439  MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
440endef
441$(eval $(call Download,usb8388))
442
443SD8686FW_NAME:=sd8686
444SD8686FW_VERSION:=9.70.7.p0
445
446define Download/sd8686
447  URL:=http://dev.laptop.org/pub/firmware/libertas/
448  FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
449  MD5SUM=b4f8be61e19780a14836f146c538c5dd
450endef
451$(eval $(call Download,sd8686))
452
453SD8686HELPER_NAME:=sd8686_helper
454
455define Download/sd8686_helper
456  URL:=http://dev.laptop.org/pub/firmware/libertas/
457  FILE:=$(SD8686HELPER_NAME).bin
458  MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
459endef
460$(eval $(call Download,sd8686_helper))
461
462define KernelPackage/libertas-usb
463  $(call KernelPackage/mac80211/Default)
464  DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
465  TITLE:=Marvell 88W8015 Wireless Driver
466  FILES:= \
467    $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
468    $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
469  AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
470endef
471
472define KernelPackage/libertas-sd
473  $(call KernelPackage/mac80211/Default)
474  DEPENDS+= +kmod-mac80211 +kmod-lib80211
475  TITLE:=Marvell 88W8686 Wireless Driver
476  FILES:= \
477    $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
478    $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.$(LINUX_KMOD_SUFFIX)
479  AUTOLOAD:=$(call AutoLoad,27,libertas libertas_sdio)
480endef
481
482define KernelPackage/ar9170
483  $(call KernelPackage/mac80211/Default)
484  TITLE:=Atheros AR9170 802.11n USB support
485  URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
486  DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
487  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
488  AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
489endef
490
491define KernelPackage/ar9170/description
492 This is a driver for the Atheros "otus" 802.11n USB devices.
493endef
494
495define KernelPackage/mac80211-hwsim
496  $(call KernelPackage/mac80211/Default)
497  TITLE:=mac80211 HW simulation device
498  DEPENDS+= +kmod-mac80211
499  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
500  AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
501endef
502
503define KernelPackage/net-libipw
504  $(call KernelPackage/mac80211/Default)
505  TITLE:=libipw for ipw2100 and ipw2200
506  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
507  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX)
508  AUTOLOAD:=$(call AutoLoad,49,libipw)
509endef
510
511define KernelPackage/net-libipw/description
512 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
513endef
514
515IPW2100_NAME:=ipw2100-fw
516IPW2100_VERSION:=1.3
517
518define Download/net-ipw2100
519  URL:=http://bughost.org/firmware/
520  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
521  MD5SUM=46aa75bcda1a00efa841f9707bbbd113
522endef
523$(eval $(call Download,net-ipw2100))
524
525define KernelPackage/net-ipw2100
526  $(call KernelPackage/mac80211/Default)
527  TITLE:=Intel IPW2100 driver
528  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
529  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX)
530  AUTOLOAD:=$(call AutoLoad,50,ipw2100)
531endef
532
533define KernelPackage/net-ipw2100/description
534 Kernel support for Intel IPW2100
535 Includes:
536 - ipw2100
537endef
538
539IPW2200_NAME:=ipw2200-fw
540IPW2200_VERSION:=3.1
541
542define Download/net-ipw2200
543  URL:=http://bughost.org/firmware/
544  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
545  MD5SUM=eaba788643c7cc7483dd67ace70f6e99
546endef
547$(eval $(call Download,net-ipw2200))
548
549define KernelPackage/net-ipw2200
550  $(call KernelPackage/mac80211/Default)
551  TITLE:=Intel IPW2200 driver
552  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
553  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX)
554  AUTOLOAD:=$(call AutoLoad,50,ipw2200)
555endef
556
557define KernelPackage/net-ipw2200/description
558 Kernel support for Intel IPW2200
559 Includes:
560 - ipw2200
561endef
562
563
564define KernelPackage/mwl8k
565  $(call KernelPackage/mac80211/Default)
566  TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
567  URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
568  DEPENDS+= @PCI_SUPPORT +kmod-mac80211
569  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.$(LINUX_KMOD_SUFFIX)
570  AUTOLOAD:=$(call AutoLoad,27,mwl8k)
571endef
572
573define KernelPackage/mwl8k/description
574 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
575endef
576
577#Broadcom firmware
578ifneq ($(CONFIG_B43_EXPERIMENTAL),)
579  PKG_B43_FWV4_NAME:=broadcom-wl
580  PKG_B43_FWV4_VERSION:=4.178.10.4
581  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
582  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
583  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
584  PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
585else
586  PKG_B43_FWV4_NAME:=broadcom-wl
587  PKG_B43_FWV4_VERSION:=4.150.10.5
588  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
589  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
590  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
591  PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
592endif
593ifneq ($(CONFIG_B43_OPENFIRMWARE),)
594  PKG_B43_FWV4_NAME:=broadcom-wl
595  PKG_B43_FWV4_VERSION:=5.2
596  PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
597  PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
598  PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
599  PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
600endif
601
602
603PKG_B43_FWV3_NAME:=wl_apsta
604PKG_B43_FWV3_VERSION:=3.130.20.0
605PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
606PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
607PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
608
609ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
610  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
611  PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
612  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
613  PKG_B43_FWCUTTER_PROTO:=git
614  PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
615  PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
616  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
617else
618  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
619  PKG_B43_FWCUTTER_VERSION:=013
620  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
621  PKG_B43_FWCUTTER_PROTO:=default
622  PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
623  PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
624  PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
625  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
626endif
627
628define Download/b43-common
629  FILE:=$(PKG_B43_FWCUTTER_SOURCE)
630  URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
631  MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
632  PROTO:=$(PKG_B43_FWCUTTER_PROTO)
633  VERSION:=$(PKG_B43_FWCUTTER_VERSION)
634  SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
635endef
636$(eval $(call Download,b43-common))
637
638define Download/b43
639  FILE:=$(PKG_B43_FWV4_SOURCE)
640  URL:=$(PKG_B43_FWV4_SOURCE_URL)
641  MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
642endef
643$(eval $(call Download,b43))
644
645define Download/b43legacy
646  FILE:=$(PKG_B43_FWV3_SOURCE)
647  URL:=$(PKG_B43_FWV3_SOURCE_URL)
648  MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
649endef
650$(eval $(call Download,b43legacy))
651
652define KernelPackage/b43-common
653  $(call KernelPackage/mac80211/Default)
654  TITLE:=Generic stuff for Broadcom wireless devices
655  URL:=http://linuxwireless.org/en/users/Drivers/b43
656  KCONFIG:= \
657      CONFIG_HW_RANDOM=y
658  DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
659endef
660
661define KernelPackage/b43
662$(call KernelPackage/b43-common)
663  TITLE:=Broadcom 43xx wireless support
664  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
665  AUTOLOAD:=$(call AutoLoad,30,b43)
666  MENU:=1
667endef
668
669define KernelPackage/b43/config
670    menu "Configuration"
671        depends on PACKAGE_kmod-b43
672
673    choice
674        prompt "b43 firmware version"
675        default B43_STABLE
676        help
677          This option allows you to select the version of the b43 firmware.
678
679    config B43_STABLE
680        bool "4.150.10.5 (stable)"
681        help
682          Stable firmware for BCM43xx devices.
683
684          If unsure, select this.
685
686    config B43_EXPERIMENTAL
687        bool "4.178.10.4 (experimental)"
688        help
689          Experimental firmware for BCM43xx devices.
690
691          This firmware is not tested as much as the "stable" firmware.
692
693          If unsure, select the "stable" firmware.
694
695    config B43_OPENFIRMWARE
696        bool "Open FirmWare for WiFi networks"
697        help
698          Opensource firmware for BCM43xx devices.
699
700          Do _not_ select this, unless you know what you are doing.
701          The Opensource firmware is not suitable for embedded devices, yet.
702          It does not support QoS, which is bad for AccessPoints.
703          It does not support hardware crypto acceleration, which is a showstopper
704          for embedded devices with low CPU resources.
705
706          If unsure, select the "stable" firmware.
707
708    endchoice
709
710    config B43_FW_SQUASH
711        bool "Remove unnecessary firmware files"
712        depends on !B43_OPENFIRMWARE
713        default y
714        help
715          This options allows you to remove unnecessary b43 firmware files
716          from the final rootfs image. This can reduce the rootfs size by
717          up to 200k.
718
719          If unsure, say Y.
720
721    config B43_FW_SQUASH_COREREVS
722        string "Core revisions to include"
723        depends on B43_FW_SQUASH
724        default "5,6,7,8,9,10,13,14,15"
725        help
726          This is a comma seperated list of core revision numbers.
727
728          Example (keep files for rev5 only):
729            5
730
731          Example (keep files for rev5 and rev11):
732            5,11
733
734    config B43_FW_SQUASH_PHYTYPES
735        string "PHY types to include"
736        depends on B43_FW_SQUASH
737        default "G,LP"
738        help
739          This is a comma seperated list of PHY types:
740            A => A-PHY
741            AG => Dual A-PHY G-PHY
742            G => G-PHY
743            LP => LP-PHY
744            N => N-PHY
745
746          Example (keep files for G-PHY only):
747            G
748
749          Example (keep files for G-PHY and N-PHY):
750            G,N
751
752    endmenu
753endef
754
755define KernelPackage/b43/description
756Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
757endef
758
759define KernelPackage/b43legacy
760$(call KernelPackage/b43-common)
761  TITLE:=Broadcom 43xx-legacy wireless support
762  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
763  AUTOLOAD:=$(call AutoLoad,30,b43legacy)
764  MENU:=1
765endef
766
767define KernelPackage/b43legacy/config
768    menu "Configuration"
769        depends on PACKAGE_kmod-b43legacy
770
771    config B43LEGACY_FW_SQUASH
772        bool "Remove unnecessary firmware files"
773        default y
774        help
775          This options allows you to remove unnecessary b43legacy firmware files
776          from the final rootfs image. This can reduce the rootfs size by
777          up to 50k.
778
779          If unsure, say Y.
780
781    config B43LEGACY_FW_SQUASH_COREREVS
782        string "Core revisions to include"
783        depends on B43LEGACY_FW_SQUASH
784        default "1,2,3,4"
785        help
786          This is a comma seperated list of core revision numbers.
787
788          Example (keep files for rev4 only):
789            4
790
791          Example (keep files for rev2 and rev4):
792            2,4
793
794    endmenu
795endef
796
797define KernelPackage/b43legacy/description
798Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
799endef
800
801BUILDFLAGS:= \
802    -I$(PKG_BUILD_DIR)/include \
803    $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
804    $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
805    $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
806    -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
807    $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
808    $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
809    -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
810    -DCONFIG_MAC80211_RC_MINSTREL_HT \
811    $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
812    $(if $(CONFIG_PACKAGE_ATH9K_USE_MINSTREL),-DATH9K_USE_MINSTREL) \
813    $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
814    $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
815    $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
816    $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
817    $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
818    $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
819    $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
820    $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
821    $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
822    $(if $(CONFIG_PCI_SUPPORT),-DCONFIG_RT2800PCI_PCI) \
823    $(if $(CONFIG_TARGET_ramips),-DCONFIG_RT2800PCI_SOC) \
824
825MAKE_OPTS:= \
826    CROSS_COMPILE="$(KERNEL_CROSS)" \
827    ARCH="$(LINUX_KARCH)" \
828    EXTRA_CFLAGS="$(BUILDFLAGS)" \
829    $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
830    CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
831    CONFIG_MAC80211_RC_MINSTREL=y \
832    CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
833    CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
834    CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
835    CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
836    CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
837    CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
838    CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
839    CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
840    CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
841    CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
842    CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
843    CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
844    CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
845    CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
846    CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
847    CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
848    CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
849    CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
850    CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
851    CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
852    CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
853    CONFIG_P54_SPI= \
854    CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
855    CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
856    CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
857    CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
858    CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
859    CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
860    CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
861    CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
862    CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
863    CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
864    CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
865    CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
866    CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
867    CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
868    CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
869    CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
870    CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
871    CONFIG_RT2800PCI_PCI=$(if $(CONFIG_PCI_SUPPORT),y) \
872    CONFIG_RT2800PCI_SOC=$(if $(CONFIG_TARGET_ramips),y) \
873    CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
874    CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
875    CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
876    CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
877    CONFIG_PCMCIA= \
878    CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
879    CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
880    CONFIG_LIBERTAS_CS= \
881    CONFIG_LIBERTAS_SPI= \
882    CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
883    CONFIG_LIBERTAS_THINFIRM= \
884    CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
885    CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
886    CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
887    CONFIG_NL80211=y \
888    CONFIG_LIB80211= \
889    CONFIG_LIB80211_CRYPT_WEP= \
890    CONFIG_LIB80211_CRYPT_CCMP= \
891    CONFIG_LIB80211_CRYPT_TKIP= \
892    CONFIG_IWLWIFI= \
893    CONFIG_IWLAGN= \
894    CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
895    CONFIG_ATMEL= \
896    CONFIG_PCMCIA_ATMEL= \
897    CONFIG_ADM8211= \
898    CONFIG_USB_NET_RNDIS_HOST= \
899    CONFIG_USB_NET_RNDIS_WLAN= \
900    CONFIG_USB_NET_CDCETHER= \
901    CONFIG_USB_USBNET= \
902    CONFIG_AT76C50X_USB= \
903    CONFIG_WL12XX= \
904    CONFIG_EEPROM_93CX6= \
905    CONFIG_HERMES= \
906    CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
907    CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
908    CONFIG_IWM= \
909    CONFIG_ATH9K_HTC= \
910    CONFIG_MAC80211_RC_MINSTREL_HT=y \
911    MADWIFI= \
912    OLD_IWL= \
913    KLIB_BUILD="$(LINUX_DIR)" \
914    MODPROBE=: \
915    KLIB=$(TARGET_MODULES_DIR) \
916    KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
917
918define Build/Prepare
919    rm -rf $(PKG_BUILD_DIR)
920    mkdir -p $(PKG_BUILD_DIR)
921    $(PKG_UNPACK)
922    $(Build/Patch)
923    unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
924    unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
925    -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
926    -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
927    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
928    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
929    $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
930    rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
931    rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
932    rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
933endef
934
935ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
936 define Build/Compile/kmod
937    rm -rf $(PKG_BUILD_DIR)/modules
938    $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
939 endef
940endif
941
942define Build/Compile
943    $(call Build/Compile/kmod)
944endef
945
946define Build/InstallDev
947    mkdir -p \
948        $(1)/usr/include/mac80211 \
949        $(1)/usr/include/mac80211/ath \
950        $(1)/usr/include/net/mac80211
951    $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
952    $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
953    $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
954endef
955
956define KernelPackage/libertas-usb/install
957    $(INSTALL_DIR) $(1)/lib/firmware
958    $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
959endef
960
961define KernelPackage/libertas-sd/install
962    echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
963    $(INSTALL_DIR) $(1)/lib/firmware
964    $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
965    $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
966endef
967
968define KernelPackage/cfg80211/install
969    $(INSTALL_DIR) $(1)/lib/wifi
970    $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
971endef
972
973define KernelPackage/p54-pci/install
974    $(INSTALL_DIR) $(1)/lib/firmware
975    $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
976endef
977
978define KernelPackage/p54-usb/install
979    $(INSTALL_DIR) $(1)/lib/firmware
980    $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
981endef
982
983define KernelPackage/rt61-pci/install
984    $(INSTALL_DIR) $(1)/lib/firmware
985    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
986endef
987
988define KernelPackage/rt73-usb/install
989    $(INSTALL_DIR) $(1)/lib/firmware
990    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
991endef
992
993define KernelPackage/rt2800-pci/install
994    $(INSTALL_DIR) $(1)/lib/firmware
995    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
996endef
997
998define KernelPackage/rt2800-usb/install
999    $(INSTALL_DIR) $(1)/lib/firmware
1000    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1001endef
1002
1003define KernelPackage/zd1211rw/install
1004    $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1005    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1006endef
1007
1008define KernelPackage/ar9170/install
1009    $(INSTALL_DIR) $(1)/lib/firmware
1010    $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1011endef
1012
1013define KernelPackage/net-ipw2100/install
1014    $(INSTALL_DIR) $(1)/lib/firmware
1015    $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1016endef
1017
1018define KernelPackage/net-ipw2200/install
1019    $(INSTALL_DIR) $(1)/lib/firmware
1020    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1021endef
1022
1023define Build/b43-common
1024    tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1025    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1026        CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1027        QUIET_SPARSE=:
1028    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1029ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1030    $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1031    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1032    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1033    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1034endif
1035    $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1036endef
1037
1038define KernelPackage/b43/install
1039    rm -rf $(1)/lib/firmware/
1040    $(call Build/b43-common)
1041ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1042    tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1043else
1044    tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1045endif
1046    $(INSTALL_DIR) $(1)/lib/firmware/
1047ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1048    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1049    $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1050    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1051    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1052    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1053else
1054    b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1055endif
1056ifneq ($(CONFIG_B43_FW_SQUASH),)
1057    b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1058endif
1059endef
1060
1061define KernelPackage/b43legacy/install
1062    $(call Build/b43-common)
1063    $(INSTALL_DIR) $(1)/lib/firmware/
1064
1065    b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1066ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1067    b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1068endif
1069endef
1070
1071$(eval $(call KernelPackage,ath5k))
1072$(eval $(call KernelPackage,libertas-usb))
1073$(eval $(call KernelPackage,libertas-sd))
1074$(eval $(call KernelPackage,cfg80211))
1075$(eval $(call KernelPackage,mac80211))
1076$(eval $(call KernelPackage,p54-common))
1077$(eval $(call KernelPackage,p54-pci))
1078$(eval $(call KernelPackage,p54-usb))
1079$(eval $(call KernelPackage,rt2x00-lib))
1080$(eval $(call KernelPackage,rt2x00-pci))
1081$(eval $(call KernelPackage,rt2x00-usb))
1082$(eval $(call KernelPackage,rt2x00-soc))
1083$(eval $(call KernelPackage,rt2800-lib))
1084$(eval $(call KernelPackage,rt2400-pci))
1085$(eval $(call KernelPackage,rt2500-pci))
1086$(eval $(call KernelPackage,rt2500-usb))
1087$(eval $(call KernelPackage,rt61-pci))
1088$(eval $(call KernelPackage,rt73-usb))
1089$(eval $(call KernelPackage,rt2800-pci))
1090$(eval $(call KernelPackage,rt2800-usb))
1091$(eval $(call KernelPackage,rtl8180))
1092$(eval $(call KernelPackage,rtl8187))
1093$(eval $(call KernelPackage,zd1211rw))
1094$(eval $(call KernelPackage,mac80211-hwsim))
1095$(eval $(call KernelPackage,ath9k))
1096$(eval $(call KernelPackage,ath))
1097$(eval $(call KernelPackage,ar9170))
1098$(eval $(call KernelPackage,b43))
1099$(eval $(call KernelPackage,b43legacy))
1100$(eval $(call KernelPackage,net-libipw))
1101$(eval $(call KernelPackage,net-ipw2100))
1102$(eval $(call KernelPackage,net-ipw2200))
1103$(eval $(call KernelPackage,mwl8k))
1104

Archive Download this file



interactive