1201b7f6a6381ca8c40a8c25e0ec08820886d710
[openwrt/openwrt.git] / 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
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2011-04-06
14 PKG_RELEASE:=3
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_MD5SUM:=7ef8c2d9ee25af7ed33cf339f2484249
17
18 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20 PKG_BUILD_PARALLEL:=1
21
22 PKG_DRIVERS = \
23 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
24 rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
25 rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
26 rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
27 ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
28 mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
29 iwl-legacy iwl3945 iwl4965 iwlagn
30
31 PKG_CONFIG_DEPENDS:= \
32 CONFIG_PACKAGE_kmod-mac80211 \
33 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
34 CONFIG_PACKAGE_MAC80211_DEBUGFS \
35 CONFIG_PACKAGE_ATH_DEBUG \
36 CONFIG_PACKAGE_B43_DEBUG \
37 CONFIG_PACKAGE_B43_PIO \
38 CONFIG_ATH_USER_REGD \
39
40 CARL9170_FW_VERSION:=1.9.2
41
42 include $(INCLUDE_DIR)/package.mk
43
44 WMENU:=Wireless Drivers
45
46 define KernelPackage/mac80211/Default
47 SUBMENU:=$(WMENU)
48 URL:=http://linuxwireless.org/
49 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
50 DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
51 endef
52
53 define KernelPackage/cfg80211
54 $(call KernelPackage/mac80211/Default)
55 TITLE:=cfg80211 - wireless configuration API
56 DEPENDS+= +wireless-tools +iw +crda
57 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
58 FILES:= \
59 $(PKG_BUILD_DIR)/compat/compat.ko \
60 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
61 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
62 else
63 FILES:= \
64 $(PKG_BUILD_DIR)/compat/compat.ko \
65 $(PKG_BUILD_DIR)/compat/compat_firmware_class.ko \
66 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
67 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
68 endif
69 endef
70
71 define KernelPackage/cfg80211/description
72 cfg80211 is the Linux wireless LAN (802.11) configuration API.
73 endef
74
75 define KernelPackage/mac80211
76 $(call KernelPackage/mac80211/Default)
77 TITLE:=Linux 802.11 Wireless Networking Stack
78 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
79 KCONFIG:=\
80 CONFIG_AVERAGE=y
81 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
82 AUTOLOAD:=$(call AutoLoad,21,mac80211)
83 MENU:=1
84 endef
85
86 define KernelPackage/mac80211/config
87 menu "Configuration"
88 depends on PACKAGE_kmod-mac80211
89
90 config PACKAGE_MAC80211_DEBUGFS
91 bool "Export mac80211 internals in DebugFS"
92 default y
93 help
94 Select this to see extensive information about
95 the internal state of mac80211 in debugfs.
96
97 Say N unless you know you need this.
98
99 endmenu
100 endef
101
102 define KernelPackage/mac80211/description
103 Generic IEEE 802.11 Networking Stack (mac80211)
104 endef
105
106 # Prism54 drivers
107 P54PCIFW:=2.13.12.0.arm
108 P54USBFW:=2.13.24.0.lm87.arm
109 P54SPIFW:=2.13.0.0.a.13.14.arm
110 CARL9170_FW:=carl9170-1.fw
111
112 define Download/p54usb
113 FILE:=$(P54USBFW)
114 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
115 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
116 endef
117 $(eval $(call Download,p54usb))
118
119 define Download/p54pci
120 FILE:=$(P54PCIFW)
121 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
122 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
123 endef
124 $(eval $(call Download,p54pci))
125
126 define Download/p54spi
127 FILE:=$(P54SPIFW)
128 URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
129 MD5SUM:=42661f8ecbadd88012807493f596081d
130 endef
131 $(eval $(call Download,p54spi))
132
133 define Download/carl9170
134 FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
135 URL:=http://downloads.openwrt.org/sources/
136 MD5SUM:=9e33ac39dcd610aa1ad80bbf4f1abccf
137 endef
138 $(eval $(call Download,carl9170))
139
140 define KernelPackage/p54/Default
141 $(call KernelPackage/mac80211/Default)
142 TITLE:=Prism54 Drivers
143 endef
144
145 define KernelPackage/p54/description
146 Kernel module for Prism54 chipsets (mac80211)
147 endef
148
149 define KernelPackage/p54-common
150 $(call KernelPackage/p54/Default)
151 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-crc-ccitt
152 TITLE+= (COMMON)
153 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
154 AUTOLOAD:=$(call AutoLoad,30,p54common)
155 endef
156
157 define KernelPackage/p54-pci
158 $(call KernelPackage/p54/Default)
159 TITLE+= (PCI)
160 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
161 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
162 AUTOLOAD:=$(call AutoLoad,31,p54pci)
163 endef
164
165 define KernelPackage/p54-usb
166 $(call KernelPackage/p54/Default)
167 TITLE+= (USB)
168 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
169 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
170 AUTOLOAD:=$(call AutoLoad,31,p54usb)
171 endef
172
173 define KernelPackage/p54-spi
174 $(call KernelPackage/p54/Default)
175 TITLE+= (SPI)
176 DEPENDS+= @TARGET_omap24xx +kmod-p54-common
177 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
178 AUTOLOAD:=$(call AutoLoad,31,p54spi)
179 endef
180
181 # Ralink rt2x00 drivers
182 RT61FW:=RT61_Firmware_V1.2.zip
183 RT71FW:=RT71W_Firmware_V1.8.zip
184 RT2860FW:=RT2860_Firmware_V11.zip
185 RT2870FW:=RT2870_Firmware_V8.zip
186
187 define Download/rt61
188 FILE:=$(RT61FW)
189 URL:=http://www.ralinktech.com.tw/data/
190 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
191 endef
192 $(eval $(call Download,rt61))
193
194 define Download/rt71w
195 FILE:=$(RT71FW)
196 URL:=http://www.ralinktech.com.tw/data/
197 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
198 endef
199 $(eval $(call Download,rt71w))
200
201 define Download/rt2860
202 FILE:=$(RT2860FW)
203 URL:=http://www.ralinktech.com.tw/data/drivers
204 MD5SUM:=440a81756a52c53528f16faa41c40124
205 endef
206 $(eval $(call Download,rt2860))
207
208 define Download/rt2870
209 FILE:=$(RT2870FW)
210 URL:=http://www.ralinktech.com.tw/data/drivers
211 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
212 endef
213 $(eval $(call Download,rt2870))
214
215 AR9170FW:=ar9170.fw
216
217 define Download/ar9170
218 FILE:=$(AR9170FW)
219 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
220 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
221 endef
222 $(eval $(call Download,ar9170))
223
224 NEED_RT2X00_LIB_CRYPTO:=y
225 NEED_RT2X00_LIB_FIRMWARE:=y
226 NEED_RT2X00_LIB_HT:=y
227 NEED_RT2X00_LIB_LEDS:=y
228
229 define KernelPackage/rt2x00/Default
230 $(call KernelPackage/mac80211/Default)
231 TITLE:=Ralink Drivers for RT2x00 cards
232 endef
233
234 define KernelPackage/rt2x00-lib
235 $(call KernelPackage/rt2x00/Default)
236 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-crc-itu-t
237 TITLE+= (LIB)
238 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
239 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
240 MENU:=1
241 endef
242
243 define KernelPackage/rt2x00-lib/config
244 menu "Configuration"
245 depends PACKAGE_kmod-rt2x00-lib
246
247 config PACKAGE_RT2X00_LIB_DEBUGFS
248 bool "Enable rt2x00 debugfs support"
249 depends PACKAGE_MAC80211_DEBUGFS
250 help
251 Enable creation of debugfs files for the rt2x00 drivers.
252 These debugfs files support both reading and writing of the
253 most important register types of the rt2x00 hardware.
254
255 config PACKAGE_RT2X00_DEBUG
256 bool "Enable rt2x00 debug output"
257 help
258 Enable debugging output for all rt2x00 modules
259
260 endmenu
261 endef
262
263 define KernelPackage/rt2x00-pci
264 $(call KernelPackage/rt2x00/Default)
265 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
266 TITLE+= (PCI)
267 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
268 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
269 endef
270
271 define KernelPackage/rt2x00-usb
272 $(call KernelPackage/rt2x00/Default)
273 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
274 TITLE+= (USB)
275 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
276 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
277 endef
278
279 define KernelPackage/rt2x00-soc
280 $(call KernelPackage/rt2x00/Default)
281 DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
282 TITLE+= (SoC)
283 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
284 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
285 endef
286
287 define KernelPackage/rt2800-lib
288 $(call KernelPackage/rt2x00/Default)
289 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
290 TITLE+= (rt2800 LIB)
291 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
292 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
293 endef
294
295 define KernelPackage/rt2400-pci
296 $(call KernelPackage/rt2x00/Default)
297 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
298 TITLE+= (RT2400 PCI)
299 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
300 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
301 endef
302
303 define KernelPackage/rt2500-pci
304 $(call KernelPackage/rt2x00/Default)
305 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
306 TITLE+= (RT2500 PCI)
307 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
308 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
309 endef
310
311 define KernelPackage/rt2500-usb
312 $(call KernelPackage/rt2x00/Default)
313 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
314 TITLE+= (RT2500 USB)
315 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
316 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
317 endef
318
319 define KernelPackage/rt61-pci
320 $(call KernelPackage/rt2x00/Default)
321 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
322 TITLE+= (RT2x61 PCI)
323 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
324 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
325 endef
326
327 define KernelPackage/rt73-usb
328 $(call KernelPackage/rt2x00/Default)
329 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
330 TITLE+= (RT73 USB)
331 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
332 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
333 endef
334
335 define KernelPackage/rt2800-pci
336 $(call KernelPackage/rt2x00/Default)
337 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
338 TITLE+= (RT2860 PCI)
339 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
340 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
341 endef
342
343 define KernelPackage/rt2800-usb
344 $(call KernelPackage/rt2x00/Default)
345 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
346 TITLE+= (RT2870 USB)
347 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
348 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
349 endef
350
351 define KernelPackage/rtl818x/Default
352 $(call KernelPackage/mac80211/Default)
353 TITLE:=Realtek Drivers for RTL818x devices
354 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
355 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
356 endef
357
358 define KernelPackage/rtl8180
359 $(call KernelPackage/rtl818x/Default)
360 DEPENDS+= @PCI_SUPPORT
361 TITLE+= (RTL8180 PCI)
362 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
363 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
364 endef
365
366 define KernelPackage/rtl8187
367 $(call KernelPackage/rtl818x/Default)
368 DEPENDS+= @USB_SUPPORT +kmod-usb-core
369 TITLE+= (RTL8187 USB)
370 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
371 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
372 endef
373
374 ZD1211FW_NAME:=zd1211-firmware
375 ZD1211FW_VERSION:=1.4
376 define Download/zd1211rw
377 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
378 URL:=@SF/zd1211/
379 MD5SUM:=19f28781d76569af8551c9d11294c870
380 endef
381 $(eval $(call Download,zd1211rw))
382
383 define KernelPackage/zd1211rw
384 $(call KernelPackage/mac80211/Default)
385 TITLE:=Zydas ZD1211 support
386 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
387 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
388 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
389 endef
390
391 define KernelPackage/ath/config
392 menu "Configuration"
393 depends on PACKAGE_kmod-ath
394
395 config ATH_USER_REGD
396 bool "Force Atheros drivers to respect the user's regdomain settings"
397 help
398 Atheros' idea of regulatory handling is that the EEPROM of the card defines
399 the regulatory limits and the user is only allowed to restrict the settings
400 even further, even if the country allows frequencies or power levels that
401 are forbidden by the EEPROM settings.
402
403 Select this option if you want the driver to respect the user's decision about
404 regulatory settings.
405
406 config PACKAGE_ATH_DEBUG
407 bool "Atheros wireless debugging"
408 help
409 Say Y, if you want to debug atheros wireless drivers.
410 Right now only ath9k makes use of this.
411
412 endmenu
413 endef
414
415 define KernelPackage/ath
416 $(call KernelPackage/mac80211/Default)
417 TITLE:=Atheros common driver part
418 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
419 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
420 AUTOLOAD:=$(call AutoLoad,26,ath)
421 MENU:=1
422 endef
423
424 define KernelPackage/ath/description
425 This module contains some common parts needed by Atheros Wireless drivers.
426 endef
427
428 define KernelPackage/ath5k
429 $(call KernelPackage/mac80211/Default)
430 TITLE:=Atheros 5xxx wireless cards support
431 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
432 DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
433 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
434 AUTOLOAD:=$(call AutoLoad,27,ath5k)
435 endef
436
437 define KernelPackage/ath5k/description
438 This module adds support for wireless adapters based on
439 Atheros 5xxx chipset.
440 endef
441
442 define KernelPackage/ath9k-common
443 $(call KernelPackage/mac80211/Default)
444 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
445 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
446 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
447 FILES:= \
448 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
449 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
450 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
451 endef
452
453 define KernelPackage/ath9k
454 $(call KernelPackage/mac80211/Default)
455 TITLE:=Atheros 802.11n PCI wireless cards support
456 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
457 DEPENDS+= @PCI_SUPPORT +kmod-ath9k-common
458 FILES:= \
459 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
460 AUTOLOAD:=$(call AutoLoad,28,ath9k)
461 endef
462
463 define KernelPackage/ath9k/description
464 This module adds support for wireless adapters based on
465 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
466 endef
467
468 AR7010FW:=ar7010.fw
469 AR7010_1_1_FW:=ar7010_1_1.fw
470 AR9271FW:=ar9271.fw
471
472 define Download/ar9271
473 FILE:=$(AR9271FW)
474 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD;?
475 MD5SUM:=2e6f5045ec4c5a42bb93ced242bad0ba
476 endef
477 $(eval $(call Download,ar9271))
478
479 define Download/ar7010
480 FILE:=$(AR7010FW)
481 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010.fw;h=840005d0f0c81838c581b8cd5d76c8dd3843731c;hb=HEAD;?
482 MD5SUM:=59823b82b1f72bed9b044e8cc78ad65c
483 endef
484 $(eval $(call Download,ar7010))
485
486 define Download/ar7010_1_1
487 FILE:=$(AR7010_1_1_FW)
488 URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010_1_1.fw;h=684d4cd1a8cac4f58305589e31f9d856d03a8ef0;hb=HEAD;?
489 MD5SUM:=544fcbe5a93cfa53c7e6d3ded2b05347
490 endef
491 $(eval $(call Download,ar7010_1_1))
492
493 define KernelPackage/ath9k-htc
494 $(call KernelPackage/mac80211/Default)
495 TITLE:=Atheros 802.11n USB device support
496 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
497 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
498 FILES:= \
499 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
500 AUTOLOAD:=$(call AutoLoad,28,ath9k_htc)
501 endef
502
503 define KernelPackage/ath9k-htc/description
504 This module adds support for wireless adapters based on
505 Atheros USB AR9271 and AR7010 family of chipsets.
506 endef
507
508 define KernelPackage/carl9170
509 $(call KernelPackage/mac80211/Default)
510 TITLE:=Driver for Atheros AR9170 USB sticks
511 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +@DRIVER_11N_SUPPORT
512 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
513 AUTOLOAD:=$(call AutoLoad,60,carl9170)
514 endef
515
516 define KernelPackage/carl9170/install
517 $(INSTALL_DIR) $(1)/lib/firmware
518 $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
519 endef
520
521
522 USB8388FW_NAME:=usb8388
523 USB8388FW_VERSION:=5.110.22.p23
524
525 define Download/usb8388
526 URL:=http://dev.laptop.org/pub/firmware/libertas/
527 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
528 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
529 endef
530 $(eval $(call Download,usb8388))
531
532 SD8686FW_NAME:=sd8686
533 SD8686FW_VERSION:=9.70.7.p0
534
535 define Download/sd8686
536 URL:=http://dev.laptop.org/pub/firmware/libertas/
537 FILE:=$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin
538 MD5SUM=b4f8be61e19780a14836f146c538c5dd
539 endef
540 $(eval $(call Download,sd8686))
541
542 SD8686HELPER_NAME:=sd8686_helper
543
544 define Download/sd8686_helper
545 URL:=http://dev.laptop.org/pub/firmware/libertas/
546 FILE:=$(SD8686HELPER_NAME).bin
547 MD5SUM=2a4d8f4df198ce949c350df5674f4ac6
548 endef
549 $(eval $(call Download,sd8686_helper))
550
551 define KernelPackage/libertas-usb
552 $(call KernelPackage/mac80211/Default)
553 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
554 TITLE:=Marvell 88W8015 Wireless Driver
555 FILES:= \
556 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
557 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
558 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
559 endef
560
561 define KernelPackage/libertas-sd
562 $(call KernelPackage/mac80211/Default)
563 DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
564 TITLE:=Marvell 88W8686 Wireless Driver
565 FILES:= \
566 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
567 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
568 AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
569 endef
570
571 define KernelPackage/mac80211-hwsim
572 $(call KernelPackage/mac80211/Default)
573 TITLE:=mac80211 HW simulation device
574 DEPENDS+= +kmod-mac80211
575 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
576 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
577 endef
578
579 define KernelPackage/net-libipw
580 $(call KernelPackage/mac80211/Default)
581 TITLE:=libipw for ipw2100 and ipw2200
582 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
583 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
584 AUTOLOAD:=$(call AutoLoad,49,libipw)
585 endef
586
587 define KernelPackage/net-libipw/description
588 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
589 endef
590
591 IPW2100_NAME:=ipw2100-fw
592 IPW2100_VERSION:=1.3
593
594 define Download/net-ipw2100
595 URL:=http://bughost.org/firmware/
596 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
597 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
598 endef
599 $(eval $(call Download,net-ipw2100))
600
601 define KernelPackage/net-ipw2100
602 $(call KernelPackage/mac80211/Default)
603 TITLE:=Intel IPW2100 driver
604 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
605 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
606 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
607 endef
608
609 define KernelPackage/net-ipw2100/description
610 Kernel support for Intel IPW2100
611 Includes:
612 - ipw2100
613 endef
614
615 IPW2200_NAME:=ipw2200-fw
616 IPW2200_VERSION:=3.1
617
618 define Download/net-ipw2200
619 URL:=http://bughost.org/firmware/
620 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
621 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
622 endef
623 $(eval $(call Download,net-ipw2200))
624
625 define KernelPackage/net-ipw2200
626 $(call KernelPackage/mac80211/Default)
627 TITLE:=Intel IPW2200 driver
628 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
629 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
630 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
631 endef
632
633 define KernelPackage/net-ipw2200/description
634 Kernel support for Intel IPW2200
635 Includes:
636 - ipw2200
637 endef
638
639
640 define KernelPackage/net-hermes
641 $(call KernelPackage/mac80211/Default)
642 TITLE:=Hermes 802.11b chipset support
643 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
644 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
645 AUTOLOAD:=$(call AutoLoad,50,orinoco)
646 endef
647
648 define KernelPackage/net-hermes/description
649 Kernel support for Hermes 802.11b chipsets
650 endef
651
652 define KernelPackage/net-hermes-pci
653 $(call KernelPackage/mac80211/Default)
654 TITLE:=Intersil Prism 2.5 PCI support
655 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
656 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
657 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
658 endef
659
660 define KernelPackage/net-hermes-pci/description
661 Kernel modules for Intersil Prism 2.5 PCI support
662 endef
663
664 define KernelPackage/net-hermes-plx
665 $(call KernelPackage/mac80211/Default)
666 TITLE:=PLX9052 based PCI adaptor
667 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes +kmod-cfg80211
668 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
669 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
670 endef
671
672 define KernelPackage/net-hermes-plx/description
673 Kernel modules for Hermes in PLX9052 based PCI adaptors
674 endef
675
676 define KernelPackage/net-hermes-pcmcia
677 $(call KernelPackage/mac80211/Default)
678 TITLE:=Hermes based PCMCIA adaptors
679 DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes +kmod-cfg80211 @BROKEN
680 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
681 AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
682 endef
683
684 define KernelPackage/net-hermes-pcmcia/description
685 Kernel modules for Hermes based PCMCIA adaptors
686 endef
687
688 IWL3945_NAME:=iwlwifi-3945-ucode
689 IWL3945_VERSION:=15.32.2.9
690 IWL3945_MD5SUM:=d99a75ab1305d1532a09471b2f9a547a
691 IWL4965_NAME:=iwlwifi-4965-ucode
692 IWL4965_VERSION:=228.61.2.24
693 IWL4965_MD5SUM:=2531028773cfc22aca5539c734f2a241
694 IWL5000_NAME:=iwlwifi-5000-ucode
695 IWL5000_VERSION:=8.83.5.1
696 IWL5000_MD5SUM:=da82465019b3c7d1ee5156474ab4931d
697 IWL5150_NAME:=iwlwifi-5150-ucode
698 IWL5150_VERSION:=8.24.2.2
699 IWL5150_MD5SUM:=f9cee16e455e8046b1bf62c93f882d5d
700 IWL1000_NAME:=iwlwifi-1000-ucode
701 IWL1000_VERSION:=39.31.5.1
702 IWL1000_MD5SUM:=8098503cb2abcdeffffb3ddd2d8d6f60
703 IWL6000_NAME:=iwlwifi-6000-ucode
704 IWL6000_VERSION:=9.221.4.1
705 IWL6000_MD5SUM:=c132a4c1946a9dbc0c36b41696e5c793
706 IWL6050_NAME:=iwlwifi-6050-ucode
707 IWL6050_VERSION:=41.28.5.1
708 IWL6050_MD5SUM:=cb484a65b9139666d4ddebf60598a87b
709 IWL6005_NAME:=iwlwifi-6000g2a-ucode
710 IWL6005_VERSION:=17.168.5.2
711 IWL6005_MD5SUM:=0b9579f4b8faf51c955295607a8e79a8
712 IWL6030_NAME:=iwlwifi-6000g2b-ucode
713 IWL6030_VERSION:=17.168.5.2
714 IWL6030_MD5SUM:=d87411296b4eeda0c91322228e9f8437
715 IWL100_NAME:=iwlwifi-100-ucode
716 IWL100_VERSION:=39.31.5.1
717 IWL100_MD5SUM:=b686f0ab94888ccca3ce74d2d6ee1133
718
719
720 define Download/iwl-fw/Default
721 URL:=http://intellinuxwireless.org/iwlwifi/downloads/
722 endef
723
724 define Download/iwl3945-fw
725 $(call Download/iwl-fw/Default)
726 FILE:=$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
727 MD5SUM:=$(IWL3945_MD5SUM)
728 endef
729 $(eval $(call Download,iwl3945-fw))
730
731 define Download/iwl4965-fw
732 $(call Download/iwl-fw/Default)
733 FILE:=$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
734 MD5SUM:=$(IWL4965_MD5SUM)
735 endef
736 $(eval $(call Download,iwl4965-fw))
737
738 define Download/iwl5000-fw
739 $(call Download/iwl-fw/Default)
740 FILE:=$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
741 MD5SUM:=$(IWL5000_MD5SUM)
742 endef
743 $(eval $(call Download,iwl5000-fw))
744
745 define Download/iwl5150-fw
746 $(call Download/iwl-fw/Default)
747 FILE:=$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
748 MD5SUM:=$(IWL5150_MD5SUM)
749 endef
750 $(eval $(call Download,iwl5150-fw))
751
752 define Download/iwl1000-fw
753 $(call Download/iwl-fw/Default)
754 FILE:=$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
755 MD5SUM:=$(IWL1000_MD5SUM)
756 endef
757 $(eval $(call Download,iwl1000-fw))
758
759 define Download/iwl6000-fw
760 $(call Download/iwl-fw/Default)
761 FILE:=$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
762 MD5SUM:=$(IWL6000_MD5SUM)
763 endef
764 $(eval $(call Download,iwl6000-fw))
765
766 define Download/iwl6050-fw
767 $(call Download/iwl-fw/Default)
768 FILE:=$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
769 MD5SUM:=$(IWL6050_MD5SUM)
770 endef
771 $(eval $(call Download,iwl6050-fw))
772
773 define Download/iwl6005-fw
774 $(call Download/iwl-fw/Default)
775 FILE:=$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
776 MD5SUM:=$(IWL6005_MD5SUM)
777 endef
778 $(eval $(call Download,iwl6005-fw))
779
780 define Download/iwl6030-fw
781 $(call Download/iwl-fw/Default)
782 FILE:=$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
783 MD5SUM:=$(IWL6030_MD5SUM)
784 endef
785 $(eval $(call Download,iwl6030-fw))
786
787 define Download/iwl100-fw
788 $(call Download/iwl-fw/Default)
789 FILE:=$(IWL100_NAME)-$(IWL100_VERSION).tgz
790 MD5SUM:=$(IWL100_MD5SUM)
791 endef
792 $(eval $(call Download,iwl100-fw))
793
794 define KernelPackage/iwlagn
795 $(call KernelPackage/mac80211/Default)
796 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
797 TITLE:=Intel AGN Wireless support
798 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX)
799 AUTOLOAD:=$(call AutoLoad,60,iwlagn)
800 MENU:=1
801 endef
802
803 define KernelPackage/iwlagn/description
804 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
805 endef
806
807 define KernelPackage/iwlagn/config
808 menu "Configuration"
809 depends on PACKAGE_kmod-iwlagn
810
811 config IWL5000_FW
812 bool "Intel 5000 Firmware"
813 default y
814 help
815 Download and install firmware for:
816 Intel 5000 wireless card into /lib/firmware.
817
818 config IWL5150_FW
819 bool "Intel 5150 Firmware"
820 default y
821 help
822 Download and install firmware for:
823 Intel 5150 wireless card into /lib/firmware.
824
825 config IWL1000_FW
826 bool "Intel 1000 Firmware"
827 default y
828 help
829 Download and install firmware for:
830 Intel 1000 wireless card into /lib/firmware.
831
832 config IWL6000_FW
833 bool "Intel 6000 Firmware"
834 default y
835 help
836 Download and install firmware for:
837 Intel 6000 wireless card into /lib/firmware.
838
839 config IWL6050_FW
840 bool "Intel 6050 Firmware"
841 default y
842 help
843 Download and install firmware for:
844 Intel 6050 wireless card into /lib/firmware.
845
846 config IWL6005_FW
847 bool "Intel 6005 Firmware"
848 default y
849 help
850 Download and install firmware for:
851 Intel 6005 wireless card into /lib/firmware.
852
853 config IWL6030_FW
854 bool "Intel 6030 Firmware"
855 default y
856 help
857 Download and install firmware for:
858 Intel 6030 wireless card into /lib/firmware.
859
860 config IWL100_FW
861 bool "Intel 100 Firmware"
862 default y
863 help
864 Download and install firmware for:
865 Intel 100 wireless card into /lib/firmware.
866
867 endmenu
868 endef
869
870 define KernelPackage/iwl-legacy
871 $(call KernelPackage/mac80211/Default)
872 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
873 TITLE:=Intel legacy Wireless support
874 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX)
875 AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
876 endef
877
878 define KernelPackage/iwl-legacy/description
879 iwl-legacy kernel module for legacy Intel wireless support
880 endef
881
882 define KernelPackage/iwl3945
883 $(call KernelPackage/mac80211/Default)
884 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
885 TITLE:=Intel iwl3945 Wireless support
886 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX)
887 AUTOLOAD:=$(call AutoLoad,61,iwl3945)
888 endef
889
890 define KernelPackage/iwl3945/description
891 iwl3945 kernel module for Intel 3945 support
892 endef
893
894 define KernelPackage/iwl4965
895 $(call KernelPackage/mac80211/Default)
896 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
897 TITLE:=Intel iwl4965 Wireless support
898 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX)
899 AUTOLOAD:=$(call AutoLoad,61,iwl4965)
900 endef
901
902 define KernelPackage/iwl4965/description
903 iwl4965 kernel module for Intel 4965 support
904 endef
905
906
907 define KernelPackage/mwl8k
908 $(call KernelPackage/mac80211/Default)
909 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
910 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
911 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
912 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
913 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
914 endef
915
916 define KernelPackage/mwl8k/description
917 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
918 endef
919
920 #Broadcom firmware
921 ifneq ($(CONFIG_B43_FW_5_10),)
922 PKG_B43_FWV4_NAME:=broadcom-wl
923 PKG_B43_FWV4_VERSION:=5.10.56.27.3
924 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
925 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
926 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
927 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
928 else
929 ifneq ($(CONFIG_B43_FW_4_178),)
930 PKG_B43_FWV4_NAME:=broadcom-wl
931 PKG_B43_FWV4_VERSION:=4.178.10.4
932 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
933 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
934 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
935 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
936 else
937 PKG_B43_FWV4_NAME:=broadcom-wl
938 PKG_B43_FWV4_VERSION:=4.150.10.5
939 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
940 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
941 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
942 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
943 endif
944 endif
945 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
946 PKG_B43_FWV4_NAME:=broadcom-wl
947 PKG_B43_FWV4_VERSION:=5.2
948 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
949 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
950 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
951 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
952 endif
953
954
955 PKG_B43_FWV3_NAME:=wl_apsta
956 PKG_B43_FWV3_VERSION:=3.130.20.0
957 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
958 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
959 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
960
961 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
962 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
963 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
964 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
965 PKG_B43_FWCUTTER_PROTO:=git
966 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
967 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
968 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
969 else
970 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
971 PKG_B43_FWCUTTER_VERSION:=014
972 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
973 PKG_B43_FWCUTTER_PROTO:=default
974 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
975 PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
976 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
977 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
978 endif
979
980 define Download/b43-common
981 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
982 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
983 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
984 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
985 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
986 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
987 endef
988 $(eval $(call Download,b43-common))
989
990 define Download/b43
991 FILE:=$(PKG_B43_FWV4_SOURCE)
992 URL:=$(PKG_B43_FWV4_SOURCE_URL)
993 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
994 endef
995 $(eval $(call Download,b43))
996
997 define Download/b43legacy
998 FILE:=$(PKG_B43_FWV3_SOURCE)
999 URL:=$(PKG_B43_FWV3_SOURCE_URL)
1000 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
1001 endef
1002 $(eval $(call Download,b43legacy))
1003
1004 define KernelPackage/b43-common
1005 $(call KernelPackage/mac80211/Default)
1006 TITLE:=Generic stuff for Broadcom wireless devices
1007 URL:=http://linuxwireless.org/en/users/Drivers/b43
1008 KCONFIG:= \
1009 CONFIG_HW_RANDOM=y
1010 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1011 endef
1012
1013 define KernelPackage/b43
1014 $(call KernelPackage/b43-common)
1015 TITLE:=Broadcom 43xx wireless support
1016 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
1017 AUTOLOAD:=$(call AutoLoad,30,b43)
1018 MENU:=1
1019 endef
1020
1021 define KernelPackage/b43/config
1022 menu "Configuration"
1023 depends on PACKAGE_kmod-b43
1024
1025 choice
1026 prompt "b43 firmware version"
1027 default B43_FW_4_150
1028 help
1029 This option allows you to select the version of the b43 firmware.
1030
1031 config B43_FW_4_150
1032 bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
1033 help
1034 Stable firmware for BCM43xx devices.
1035
1036 If unsure, select this.
1037
1038 config B43_FW_4_178
1039 bool "Firmware 478.104 from driver 4.178.10.4"
1040 help
1041 Experimental firmware for BCM43xx devices.
1042
1043 This firmware is not tested as much as the "stable" firmware.
1044
1045 If unsure, select the "stable" firmware.
1046
1047 config B43_FW_5_10
1048 bool "Firmware 508.1084 from driver 5.10.56.27"
1049 help
1050 Newer experimental firmware for BCM43xx devices.
1051
1052 This firmware is mostly untested. It is needed for some N-PHY devices.
1053
1054 If unsure, select the "stable" firmware.
1055
1056 config B43_OPENFIRMWARE
1057 bool "Open FirmWare for WiFi networks"
1058 help
1059 Opensource firmware for BCM43xx devices.
1060
1061 Do _not_ select this, unless you know what you are doing.
1062 The Opensource firmware is not suitable for embedded devices, yet.
1063 It does not support QoS, which is bad for AccessPoints.
1064 It does not support hardware crypto acceleration, which is a showstopper
1065 for embedded devices with low CPU resources.
1066
1067 If unsure, select the "stable" firmware.
1068
1069 endchoice
1070
1071 config B43_FW_SQUASH
1072 bool "Remove unnecessary firmware files"
1073 depends on !B43_OPENFIRMWARE
1074 default y
1075 help
1076 This options allows you to remove unnecessary b43 firmware files
1077 from the final rootfs image. This can reduce the rootfs size by
1078 up to 200k.
1079
1080 If unsure, say Y.
1081
1082 config B43_FW_SQUASH_COREREVS
1083 string "Core revisions to include"
1084 depends on B43_FW_SQUASH
1085 default "5,6,7,8,9,10,13,14,15"
1086 help
1087 This is a comma seperated list of core revision numbers.
1088
1089 Example (keep files for rev5 only):
1090 5
1091
1092 Example (keep files for rev5 and rev11):
1093 5,11
1094
1095 config B43_FW_SQUASH_PHYTYPES
1096 string "PHY types to include"
1097 depends on B43_FW_SQUASH
1098 default "G,LP"
1099 help
1100 This is a comma seperated list of PHY types:
1101 A => A-PHY
1102 AG => Dual A-PHY G-PHY
1103 G => G-PHY
1104 LP => LP-PHY
1105 N => N-PHY
1106
1107 Example (keep files for G-PHY only):
1108 G
1109
1110 Example (keep files for G-PHY and N-PHY):
1111 G,N
1112
1113 config PACKAGE_B43_DEBUG
1114 bool "Enable debug output and debugfs for b43"
1115 default n
1116 help
1117 Enable additional debug output and runtime sanity checks for b43
1118 and enables the debugfs interface.
1119
1120 If unsure, say N.
1121
1122 config PACKAGE_B43_PIO
1123 bool "Enable support for PIO transfer mode"
1124 default n
1125 help
1126 Enable support for using PIO instead of DMA. Unless you have DMA
1127 transfer problems you don't need this.
1128
1129 If unsure, say N.
1130
1131 endmenu
1132 endef
1133
1134 define KernelPackage/b43/description
1135 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1136 endef
1137
1138 define KernelPackage/b43legacy
1139 $(call KernelPackage/b43-common)
1140 TITLE:=Broadcom 43xx-legacy wireless support
1141 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1142 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1143 MENU:=1
1144 endef
1145
1146 define KernelPackage/b43legacy/config
1147 menu "Configuration"
1148 depends on PACKAGE_kmod-b43legacy
1149
1150 config B43LEGACY_FW_SQUASH
1151 bool "Remove unnecessary firmware files"
1152 default y
1153 help
1154 This options allows you to remove unnecessary b43legacy firmware files
1155 from the final rootfs image. This can reduce the rootfs size by
1156 up to 50k.
1157
1158 If unsure, say Y.
1159
1160 config B43LEGACY_FW_SQUASH_COREREVS
1161 string "Core revisions to include"
1162 depends on B43LEGACY_FW_SQUASH
1163 default "1,2,3,4"
1164 help
1165 This is a comma seperated list of core revision numbers.
1166
1167 Example (keep files for rev4 only):
1168 4
1169
1170 Example (keep files for rev2 and rev4):
1171 2,4
1172
1173 endmenu
1174 endef
1175
1176 define KernelPackage/b43legacy/description
1177 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1178 endef
1179
1180 BUILDFLAGS:= \
1181 -I$(PKG_BUILD_DIR)/include \
1182 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1183 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1184 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
1185 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1186 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1187 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1188 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1189 -DCONFIG_MAC80211_RC_MINSTREL_HT \
1190 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1191 $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1192 $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1193 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1194 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1195 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1196 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1197 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1198 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1199 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1200 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1201 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1202 $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1203 $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1204 $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965)
1205
1206 MAKE_OPTS:= \
1207 CROSS_COMPILE="$(KERNEL_CROSS)" \
1208 ARCH="$(LINUX_KARCH)" \
1209 EXTRA_CFLAGS="$(BUILDFLAGS)" \
1210 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1211 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1212 CONFIG_MAC80211_RC_MINSTREL=y \
1213 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1214 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1215 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1216 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1217 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1218 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1219 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1220 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1221 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1222 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1223 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1224 CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1225 CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1226 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1227 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1228 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1229 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1230 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1231 CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1232 CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1233 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1234 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1235 CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1236 CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1237 CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1238 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1239 CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1240 CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1241 CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1242 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1243 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1244 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1245 CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1246 CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1247 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1248 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1249 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1250 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1251 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1252 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1253 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1254 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1255 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1256 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1257 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1258 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1259 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1260 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1261 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1262 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1263 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1264 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1265 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1266 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1267 CONFIG_RTL8192CE= \
1268 CONFIG_RTLWIFI= \
1269 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1270 CONFIG_PCMCIA= \
1271 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1272 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1273 CONFIG_LIBERTAS_CS= \
1274 CONFIG_LIBERTAS_SPI= \
1275 CONFIG_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1276 CONFIG_LIBERTAS_THINFIRM= \
1277 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1278 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1279 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1280 CONFIG_NL80211=y \
1281 CONFIG_LIB80211= \
1282 CONFIG_LIB80211_CRYPT_WEP= \
1283 CONFIG_LIB80211_CRYPT_CCMP= \
1284 CONFIG_LIB80211_CRYPT_TKIP= \
1285 CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1286 CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1287 CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1288 CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1289 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1290 CONFIG_ATMEL= \
1291 CONFIG_PCMCIA_ATMEL= \
1292 CONFIG_ADM8211= \
1293 CONFIG_USB_NET_RNDIS_HOST= \
1294 CONFIG_USB_NET_RNDIS_WLAN= \
1295 CONFIG_USB_NET_CDCETHER= \
1296 CONFIG_USB_USBNET= \
1297 CONFIG_AT76C50X_USB= \
1298 CONFIG_WL12XX= \
1299 CONFIG_EEPROM_93CX6= \
1300 CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1301 CONFIG_HERMES_CACHE_FW_ON_INIT= \
1302 CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1303 CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1304 CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1305 CONFIG_HERMES_PRISM= \
1306 CONFIG_APPLE_AIRPORT= \
1307 CONFIG_TMD_HERMES= \
1308 CONFIG_NORTEL_HERMES= \
1309 CONFIG_PCMCIA_SPECTRUM= \
1310 CONFIG_ORINOCO_USB= \
1311 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
1312 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1313 CONFIG_IWM= \
1314 CONFIG_MWIFIEX= \
1315 CONFIG_MAC80211_RC_MINSTREL_HT=y \
1316 MADWIFI= \
1317 KLIB_BUILD="$(LINUX_DIR)" \
1318 MODPROBE=: \
1319 KLIB=$(TARGET_MODULES_DIR) \
1320 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1321 KBUILD_LDFLAGS_MODULE_PREREQ=
1322
1323 ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1324 MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1325 endif
1326
1327 define Build/Prepare
1328 rm -rf $(PKG_BUILD_DIR)
1329 mkdir -p $(PKG_BUILD_DIR)
1330 $(PKG_UNPACK)
1331 $(Build/Patch)
1332 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
1333 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
1334 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
1335 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
1336 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1337 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1338 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION).tgz
1339 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION).tgz
1340 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION).tgz
1341 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION).tgz
1342 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION).tgz
1343 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION).tgz
1344 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION).tgz
1345 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION).tgz
1346 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION).tgz
1347 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL100_NAME)-$(IWL100_VERSION).tgz
1348 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1349 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1350 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1351 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
1352 endef
1353
1354 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
1355 define Build/Compile/kmod
1356 rm -rf $(PKG_BUILD_DIR)/modules
1357 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
1358 endef
1359 endif
1360
1361 define Build/Compile
1362 $(call Build/Compile/kmod)
1363 endef
1364
1365 define Build/InstallDev
1366 mkdir -p \
1367 $(1)/usr/include/mac80211 \
1368 $(1)/usr/include/mac80211/ath \
1369 $(1)/usr/include/net/mac80211
1370 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1371 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1372 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1373 endef
1374
1375 define KernelPackage/libertas-usb/install
1376 $(INSTALL_DIR) $(1)/lib/firmware
1377 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
1378 endef
1379
1380 define KernelPackage/libertas-sd/install
1381 echo "Libertas install: $(CONFIG_PACKAGE_kmod-libertas-sd)"
1382 $(INSTALL_DIR) $(1)/lib/firmware
1383 $(INSTALL_DATA) $(DL_DIR)/$(SD8686FW_NAME)-$(SD8686FW_VERSION).bin $(1)/lib/firmware/$(SD8686FW_NAME).bin
1384 $(INSTALL_DATA) $(DL_DIR)/$(SD8686HELPER_NAME).bin $(1)/lib/firmware/$(SD8686HELPER_NAME).bin
1385 endef
1386
1387 define KernelPackage/cfg80211/install
1388 $(INSTALL_DIR) $(1)/lib/wifi
1389 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1390 endef
1391
1392 define KernelPackage/p54-pci/install
1393 $(INSTALL_DIR) $(1)/lib/firmware
1394 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1395 endef
1396
1397 define KernelPackage/p54-usb/install
1398 $(INSTALL_DIR) $(1)/lib/firmware
1399 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1400 endef
1401
1402 define KernelPackage/p54-spi/install
1403 $(INSTALL_DIR) $(1)/lib/firmware
1404 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1405 endef
1406
1407 define KernelPackage/rt61-pci/install
1408 $(INSTALL_DIR) $(1)/lib/firmware
1409 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
1410 endef
1411
1412 define KernelPackage/rt73-usb/install
1413 $(INSTALL_DIR) $(1)/lib/firmware
1414 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
1415 endef
1416
1417 define KernelPackage/rt2800-pci/install
1418 $(INSTALL_DIR) $(1)/lib/firmware
1419 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
1420 endef
1421
1422 define KernelPackage/rt2800-usb/install
1423 $(INSTALL_DIR) $(1)/lib/firmware
1424 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
1425 endef
1426
1427 define KernelPackage/zd1211rw/install
1428 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1429 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1430 endef
1431
1432 define KernelPackage/ar9170/install
1433 $(INSTALL_DIR) $(1)/lib/firmware
1434 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
1435 endef
1436
1437 define KernelPackage/ath9k-htc/install
1438 $(INSTALL_DIR) $(1)/lib/firmware
1439 $(INSTALL_DATA) \
1440 $(DL_DIR)/$(AR9271FW) \
1441 $(DL_DIR)/$(AR7010FW) \
1442 $(DL_DIR)/$(AR7010_1_1_FW) \
1443 $(1)/lib/firmware/
1444 endef
1445
1446 define KernelPackage/net-ipw2100/install
1447 $(INSTALL_DIR) $(1)/lib/firmware
1448 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1449 endef
1450
1451 define KernelPackage/net-ipw2200/install
1452 $(INSTALL_DIR) $(1)/lib/firmware
1453 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1454 endef
1455
1456 define KernelPackage/iwlagn/install
1457 $(INSTALL_DIR) $(1)/lib/firmware
1458 ifneq ($(CONFIG_IWL5000_FW),)
1459 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION)/iwlwifi-5000-*.ucode $(1)/lib/firmware
1460 endif
1461 ifneq ($(CONFIG_IWL5150_FW),)
1462 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION)/iwlwifi-5150-*.ucode $(1)/lib/firmware
1463 endif
1464 ifneq ($(CONFIG_IWL1000_FW),)
1465 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION)/iwlwifi-1000-*.ucode $(1)/lib/firmware
1466 endif
1467 ifneq ($(CONFIG_IWL6000_FW),)
1468 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION)/iwlwifi-6000-*.ucode $(1)/lib/firmware
1469 endif
1470 ifneq ($(CONFIG_IWL6050_FW),)
1471 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION)/iwlwifi-6050-*.ucode $(1)/lib/firmware
1472 endif
1473 ifneq ($(CONFIG_IWL6005_FW),)
1474 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION)/iwlwifi-6000g2a-*.ucode $(1)/lib/firmware
1475 endif
1476 ifneq ($(CONFIG_IWL6030_FW),)
1477 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION)/iwlwifi-6000g2b-*.ucode $(1)/lib/firmware
1478 endif
1479 ifneq ($(CONFIG_IWL100_FW),)
1480 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL100_NAME)-$(IWL100_VERSION)/iwlwifi-100-*.ucode $(1)/lib/firmware
1481 endif
1482 endef
1483
1484 define KernelPackage/iwl3945/install
1485 $(INSTALL_DIR) $(1)/lib/firmware
1486 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION)/iwlwifi-3945-*.ucode $(1)/lib/firmware
1487 endef
1488
1489 define KernelPackage/iwl4965/install
1490 $(INSTALL_DIR) $(1)/lib/firmware
1491 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION)/iwlwifi-4965-*.ucode $(1)/lib/firmware
1492 endef
1493
1494 define Build/b43-common
1495 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1496 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1497 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1498 QUIET_SPARSE=:
1499 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1500 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1501 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1502 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1503 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1504 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1505 endif
1506 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1507 endef
1508
1509 define KernelPackage/b43/install
1510 rm -rf $(1)/lib/firmware/
1511 $(call Build/b43-common)
1512 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1513 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1514 else
1515 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1516 endif
1517 $(INSTALL_DIR) $(1)/lib/firmware/
1518 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1519 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1520 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1521 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1522 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1523 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1524 else
1525 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1526 endif
1527 ifneq ($(CONFIG_B43_FW_SQUASH),)
1528 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1529 endif
1530 endef
1531
1532 define KernelPackage/b43legacy/install
1533 $(call Build/b43-common)
1534 $(INSTALL_DIR) $(1)/lib/firmware/
1535
1536 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1537 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1538 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1539 endif
1540 endef
1541
1542 $(eval $(call KernelPackage,ath5k))
1543 $(eval $(call KernelPackage,libertas-usb))
1544 $(eval $(call KernelPackage,libertas-sd))
1545 $(eval $(call KernelPackage,cfg80211))
1546 $(eval $(call KernelPackage,mac80211))
1547 $(eval $(call KernelPackage,p54-common))
1548 $(eval $(call KernelPackage,p54-pci))
1549 $(eval $(call KernelPackage,p54-usb))
1550 $(eval $(call KernelPackage,p54-spi))
1551 $(eval $(call KernelPackage,rt2x00-lib))
1552 $(eval $(call KernelPackage,rt2x00-pci))
1553 $(eval $(call KernelPackage,rt2x00-usb))
1554 $(eval $(call KernelPackage,rt2x00-soc))
1555 $(eval $(call KernelPackage,rt2800-lib))
1556 $(eval $(call KernelPackage,rt2400-pci))
1557 $(eval $(call KernelPackage,rt2500-pci))
1558 $(eval $(call KernelPackage,rt2500-usb))
1559 $(eval $(call KernelPackage,rt61-pci))
1560 $(eval $(call KernelPackage,rt73-usb))
1561 $(eval $(call KernelPackage,rt2800-pci))
1562 $(eval $(call KernelPackage,rt2800-usb))
1563 $(eval $(call KernelPackage,rtl8180))
1564 $(eval $(call KernelPackage,rtl8187))
1565 $(eval $(call KernelPackage,zd1211rw))
1566 $(eval $(call KernelPackage,mac80211-hwsim))
1567 $(eval $(call KernelPackage,ath9k-common))
1568 $(eval $(call KernelPackage,ath9k))
1569 $(eval $(call KernelPackage,ath9k-htc))
1570 $(eval $(call KernelPackage,ath))
1571 $(eval $(call KernelPackage,carl9170))
1572 $(eval $(call KernelPackage,b43))
1573 $(eval $(call KernelPackage,b43legacy))
1574 $(eval $(call KernelPackage,net-libipw))
1575 $(eval $(call KernelPackage,net-ipw2100))
1576 $(eval $(call KernelPackage,net-ipw2200))
1577 $(eval $(call KernelPackage,iwlagn))
1578 $(eval $(call KernelPackage,iwl-legacy))
1579 $(eval $(call KernelPackage,iwl4965))
1580 $(eval $(call KernelPackage,iwl3945))
1581 $(eval $(call KernelPackage,mwl8k))
1582 $(eval $(call KernelPackage,net-hermes))
1583 $(eval $(call KernelPackage,net-hermes-pci))
1584 $(eval $(call KernelPackage,net-hermes-plx))
1585 $(eval $(call KernelPackage,net-hermes-pcmcia))