source: branches/backfire/package/mac80211/Makefile @ 24678

Last change on this file since 24678 was 24678, checked in by nbd, 6 years ago

mac80211: sync latest version from trunk - improves stability and performance

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