02b355959f3651ab6e7abe9580f54d5825d84019
[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-02-16
14 PKG_RELEASE:=3
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:=190060a705c2b78e9b0bc873a8803b37
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:=@LINUX_2_6 @!TARGET_avr32 @(!(TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
39 endef
40
41 define KernelPackage/mac80211
42 $(call KernelPackage/mac80211/Default)
43 TITLE:=Linux 802.11 Wireless Networking Stack
44 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +iw @!LINUX_2_6_25
45 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
46 FILES:= \
47 $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
48 $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
49 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
50 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211 mac80211)
51 else
52 FILES:= \
53 $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
54 $(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \
55 $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
56 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
57 AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211 mac80211)
58 endif
59
60 endef
61
62 define KernelPackage/mac80211/config
63 source "$(SOURCE)/Config.in"
64 endef
65
66 define KernelPackage/mac80211/description
67 Linux 802.11 Wireless Networking Stack
68 endef
69
70 # Prism54 drivers
71 P54PCIFW:=2.13.12.0.arm
72 P54USBFW:=2.13.24.0.lm87.arm
73
74 define Download/p54usb
75 FILE:=$(P54USBFW)
76 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
77 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
78 endef
79 $(eval $(call Download,p54usb))
80
81 define Download/p54pci
82 FILE:=$(P54PCIFW)
83 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
84 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
85 endef
86 $(eval $(call Download,p54pci))
87
88 define KernelPackage/p54/Default
89 $(call KernelPackage/mac80211/Default)
90 TITLE:=Prism54 Drivers
91 endef
92
93 define KernelPackage/p54/description
94 Kernel module for Prism54 chipsets (mac80211)
95 endef
96
97 define KernelPackage/p54-common
98 $(call KernelPackage/p54/Default)
99 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
100 TITLE+= (COMMON)
101 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
102 AUTOLOAD:=$(call AutoLoad,30,p54common)
103 endef
104
105 define KernelPackage/p54-pci
106 $(call KernelPackage/p54/Default)
107 TITLE+= (PCI)
108 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
109 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
110 AUTOLOAD:=$(call AutoLoad,31,p54pci)
111 endef
112
113 define KernelPackage/p54-usb
114 $(call KernelPackage/p54/Default)
115 TITLE+= (USB)
116 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
117 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
118 AUTOLOAD:=$(call AutoLoad,31,p54usb)
119 endef
120
121 # Ralink rt2x00 drivers
122 RT61FW:=RT61_Firmware_V1.2.zip
123 RT71FW:=RT71W_Firmware_V1.8.zip
124 RT2860FW:=RT2860_Firmware_V11.zip
125 RT2870FW:=RT2870_Firmware_V8.zip
126
127 define Download/rt61
128 FILE:=$(RT61FW)
129 URL:=http://www.ralinktech.com.tw/data/
130 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
131 endef
132 $(eval $(call Download,rt61))
133
134 define Download/rt71w
135 FILE:=$(RT71FW)
136 URL:=http://www.ralinktech.com.tw/data/
137 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
138 endef
139 $(eval $(call Download,rt71w))
140
141 define Download/rt2860
142 FILE:=$(RT2860FW)
143 URL:=http://www.ralinktech.com.tw/data/drivers
144 MD5SUM:=440a81756a52c53528f16faa41c40124
145 endef
146 $(eval $(call Download,rt2860))
147
148 define Download/rt2870
149 FILE:=$(RT2870FW)
150 URL:=http://www.ralinktech.com.tw/data/drivers
151 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
152 endef
153 $(eval $(call Download,rt2870))
154
155 AR9170FW:=ar9170.fw
156
157 define Download/ar9170
158 FILE:=$(AR9170FW)
159 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
160 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
161 endef
162 $(eval $(call Download,ar9170))
163
164 define KernelPackage/rt2x00/Default
165 $(call KernelPackage/mac80211/Default)
166 TITLE:=Ralink Drivers for RT2x00 cards
167 endef
168
169 define KernelPackage/rt2x00-lib
170 $(call KernelPackage/rt2x00/Default)
171 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-crc-itu-t
172 TITLE+= (LIB)
173 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
174 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
175 endef
176
177 define KernelPackage/rt2x00-pci
178 $(call KernelPackage/rt2x00/Default)
179 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
180 TITLE+= (PCI)
181 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
182 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
183 endef
184
185 define KernelPackage/rt2x00-usb
186 $(call KernelPackage/rt2x00/Default)
187 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
188 TITLE+= (USB)
189 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
190 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
191 endef
192
193 define KernelPackage/rt2800-lib
194 $(call KernelPackage/rt2x00/Default)
195 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb
196 TITLE+= (rt2800 LIB)
197 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.$(LINUX_KMOD_SUFFIX)
198 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
199 endef
200
201 define KernelPackage/rt2400-pci
202 $(call KernelPackage/rt2x00/Default)
203 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
204 TITLE+= (RT2400 PCI)
205 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
206 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
207 endef
208
209 define KernelPackage/rt2500-pci
210 $(call KernelPackage/rt2x00/Default)
211 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
212 TITLE+= (RT2500 PCI)
213 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
214 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
215 endef
216
217 define KernelPackage/rt2500-usb
218 $(call KernelPackage/rt2x00/Default)
219 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
220 TITLE+= (RT2500 USB)
221 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
222 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
223 endef
224
225 define KernelPackage/rt61-pci
226 $(call KernelPackage/rt2x00/Default)
227 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
228 TITLE+= (RT2x61 PCI)
229 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
230 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
231 endef
232
233 define KernelPackage/rt73-usb
234 $(call KernelPackage/rt2x00/Default)
235 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
236 TITLE+= (RT73 USB)
237 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
238 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
239 endef
240
241 define KernelPackage/rt2800-pci
242 $(call KernelPackage/rt2x00/Default)
243 DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt
244 TITLE+= (RT2860 PCI)
245 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
246 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
247 endef
248
249 define KernelPackage/rt2800-usb
250 $(call KernelPackage/rt2x00/Default)
251 DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
252 TITLE+= (RT2870 USB)
253 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
254 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
255 endef
256
257 define KernelPackage/rtl818x/Default
258 $(call KernelPackage/mac80211/Default)
259 TITLE:=Realtek Drivers for RTL818x devices
260 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
261 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
262 endef
263
264 define KernelPackage/rtl8180
265 $(call KernelPackage/rtl818x/Default)
266 DEPENDS+= @PCI_SUPPORT
267 TITLE+= (RTL8180 PCI)
268 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
269 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
270 endef
271
272 define KernelPackage/rtl8187
273 $(call KernelPackage/rtl818x/Default)
274 DEPENDS+= @USB_SUPPORT
275 TITLE+= (RTL8187 USB)
276 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
277 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
278 endef
279
280 ZD1211FW_NAME:=zd1211-firmware
281 ZD1211FW_VERSION:=1.4
282 define Download/zd1211rw
283 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
284 URL:=@SF/zd1211/
285 MD5SUM:=19f28781d76569af8551c9d11294c870
286 endef
287 $(eval $(call Download,zd1211rw))
288
289 define KernelPackage/zd1211rw
290 $(call KernelPackage/mac80211/Default)
291 TITLE:=Zydas ZD1211 support
292 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
293 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
294 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
295 endef
296
297 define KernelPackage/ath/config
298
299 config ATH_USER_REGD
300 bool "Force Atheros drivers to respect the user's regdomain settings"
301 depends on PACKAGE_kmod-ath
302 help
303 Atheros' idea of regulatory handling is that the EEPROM of the card defines
304 the regulatory limits and the user is only allowed to restrict the settings
305 even further, even if the country allows frequencies or power levels that
306 are forbidden by the EEPROM settings.
307 Select this option if you want the driver to respect the user's decision about
308 regulatory settings.
309
310 config PACKAGE_ATH_DEBUG
311 bool "Atheros wireless debugging"
312 depends on PACKAGE_kmod-ath
313 help
314 Say Y, if you want to debug atheros wireless drivers.
315 Right now only ath9k makes use of this.
316 endef
317
318 define KernelPackage/ath
319 $(call KernelPackage/mac80211/Default)
320 TITLE:=Atheros common driver part
321 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
322 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
323 AUTOLOAD:=$(call AutoLoad,26,ath)
324 endef
325
326 define KernelPackage/ath/description
327 This module contains some common parts needed by Atheros Wireless drivers.
328 endef
329
330 define KernelPackage/ath5k
331 $(call KernelPackage/mac80211/Default)
332 TITLE:=Atheros 5xxx wireless cards support
333 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
334 DEPENDS+= +kmod-ath
335 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
336 AUTOLOAD:=$(call AutoLoad,27,ath5k)
337 endef
338
339 define KernelPackage/ath5k/description
340 This module adds support for wireless adapters based on
341 Atheros 5xxx chipset.
342 endef
343
344 define KernelPackage/ath9k
345 $(call KernelPackage/mac80211/Default)
346 TITLE:=Atheros 802.11n wireless cards support
347 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
348 DEPENDS+= +kmod-ath
349 FILES:= \
350 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
351 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
352 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
353 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
354 endef
355
356 define KernelPackage/ath9k/description
357 This module adds support for wireless adapters based on
358 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
359 endef
360
361 define KernelPackage/ath9k/config
362 source "$(SOURCE)/Config.in.ath9k"
363 endef
364
365 USB8388FW_NAME:=usb8388
366 USB8388FW_VERSION:=5.110.22.p23
367
368 define Download/usb8388
369 URL:=http://dev.laptop.org/pub/firmware/libertas/
370 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
371 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
372 endef
373 $(eval $(call Download,usb8388))
374
375 define KernelPackage/libertas
376 $(call KernelPackage/mac80211/Default)
377 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
378 TITLE:=Marvell 88W8015 Wireless Driver
379 FILES:= \
380 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
381 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
382 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
383 endef
384
385
386 define KernelPackage/ar9170
387 $(call KernelPackage/mac80211/Default)
388 TITLE:=Atheros AR9170 802.11n USB support
389 URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
390 DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
391 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
392 AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
393 endef
394
395 define KernelPackage/ar9170/description
396 This is a driver for the Atheros "otus" 802.11n USB devices.
397 endef
398
399 define KernelPackage/mac80211-hwsim
400 $(call KernelPackage/mac80211/Default)
401 TITLE:=mac80211 HW simulation device
402 DEPENDS+= +kmod-mac80211
403 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
404 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
405 endef
406
407 #Broadcom firmware
408 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
409 PKG_B43_FWV4_NAME:=broadcom-wl
410 PKG_B43_FWV4_VERSION:=4.178.10.4
411 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
412 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
413 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
414 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
415 else
416 PKG_B43_FWV4_NAME:=broadcom-wl
417 PKG_B43_FWV4_VERSION:=4.150.10.5
418 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
419 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
420 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
421 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
422 endif
423 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
424 PKG_B43_FWV4_NAME:=broadcom-wl
425 PKG_B43_FWV4_VERSION:=5.2
426 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
427 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
428 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
429 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
430 endif
431
432
433 PKG_B43_FWV3_NAME:=wl_apsta
434 PKG_B43_FWV3_VERSION:=3.130.20.0
435 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
436 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
437 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
438
439 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
440 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
441 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
442 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
443 PKG_B43_FWCUTTER_PROTO:=git
444 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
445 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
446 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
447 else
448 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
449 PKG_B43_FWCUTTER_VERSION:=012
450 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
451 PKG_B43_FWCUTTER_PROTO:=default
452 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
453 PKG_B43_FWCUTTER_MD5SUM:=69eadf67b459f313a8d6b37aaabef96c
454 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
455 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
456 endif
457
458 define Download/b43-common
459 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
460 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
461 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
462 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
463 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
464 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
465 endef
466 $(eval $(call Download,b43-common))
467
468 define Download/b43
469 FILE:=$(PKG_B43_FWV4_SOURCE)
470 URL:=$(PKG_B43_FWV4_SOURCE_URL)
471 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
472 endef
473 $(eval $(call Download,b43))
474
475 define Download/b43legacy
476 FILE:=$(PKG_B43_FWV3_SOURCE)
477 URL:=$(PKG_B43_FWV3_SOURCE_URL)
478 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
479 endef
480 $(eval $(call Download,b43legacy))
481
482 define KernelPackage/b43-common
483 $(call KernelPackage/mac80211/Default)
484 TITLE:=Generic stuff for Broadcom wireless devices
485 URL:=http://linuxwireless.org/en/users/Drivers/b43
486 KCONFIG:= \
487 CONFIG_HW_RANDOM=y
488 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
489 endef
490
491 define KernelPackage/b43
492 $(call KernelPackage/b43-common)
493 TITLE:=Broadcom 43xx wireless support
494 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
495 AUTOLOAD:=$(call AutoLoad,30,b43)
496 endef
497
498 define KernelPackage/b43/config
499 source "$(SOURCE)/Config.in.b43"
500 endef
501
502 define KernelPackage/b43/description
503 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
504 endef
505
506 define KernelPackage/b43legacy
507 $(call KernelPackage/b43-common)
508 TITLE:=Broadcom 43xx-legacy wireless support
509 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
510 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
511 endef
512
513 define KernelPackage/b43legacy/config
514 source "$(SOURCE)/Config.in.b43legacy"
515 endef
516
517 define KernelPackage/b43legacy/description
518 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
519 endef
520
521 BUILDFLAGS:= \
522 -I$(PKG_BUILD_DIR)/include \
523 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
524 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
525 $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
526 $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
527 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
528 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
529 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
530 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG) \
531 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
532 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
533 $(if $(CONFIG_PACKAGE_ATH9K_USE_MINSTREL),-DATH9K_USE_MINSTREL)
534
535 MAKE_OPTS:= \
536 CROSS_COMPILE="$(KERNEL_CROSS)" \
537 ARCH="$(LINUX_KARCH)" \
538 EXTRA_CFLAGS="$(BUILDFLAGS)" \
539 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
540 CONFIG_MAC80211_RC_PID=y \
541 CONFIG_MAC80211_RC_MINSTREL=y \
542 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
543 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
544 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
545 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
546 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
547 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
548 CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
549 CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
550 CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
551 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
552 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
553 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
554 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
555 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
556 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
557 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
558 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
559 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
560 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
561 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
562 CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
563 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
564 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
565 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
566 CONFIG_P54_SPI= \
567 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
568 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
569 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
570 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
571 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
572 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
573 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
574 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
575 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
576 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
577 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
578 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
579 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
580 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
581 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
582 CONFIG_PCMCIA= \
583 CONFIG_LIBIPW= \
584 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
585 CONFIG_LIBERTAS_CS= \
586 CONFIG_LIBERTAS_SDIO= \
587 CONFIG_LIBERTAS_THINFIRM= \
588 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
589 CONFIG_IPW2100= \
590 CONFIG_IPW2200= \
591 CONFIG_NL80211=y \
592 CONFIG_LIB80211= \
593 CONFIG_LIB80211_CRYPT_WEP= \
594 CONFIG_LIB80211_CRYPT_CCMP= \
595 CONFIG_LIB80211_CRYPT_TKIP= \
596 CONFIG_IWLWIFI= \
597 CONFIG_IWLAGN= \
598 CONFIG_MWL8K= \
599 CONFIG_ATMEL= \
600 CONFIG_PCMCIA_ATMEL= \
601 CONFIG_ADM8211= \
602 CONFIG_USB_NET_RNDIS_HOST= \
603 CONFIG_USB_NET_RNDIS_WLAN= \
604 CONFIG_USB_NET_CDCETHER= \
605 CONFIG_USB_USBNET= \
606 CONFIG_AT76C50X_USB= \
607 CONFIG_WL12XX= \
608 CONFIG_EEPROM_93CX6= \
609 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
610 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
611 CONFIG_IWM= \
612 MADWIFI= \
613 OLD_IWL= \
614 KLIB_BUILD="$(LINUX_DIR)" \
615 MODPROBE=: \
616 KLIB=$(TARGET_MODULES_DIR) \
617 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
618
619 define Build/Prepare
620 rm -rf $(PKG_BUILD_DIR)
621 mkdir -p $(PKG_BUILD_DIR)
622 $(PKG_UNPACK)
623 $(Build/Patch)
624 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
625 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
626 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
627 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
628 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
629 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
630 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
631 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
632 endef
633
634 ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
635 define Build/Compile/kmod
636 rm -rf $(PKG_BUILD_DIR)/modules
637 $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
638 endef
639 endif
640
641 define Build/Compile
642 $(call Build/Compile/kmod)
643 endef
644
645 define Build/InstallDev
646 mkdir -p \
647 $(1)/usr/include/mac80211 \
648 $(1)/usr/include/mac80211/ath \
649 $(1)/usr/include/net/mac80211
650 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
651 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
652 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
653 endef
654
655 define KernelPackage/libertas/install
656 $(INSTALL_DIR) $(1)/lib/firmware
657 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
658 endef
659
660 define KernelPackage/mac80211/install
661 $(INSTALL_DIR) $(1)/lib/wifi
662 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
663 endef
664
665 define KernelPackage/p54-pci/install
666 $(INSTALL_DIR) $(1)/lib/firmware
667 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
668 endef
669
670 define KernelPackage/p54-usb/install
671 $(INSTALL_DIR) $(1)/lib/firmware
672 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
673 endef
674
675 define KernelPackage/rt61-pci/install
676 $(INSTALL_DIR) $(1)/lib/firmware
677 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
678 endef
679
680 define KernelPackage/rt73-usb/install
681 $(INSTALL_DIR) $(1)/lib/firmware
682 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
683 endef
684
685 define KernelPackage/rt2800-pci/install
686 $(INSTALL_DIR) $(1)/lib/firmware
687 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
688 endef
689
690 define KernelPackage/rt2800-usb/install
691 $(INSTALL_DIR) $(1)/lib/firmware
692 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
693 endef
694
695 define KernelPackage/zd1211rw/install
696 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
697 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
698 endef
699
700 define KernelPackage/ar9170/install
701 $(INSTALL_DIR) $(1)/lib/firmware
702 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
703 endef
704
705 define Build/b43-common
706 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
707 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
708 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
709 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
710 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
711 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
712 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
713 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
714 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
715 endif
716 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
717 endef
718
719 define KernelPackage/b43/install
720 rm -rf $(1)/lib/firmware/
721 $(call Build/b43-common)
722 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
723 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
724 else
725 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
726 endif
727 $(INSTALL_DIR) $(1)/lib/firmware/
728 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
729 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
730 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
731 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
732 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
733 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
734 else
735 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
736 endif
737 ifneq ($(CONFIG_B43_FW_SQUASH),)
738 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
739 endif
740 endef
741
742 define KernelPackage/b43legacy/install
743 $(call Build/b43-common)
744 $(INSTALL_DIR) $(1)/lib/firmware/
745
746 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
747 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
748 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
749 endif
750 endef
751
752 $(eval $(call KernelPackage,ath5k))
753 $(eval $(call KernelPackage,libertas))
754 $(eval $(call KernelPackage,mac80211))
755 $(eval $(call KernelPackage,p54-common))
756 $(eval $(call KernelPackage,p54-pci))
757 $(eval $(call KernelPackage,p54-usb))
758 $(eval $(call KernelPackage,rt2x00-lib))
759 $(eval $(call KernelPackage,rt2x00-pci))
760 $(eval $(call KernelPackage,rt2x00-usb))
761 $(eval $(call KernelPackage,rt2800-lib))
762 $(eval $(call KernelPackage,rt2400-pci))
763 $(eval $(call KernelPackage,rt2500-pci))
764 $(eval $(call KernelPackage,rt2500-usb))
765 $(eval $(call KernelPackage,rt61-pci))
766 $(eval $(call KernelPackage,rt73-usb))
767 $(eval $(call KernelPackage,rt2800-pci))
768 $(eval $(call KernelPackage,rt2800-usb))
769 $(eval $(call KernelPackage,rtl8180))
770 $(eval $(call KernelPackage,rtl8187))
771 $(eval $(call KernelPackage,zd1211rw))
772 $(eval $(call KernelPackage,mac80211-hwsim))
773 $(eval $(call KernelPackage,ath9k))
774 $(eval $(call KernelPackage,ath))
775 $(eval $(call KernelPackage,ar9170))
776 $(eval $(call KernelPackage,b43))
777 $(eval $(call KernelPackage,b43legacy))