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