source: trunk/package/mac80211/Makefile @ 24089

Last change on this file since 24089 was 24089, checked in by kaloz, 6 years ago

remove 2.6.25 support

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