Root/package/mac80211/Makefile

1#
2# Copyright (C) 2007-2010 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=mac80211
12
13PKG_VERSION:=2010-10-19
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:=3bad1752f0154baa57a4d94774bd2ccf
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 @!LINUX_2_6_25 @!LINUX_2_4 +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/mwl8k
581  $(call KernelPackage/mac80211/Default)
582  TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
583  URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
584  DEPENDS+= @PCI_SUPPORT +kmod-mac80211
585  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
586  AUTOLOAD:=$(call AutoLoad,27,mwl8k)
587endef
588
589define KernelPackage/mwl8k/description
590 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
591endef
592
593#Broadcom firmware
594ifneq ($(CONFIG_B43_EXPERIMENTAL),)
595  PKG_B43_FWV4_NAME:=broadcom-wl
596  PKG_B43_FWV4_VERSION:=4.178.10.4
597  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
598  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
599  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
600  PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
601else
602  PKG_B43_FWV4_NAME:=broadcom-wl
603  PKG_B43_FWV4_VERSION:=4.150.10.5
604  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
605  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
606  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
607  PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
608endif
609ifneq ($(CONFIG_B43_OPENFIRMWARE),)
610  PKG_B43_FWV4_NAME:=broadcom-wl
611  PKG_B43_FWV4_VERSION:=5.2
612  PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
613  PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
614  PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
615  PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
616endif
617
618
619PKG_B43_FWV3_NAME:=wl_apsta
620PKG_B43_FWV3_VERSION:=3.130.20.0
621PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
622PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
623PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
624
625ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
626  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
627  PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
628  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
629  PKG_B43_FWCUTTER_PROTO:=git
630  PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
631  PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
632  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
633else
634  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
635  PKG_B43_FWCUTTER_VERSION:=013
636  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
637  PKG_B43_FWCUTTER_PROTO:=default
638  PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
639  PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
640  PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
641  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
642endif
643
644define Download/b43-common
645  FILE:=$(PKG_B43_FWCUTTER_SOURCE)
646  URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
647  MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
648  PROTO:=$(PKG_B43_FWCUTTER_PROTO)
649  VERSION:=$(PKG_B43_FWCUTTER_VERSION)
650  SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
651endef
652$(eval $(call Download,b43-common))
653
654define Download/b43
655  FILE:=$(PKG_B43_FWV4_SOURCE)
656  URL:=$(PKG_B43_FWV4_SOURCE_URL)
657  MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
658endef
659$(eval $(call Download,b43))
660
661define Download/b43legacy
662  FILE:=$(PKG_B43_FWV3_SOURCE)
663  URL:=$(PKG_B43_FWV3_SOURCE_URL)
664  MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
665endef
666$(eval $(call Download,b43legacy))
667
668define KernelPackage/b43-common
669  $(call KernelPackage/mac80211/Default)
670  TITLE:=Generic stuff for Broadcom wireless devices
671  URL:=http://linuxwireless.org/en/users/Drivers/b43
672  KCONFIG:= \
673      CONFIG_HW_RANDOM=y
674  DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
675endef
676
677define KernelPackage/b43
678$(call KernelPackage/b43-common)
679  TITLE:=Broadcom 43xx wireless support
680  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
681  AUTOLOAD:=$(call AutoLoad,30,b43)
682  MENU:=1
683endef
684
685define KernelPackage/b43/config
686    menu "Configuration"
687        depends on PACKAGE_kmod-b43
688
689    choice
690        prompt "b43 firmware version"
691        default B43_STABLE
692        help
693          This option allows you to select the version of the b43 firmware.
694
695    config B43_STABLE
696        bool "4.150.10.5 (stable)"
697        help
698          Stable firmware for BCM43xx devices.
699
700          If unsure, select this.
701
702    config B43_EXPERIMENTAL
703        bool "4.178.10.4 (experimental)"
704        help
705          Experimental firmware for BCM43xx devices.
706
707          This firmware is not tested as much as the "stable" firmware.
708
709          If unsure, select the "stable" firmware.
710
711    config B43_OPENFIRMWARE
712        bool "Open FirmWare for WiFi networks"
713        help
714          Opensource firmware for BCM43xx devices.
715
716          Do _not_ select this, unless you know what you are doing.
717          The Opensource firmware is not suitable for embedded devices, yet.
718          It does not support QoS, which is bad for AccessPoints.
719          It does not support hardware crypto acceleration, which is a showstopper
720          for embedded devices with low CPU resources.
721
722          If unsure, select the "stable" firmware.
723
724    endchoice
725
726    config B43_FW_SQUASH
727        bool "Remove unnecessary firmware files"
728        depends on !B43_OPENFIRMWARE
729        default y
730        help
731          This options allows you to remove unnecessary b43 firmware files
732          from the final rootfs image. This can reduce the rootfs size by
733          up to 200k.
734
735          If unsure, say Y.
736
737    config B43_FW_SQUASH_COREREVS
738        string "Core revisions to include"
739        depends on B43_FW_SQUASH
740        default "5,6,7,8,9,10,13,14,15"
741        help
742          This is a comma seperated list of core revision numbers.
743
744          Example (keep files for rev5 only):
745            5
746
747          Example (keep files for rev5 and rev11):
748            5,11
749
750    config B43_FW_SQUASH_PHYTYPES
751        string "PHY types to include"
752        depends on B43_FW_SQUASH
753        default "G,LP"
754        help
755          This is a comma seperated list of PHY types:
756            A => A-PHY
757            AG => Dual A-PHY G-PHY
758            G => G-PHY
759            LP => LP-PHY
760            N => N-PHY
761
762          Example (keep files for G-PHY only):
763            G
764
765          Example (keep files for G-PHY and N-PHY):
766            G,N
767
768    endmenu
769endef
770
771define KernelPackage/b43/description
772Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
773endef
774
775define KernelPackage/b43legacy
776$(call KernelPackage/b43-common)
777  TITLE:=Broadcom 43xx-legacy wireless support
778  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
779  AUTOLOAD:=$(call AutoLoad,30,b43legacy)
780  MENU:=1
781endef
782
783define KernelPackage/b43legacy/config
784    menu "Configuration"
785        depends on PACKAGE_kmod-b43legacy
786
787    config B43LEGACY_FW_SQUASH
788        bool "Remove unnecessary firmware files"
789        default y
790        help
791          This options allows you to remove unnecessary b43legacy firmware files
792          from the final rootfs image. This can reduce the rootfs size by
793          up to 50k.
794
795          If unsure, say Y.
796
797    config B43LEGACY_FW_SQUASH_COREREVS
798        string "Core revisions to include"
799        depends on B43LEGACY_FW_SQUASH
800        default "1,2,3,4"
801        help
802          This is a comma seperated list of core revision numbers.
803
804          Example (keep files for rev4 only):
805            4
806
807          Example (keep files for rev2 and rev4):
808            2,4
809
810    endmenu
811endef
812
813define KernelPackage/b43legacy/description
814Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
815endef
816
817BUILDFLAGS:= \
818    -I$(PKG_BUILD_DIR)/include \
819    $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
820    $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
821    $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
822    -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
823    $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS) \
824    $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
825    -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
826    -DCONFIG_MAC80211_RC_MINSTREL_HT \
827    $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
828    $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
829    $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
830    $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
831    $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
832    $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
833    $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
834    $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
835    $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
836    $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
837    $(if $(CONFIG_PCI_SUPPORT),-DCONFIG_RT2800PCI_PCI) \
838    $(if $(CONFIG_TARGET_ramips),-DCONFIG_RT2800PCI_SOC) \
839    -DCONFIG_P54_SPI_DEFAULT_EEPROM
840
841MAKE_OPTS:= \
842    CROSS_COMPILE="$(KERNEL_CROSS)" \
843    ARCH="$(LINUX_KARCH)" \
844    EXTRA_CFLAGS="$(BUILDFLAGS)" \
845    $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
846    CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
847    CONFIG_MAC80211_RC_MINSTREL=y \
848    CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
849    CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
850    CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
851    CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
852    CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
853    CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
854    CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
855    CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
856    CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
857    CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
858    CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
859    CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
860    CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
861    CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
862    CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
863    CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
864    CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
865    CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
866    CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
867    CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
868    CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
869    CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
870    CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
871    CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
872    CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
873    CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
874    CONFIG_P54_SPI_DEFAULT_EEPROM=y \
875    CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
876    CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
877    CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
878    CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
879    CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
880    CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
881    CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
882    CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
883    CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
884    CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
885    CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
886    CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
887    CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
888    CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
889    CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
890    CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
891    CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
892    CONFIG_RT2800PCI_PCI=$(if $(CONFIG_PCI_SUPPORT),y) \
893    CONFIG_RT2800PCI_SOC=$(if $(CONFIG_TARGET_ramips),y) \
894    CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
895    CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
896    CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
897    CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
898    CONFIG_PCMCIA= \
899    CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
900    CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
901    CONFIG_LIBERTAS_CS= \
902    CONFIG_LIBERTAS_SPI= \
903    CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
904    CONFIG_LIBERTAS_THINFIRM= \
905    CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
906    CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
907    CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
908    CONFIG_NL80211=y \
909    CONFIG_LIB80211= \
910    CONFIG_LIB80211_CRYPT_WEP= \
911    CONFIG_LIB80211_CRYPT_CCMP= \
912    CONFIG_LIB80211_CRYPT_TKIP= \
913    CONFIG_IWLWIFI= \
914    CONFIG_COMPAT_IWLWIFI= \
915    CONFIG_IWLAGN= \
916    CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
917    CONFIG_ATMEL= \
918    CONFIG_PCMCIA_ATMEL= \
919    CONFIG_ADM8211= \
920    CONFIG_USB_NET_RNDIS_HOST= \
921    CONFIG_USB_NET_RNDIS_WLAN= \
922    CONFIG_USB_NET_CDCETHER= \
923    CONFIG_USB_USBNET= \
924    CONFIG_AT76C50X_USB= \
925    CONFIG_WL12XX= \
926    CONFIG_EEPROM_93CX6= \
927    CONFIG_HERMES= \
928    CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
929    CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
930    CONFIG_IWM= \
931    CONFIG_ATH9K_HTC= \
932    CONFIG_MAC80211_RC_MINSTREL_HT=y \
933    MADWIFI= \
934    OLD_IWL= \
935    KLIB_BUILD="$(LINUX_DIR)" \
936    MODPROBE=: \
937    KLIB=$(TARGET_MODULES_DIR) \
938    KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
939
940define Build/Prepare
941    rm -rf $(PKG_BUILD_DIR)
942    mkdir -p $(PKG_BUILD_DIR)
943    $(PKG_UNPACK)
944    $(Build/Patch)
945    unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
946    unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
947    -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
948    -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
949    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
950    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
951    $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
952    rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
953    rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
954    rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
955endef
956
957ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
958 define Build/Compile/kmod
959    rm -rf $(PKG_BUILD_DIR)/modules
960    $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
961 endef
962endif
963
964define Build/Compile
965    $(call Build/Compile/kmod)
966endef
967
968define Build/InstallDev
969    mkdir -p \
970        $(1)/usr/include/mac80211 \
971        $(1)/usr/include/mac80211/ath \
972        $(1)/usr/include/net/mac80211
973    $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
974    $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
975    $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
976endef
977
978define KernelPackage/libertas-usb/install
979    $(INSTALL_DIR) $(1)/lib/firmware
980    $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
981endef
982
983define KernelPackage/libertas-sd/install
984    echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
985    $(INSTALL_DIR) $(1)/lib/firmware
986    $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
987    $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
988endef
989
990define KernelPackage/cfg80211/install
991    $(INSTALL_DIR) $(1)/lib/wifi
992    $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
993endef
994
995define KernelPackage/p54-pci/install
996    $(INSTALL_DIR) $(1)/lib/firmware
997    $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
998endef
999
1000define KernelPackage/p54-usb/install
1001    $(INSTALL_DIR) $(1)/lib/firmware
1002    $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1003endef
1004
1005define KernelPackage/p54-spi/install
1006    $(INSTALL_DIR) $(1)/lib/firmware
1007    $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1008endef
1009
1010define KernelPackage/rt61-pci/install
1011    $(INSTALL_DIR) $(1)/lib/firmware
1012    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
1013endef
1014
1015define KernelPackage/rt73-usb/install
1016    $(INSTALL_DIR) $(1)/lib/firmware
1017    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
1018endef
1019
1020define KernelPackage/rt2800-pci/install
1021    $(INSTALL_DIR) $(1)/lib/firmware
1022    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
1023endef
1024
1025define KernelPackage/rt2800-usb/install
1026    $(INSTALL_DIR) $(1)/lib/firmware
1027    $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1028endef
1029
1030define KernelPackage/zd1211rw/install
1031    $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1032    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1033endef
1034
1035define KernelPackage/ar9170/install
1036    $(INSTALL_DIR) $(1)/lib/firmware
1037    $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1038endef
1039
1040define KernelPackage/net-ipw2100/install
1041    $(INSTALL_DIR) $(1)/lib/firmware
1042    $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1043endef
1044
1045define KernelPackage/net-ipw2200/install
1046    $(INSTALL_DIR) $(1)/lib/firmware
1047    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1048endef
1049
1050define Build/b43-common
1051    tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1052    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1053        CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1054        QUIET_SPARSE=:
1055    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1056ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1057    $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1058    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1059    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1060    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1061endif
1062    $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1063endef
1064
1065define KernelPackage/b43/install
1066    rm -rf $(1)/lib/firmware/
1067    $(call Build/b43-common)
1068ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1069    tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1070else
1071    tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1072endif
1073    $(INSTALL_DIR) $(1)/lib/firmware/
1074ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1075    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1076    $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1077    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1078    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1079    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1080else
1081    b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1082endif
1083ifneq ($(CONFIG_B43_FW_SQUASH),)
1084    b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1085endif
1086endef
1087
1088define KernelPackage/b43legacy/install
1089    $(call Build/b43-common)
1090    $(INSTALL_DIR) $(1)/lib/firmware/
1091
1092    b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1093ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1094    b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1095endif
1096endef
1097
1098$(eval $(call KernelPackage,ath5k))
1099$(eval $(call KernelPackage,libertas-usb))
1100$(eval $(call KernelPackage,libertas-sd))
1101$(eval $(call KernelPackage,cfg80211))
1102$(eval $(call KernelPackage,mac80211))
1103$(eval $(call KernelPackage,p54-common))
1104$(eval $(call KernelPackage,p54-pci))
1105$(eval $(call KernelPackage,p54-usb))
1106$(eval $(call KernelPackage,p54-spi))
1107$(eval $(call KernelPackage,rt2x00-lib))
1108$(eval $(call KernelPackage,rt2x00-pci))
1109$(eval $(call KernelPackage,rt2x00-usb))
1110$(eval $(call KernelPackage,rt2x00-soc))
1111$(eval $(call KernelPackage,rt2800-lib))
1112$(eval $(call KernelPackage,rt2400-pci))
1113$(eval $(call KernelPackage,rt2500-pci))
1114$(eval $(call KernelPackage,rt2500-usb))
1115$(eval $(call KernelPackage,rt61-pci))
1116$(eval $(call KernelPackage,rt73-usb))
1117$(eval $(call KernelPackage,rt2800-pci))
1118$(eval $(call KernelPackage,rt2800-usb))
1119$(eval $(call KernelPackage,rtl8180))
1120$(eval $(call KernelPackage,rtl8187))
1121$(eval $(call KernelPackage,zd1211rw))
1122$(eval $(call KernelPackage,mac80211-hwsim))
1123$(eval $(call KernelPackage,ath9k))
1124$(eval $(call KernelPackage,ath))
1125$(eval $(call KernelPackage,carl9170))
1126$(eval $(call KernelPackage,b43))
1127$(eval $(call KernelPackage,b43legacy))
1128$(eval $(call KernelPackage,net-libipw))
1129$(eval $(call KernelPackage,net-ipw2100))
1130$(eval $(call KernelPackage,net-ipw2200))
1131$(eval $(call KernelPackage,mwl8k))
1132

Archive Download this file



interactive