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