8a1fc4fd83468ab50859604987e7ef6e04a78b54
[openwrt/svn-archive/archive.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2012 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:=2013-06-27
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=.1
17 PKG_MD5SUM:=73bd220c64c5c6fdc22b3bb7f180644f
18
19 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
20 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
21 PKG_BUILD_PARALLEL:=1
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
24
25 PKG_DRIVERS = \
26 adm8211 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
27 rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
28 rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
29 rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
30 ath9k-common ath9k ath9k-htc ath10k ath net-libipw net-ipw2100 net-ipw2200 \
31 mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
32 iwl-legacy iwl3945 iwl4965 iwlagn wl12xx lib80211 \
33 rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
34 rtl8192de rtl8192cu
35
36 PKG_CONFIG_DEPENDS:= \
37 CONFIG_PACKAGE_kmod-mac80211 \
38 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
39 CONFIG_PACKAGE_MAC80211_DEBUGFS \
40 CONFIG_PACKAGE_MAC80211_MESH \
41 CONFIG_PACKAGE_ATH_DEBUG \
42 CONFIG_PACKAGE_B43_DEBUG \
43 CONFIG_PACKAGE_B43_PIO \
44 CONFIG_PACKAGE_B43_N_PHY \
45 CONFIG_PACKAGE_RTLWIFI_DEBUG \
46 CONFIG_ATH_USER_REGD \
47
48 CARL9170_FW_VERSION:=1.9.6
49
50 include $(INCLUDE_DIR)/package.mk
51
52 WMENU:=Wireless Drivers
53
54 define KernelPackage/mac80211/Default
55 SUBMENU:=$(WMENU)
56 URL:=http://linuxwireless.org/
57 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
58 DEPENDS:=@(!(TARGET_avr32||TARGET_ps3||TARGET_pxcab)||BROKEN)
59 endef
60
61 define KernelPackage/cfg80211
62 $(call KernelPackage/mac80211/Default)
63 TITLE:=cfg80211 - wireless configuration API
64 DEPENDS+= +iw
65 FILES:= \
66 $(PKG_BUILD_DIR)/compat/compat.ko \
67 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
68 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
69 endef
70
71 define KernelPackage/cfg80211/description
72 cfg80211 is the Linux wireless LAN (802.11) configuration API.
73 endef
74
75 define KernelPackage/mac80211
76 $(call KernelPackage/mac80211/Default)
77 TITLE:=Linux 802.11 Wireless Networking Stack
78 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
79 KCONFIG:=\
80 CONFIG_AVERAGE=y
81 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
82 AUTOLOAD:=$(call AutoLoad,21,mac80211)
83 MENU:=1
84 endef
85
86 define KernelPackage/mac80211/config
87 if PACKAGE_kmod-mac80211
88
89 config PACKAGE_MAC80211_DEBUGFS
90 bool "Export mac80211 internals in DebugFS"
91 select KERNEL_DEBUG_FS
92 select KERNEL_RELAY if PACKAGE_kmod-ath9k-common
93 default y
94 help
95 Select this to see extensive information about
96 the internal state of mac80211 in debugfs.
97
98 config PACKAGE_MAC80211_MESH
99 bool "Enable 802.11s mesh support"
100 default y
101
102 endif
103 endef
104
105 define KernelPackage/mac80211/description
106 Generic IEEE 802.11 Networking Stack (mac80211)
107 endef
108
109 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
110 PKG_LINUX_FIRMWARE_VERSION:=6942dba419d2ebf8c15514972e89734fd7a8cebc
111 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
112 PKG_LINUX_FIRMWARE_PROTO:=git
113 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
114 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
115 PKG_LINUX_FIRMWARE_MIRROR_MD5SUM:=a5f8c27af9e43f0ad24d7f821c5a781e
116
117 define Download/linux-firmware
118 FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
119 URL:=$(PKG_LINUX_FIRMWARE_SOURCE_URL)
120 MD5SUM:=$(PKG_LINUX_FIRMWARE_MD5SUM)
121 PROTO:=$(PKG_LINUX_FIRMWARE_PROTO)
122 VERSION:=$(PKG_LINUX_FIRMWARE_VERSION)
123 SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR)
124 MIRROR_MD5SUM:=$(PKG_LINUX_FIRMWARE_MIRROR_MD5SUM)
125 endef
126 $(eval $(call Download,linux-firmware))
127
128 PKG_ATH10K_LINUX_FIRMWARE_NAME:=ath10k-firmware
129 PKG_ATH10K_LINUX_FIRMWARE_VERSION:=9374d42c01bd84487855af9f9bffc622c50e7331
130 PKG_ATH10K_LINUX_FIRMWARE_SOURCE:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION).tar.bz2
131 PKG_ATH10K_LINUX_FIRMWARE_PROTO:=git
132 PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git
133 PKG_ATH10K_LINUX_FIRMWARE_SUBDIR:=$(PKG_ATH10K_LINUX_FIRMWARE_NAME)-$(PKG_ATH10K_LINUX_FIRMWARE_VERSION)
134 #PKG_ATH10K_LINUX_FIRMWARE_MIRROR_MD5SUM:=?
135
136 define Download/ath10k-firmware
137 FILE:=$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
138 URL:=$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE_URL)
139 PROTO:=$(PKG_ATH10K_LINUX_FIRMWARE_PROTO)
140 VERSION:=$(PKG_ATH10K_LINUX_FIRMWARE_VERSION)
141 SUBDIR:=$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)
142 #MIRROR_MD5SUM:=$(PKG_ATH10K_LINUX_FIRMWARE_MIRROR_MD5SUM)
143 endef
144 $(eval $(call Download,ath10k-firmware))
145
146 # Prism54 drivers
147 P54PCIFW:=2.13.12.0.arm
148 P54USBFW:=2.13.24.0.lm87.arm
149 P54SPIFW:=2.13.0.0.a.13.14.arm
150 CARL9170_FW:=carl9170-1.fw
151
152 define Download/p54usb
153 FILE:=$(P54USBFW)
154 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
155 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
156 endef
157 $(eval $(call Download,p54usb))
158
159 define Download/p54pci
160 FILE:=$(P54PCIFW)
161 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
162 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
163 endef
164 $(eval $(call Download,p54pci))
165
166 define Download/p54spi
167 FILE:=$(P54SPIFW)
168 URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
169 MD5SUM:=42661f8ecbadd88012807493f596081d
170 endef
171 $(eval $(call Download,p54spi))
172
173 define Download/carl9170
174 FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
175 URL:=http://downloads.openwrt.org/sources/
176 MD5SUM:=2fa6ed98d53d0b5fbcc136d1cf5e9609
177 endef
178 $(eval $(call Download,carl9170))
179
180 define KernelPackage/p54/Default
181 $(call KernelPackage/mac80211/Default)
182 TITLE:=Prism54 Drivers
183 endef
184
185 define KernelPackage/p54/description
186 Kernel module for Prism54 chipsets (mac80211)
187 endef
188
189 define KernelPackage/p54-common
190 $(call KernelPackage/p54/Default)
191 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
192 TITLE+= (COMMON)
193 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
194 AUTOLOAD:=$(call AutoLoad,30,p54common)
195 endef
196
197 define KernelPackage/p54-pci
198 $(call KernelPackage/p54/Default)
199 TITLE+= (PCI)
200 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
201 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
202 AUTOLOAD:=$(call AutoLoad,31,p54pci)
203 endef
204
205 define KernelPackage/p54-usb
206 $(call KernelPackage/p54/Default)
207 TITLE+= (USB)
208 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
209 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
210 AUTOLOAD:=$(call AutoLoad,31,p54usb)
211 endef
212
213 define KernelPackage/p54-spi
214 $(call KernelPackage/p54/Default)
215 TITLE+= (SPI)
216 DEPENDS+= @TARGET_omap24xx +kmod-p54-common
217 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
218 AUTOLOAD:=$(call AutoLoad,31,p54spi)
219 endef
220
221 define KernelPackage/rt2x00/Default
222 $(call KernelPackage/mac80211/Default)
223 TITLE:=Ralink Drivers for RT2x00 cards
224 endef
225
226 define KernelPackage/rt2x00-lib
227 $(call KernelPackage/rt2x00/Default)
228 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
229 TITLE+= (LIB)
230 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
231 AUTOLOAD:=$(call AutoLoad,24,rt2x00lib)
232 MENU:=1
233 endef
234
235 define KernelPackage/rt2x00-lib/config
236 if PACKAGE_kmod-rt2x00-lib
237
238 config PACKAGE_RT2X00_LIB_DEBUGFS
239 bool "Enable rt2x00 debugfs support"
240 depends on PACKAGE_MAC80211_DEBUGFS
241 help
242 Enable creation of debugfs files for the rt2x00 drivers.
243 These debugfs files support both reading and writing of the
244 most important register types of the rt2x00 hardware.
245
246 config PACKAGE_RT2X00_DEBUG
247 bool "Enable rt2x00 debug output"
248 help
249 Enable debugging output for all rt2x00 modules
250
251 endif
252 endef
253
254 define KernelPackage/rt2x00-mmio
255 $(call KernelPackage/rt2x00/Default)
256 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
257 TITLE+= (MMIO)
258 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00mmio.ko
259 AUTOLOAD:=$(call AutoLoad,25,rt2x00mmio)
260 endef
261
262 define KernelPackage/rt2x00-pci
263 $(call KernelPackage/rt2x00/Default)
264 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
265 TITLE+= (PCI)
266 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
267 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
268 endef
269
270 define KernelPackage/rt2x00-usb
271 $(call KernelPackage/rt2x00/Default)
272 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
273 TITLE+= (USB)
274 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
275 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
276 endef
277
278 define KernelPackage/rt2x00-soc
279 $(call KernelPackage/rt2x00/Default)
280 DEPENDS+=@TARGET_ramips_rt305x +kmod-rt2x00-mmio +kmod-rt2x00-lib
281 TITLE+= (SoC)
282 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
283 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
284 endef
285
286 define KernelPackage/rt2800-lib
287 $(call KernelPackage/rt2x00/Default)
288 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
289 TITLE+= (rt2800 LIB)
290 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
291 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
292 endef
293
294 define KernelPackage/rt2400-pci
295 $(call KernelPackage/rt2x00/Default)
296 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
297 TITLE+= (RT2400 PCI)
298 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
299 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
300 endef
301
302 define KernelPackage/rt2500-pci
303 $(call KernelPackage/rt2x00/Default)
304 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
305 TITLE+= (RT2500 PCI)
306 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
307 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
308 endef
309
310 define KernelPackage/rt2500-usb
311 $(call KernelPackage/rt2x00/Default)
312 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
313 TITLE+= (RT2500 USB)
314 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
315 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
316 endef
317
318 define KernelPackage/rt61-pci
319 $(call KernelPackage/rt2x00/Default)
320 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
321 TITLE+= (RT2x61 PCI)
322 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
323 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
324 endef
325
326 define KernelPackage/rt73-usb
327 $(call KernelPackage/rt2x00/Default)
328 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
329 TITLE+= (RT73 USB)
330 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
331 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
332 endef
333
334 define KernelPackage/rt2800-pci
335 $(call KernelPackage/rt2x00/Default)
336 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips_rt305x) +PCI_SUPPORT:kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips_rt305x:kmod-rt2x00-soc
337 TITLE+= (RT2860 PCI)
338 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
339 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
340 endef
341
342 define KernelPackage/rt2800-usb
343 $(call KernelPackage/rt2x00/Default)
344 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
345 TITLE+= (RT2870 USB)
346 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
347 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
348 endef
349
350 define KernelPackage/rtl818x/Default
351 $(call KernelPackage/mac80211/Default)
352 TITLE:=Realtek Drivers for RTL818x devices
353 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
354 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
355 endef
356
357 define KernelPackage/rtl8180
358 $(call KernelPackage/rtl818x/Default)
359 DEPENDS+= @PCI_SUPPORT
360 TITLE+= (RTL8180 PCI)
361 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
362 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
363 endef
364
365 define KernelPackage/rtl8187
366 $(call KernelPackage/rtl818x/Default)
367 DEPENDS+= @USB_SUPPORT +kmod-usb-core
368 TITLE+= (RTL8187 USB)
369 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
370 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
371 endef
372
373 define KernelPackage/rtlwifi/config
374 menu "Configuration"
375 depends on PACKAGE_kmod-rtlwifi
376
377 config PACKAGE_RTLWIFI_DEBUG
378 bool "Realtek wireless debugging"
379 help
380 Say Y, if you want to debug realtek wireless drivers.
381
382 endmenu
383 endef
384
385 define KernelPackage/rtlwifi
386 $(call KernelPackage/mac80211/Default)
387 TITLE:=Realtek common driver part
388 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
389 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtlwifi.ko
390 AUTOLOAD:=$(call AutoLoad,26,rtlwifi)
391 MENU:=1
392 endef
393
394 define KernelPackage/rtlwifi-pci
395 $(call KernelPackage/mac80211/Default)
396 TITLE:=Realtek common driver part (PCI support)
397 DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
398 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_pci.ko
399 AUTOLOAD:=$(call AutoLoad,27,rtl_pci)
400 HIDDEN:=1
401 endef
402
403 define KernelPackage/rtlwifi-usb
404 $(call KernelPackage/mac80211/Default)
405 TITLE:=Realtek common driver part (USB support)
406 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
407 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl_usb.ko
408 AUTOLOAD:=$(call AutoLoad,27,rtl_usb)
409 HIDDEN:=1
410 endef
411
412 define KernelPackage/rtl8192c-common
413 $(call KernelPackage/mac80211/Default)
414 TITLE:=Realtek RTL8192CE/RTL8192CU common support module
415 DEPENDS+= +kmod-rtlwifi
416 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
417 AUTOLOAD:=$(call AutoLoad,27,rtl8192c-common)
418 HIDDEN:=1
419 endef
420
421 define KernelPackage/rtl8192ce
422 $(call KernelPackage/mac80211/Default)
423 TITLE:=Realtek RTL8192CE/RTL8188CE support
424 DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common
425 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
426 AUTOLOAD:=$(call AutoLoad,28,rtl8192ce)
427 endef
428
429 define KernelPackage/rtl8192ce/install
430 $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
431 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfw.bin $(1)/lib/firmware/rtlwifi
432 endef
433
434 define KernelPackage/rtl8192se
435 $(call KernelPackage/mac80211/Default)
436 TITLE:=Realtek RTL8192SE/RTL8191SE support
437 DEPENDS+= +kmod-rtlwifi-pci
438 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
439 AUTOLOAD:=$(call AutoLoad,28,rtl8192se)
440 endef
441
442 define KernelPackage/rtl8192se/install
443 $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
444 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192sefw.bin $(1)/lib/firmware/rtlwifi
445 endef
446
447 define KernelPackage/rtl8192de
448 $(call KernelPackage/mac80211/Default)
449 TITLE:=Realtek RTL8192DE/RTL8188DE support
450 DEPENDS+= +kmod-rtlwifi-pci
451 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
452 AUTOLOAD:=$(call AutoLoad,28,rtl8192de)
453 endef
454
455 define KernelPackage/rtl8192de/install
456 $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
457 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192defw.bin $(1)/lib/firmware/rtlwifi
458 endef
459
460 define KernelPackage/rtl8192cu
461 $(call KernelPackage/mac80211/Default)
462 TITLE:=Realtek RTL8192CU/RTL8188CU support
463 DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common
464 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
465 AUTOLOAD:=$(call AutoLoad,28,rtl8192cu)
466 endef
467
468 define KernelPackage/rtl8192cu/install
469 $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
470 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw.bin $(1)/lib/firmware/rtlwifi
471 endef
472
473 ZD1211FW_NAME:=zd1211-firmware
474 ZD1211FW_VERSION:=1.4
475 define Download/zd1211rw
476 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
477 URL:=@SF/zd1211/
478 MD5SUM:=19f28781d76569af8551c9d11294c870
479 endef
480 $(eval $(call Download,zd1211rw))
481
482 define KernelPackage/zd1211rw
483 $(call KernelPackage/mac80211/Default)
484 TITLE:=Zydas ZD1211 support
485 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
486 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
487 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
488 endef
489
490 define KernelPackage/adm8211
491 $(call KernelPackage/mac80211/Default)
492 TITLE:=ADMTek 8211 support
493 DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
494 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/adm8211.ko
495 AUTOLOAD:=$(call AutoLoad,60,adm8211)
496 endef
497
498 define KernelPackage/ath/config
499 if PACKAGE_kmod-ath
500 config ATH_USER_REGD
501 bool "Force Atheros drivers to respect the user's regdomain settings"
502 help
503 Atheros' idea of regulatory handling is that the EEPROM of the card defines
504 the regulatory limits and the user is only allowed to restrict the settings
505 even further, even if the country allows frequencies or power levels that
506 are forbidden by the EEPROM settings.
507
508 Select this option if you want the driver to respect the user's decision about
509 regulatory settings.
510
511 config PACKAGE_ATH_DEBUG
512 bool "Atheros wireless debugging"
513 help
514 Say Y, if you want to debug atheros wireless drivers.
515 Right now only ath9k makes use of this.
516 endif
517 endef
518
519 define KernelPackage/ath
520 $(call KernelPackage/mac80211/Default)
521 TITLE:=Atheros common driver part
522 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
523 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
524 AUTOLOAD:=$(call AutoLoad,26,ath)
525 MENU:=1
526 endef
527
528 define KernelPackage/ath/description
529 This module contains some common parts needed by Atheros Wireless drivers.
530 endef
531
532 define KernelPackage/ath5k
533 $(call KernelPackage/mac80211/Default)
534 TITLE:=Atheros 5xxx wireless cards support
535 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
536 DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
537 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
538 AUTOLOAD:=$(call AutoLoad,27,ath5k)
539 endef
540
541 define KernelPackage/ath5k/description
542 This module adds support for wireless adapters based on
543 Atheros 5xxx chipset.
544 endef
545
546 define KernelPackage/ath9k-common
547 $(call KernelPackage/mac80211/Default)
548 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
549 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
550 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
551 FILES:= \
552 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
553 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
554 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
555 endef
556
557 define KernelPackage/ath9k
558 $(call KernelPackage/mac80211/Default)
559 TITLE:=Atheros 802.11n PCI wireless cards support
560 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
561 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
562 FILES:= \
563 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
564 AUTOLOAD:=$(call AutoLoad,28,ath9k)
565 endef
566
567 define KernelPackage/ath9k/description
568 This module adds support for wireless adapters based on
569 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
570 endef
571
572 define KernelPackage/ath9k-htc
573 $(call KernelPackage/mac80211/Default)
574 TITLE:=Atheros 802.11n USB device support
575 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
576 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
577 FILES:= \
578 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
579 AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
580 endef
581
582 define KernelPackage/ath9k-htc/description
583 This module adds support for wireless adapters based on
584 Atheros USB AR9271 and AR7010 family of chipsets.
585 endef
586
587 define KernelPackage/ath10k
588 $(call KernelPackage/mac80211/Default)
589 TITLE:=Atheros 802.11ac wireless cards support
590 URL:=http://wireless.kernel.org/en/users/Drivers/ath10k
591 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT
592 FILES:= \
593 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
594 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
595 AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci)
596 endef
597
598 define KernelPackage/ath10k/description
599 This module adds support for wireless adapters based on
600 Atheros IEEE 802.11ac family of chipsets. For now only
601 PCI is supported.
602 endef
603
604 define KernelPackage/carl9170
605 $(call KernelPackage/mac80211/Default)
606 TITLE:=Driver for Atheros AR9170 USB sticks
607 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
608 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
609 AUTOLOAD:=$(call AutoLoad,60,carl9170)
610 endef
611
612 define KernelPackage/carl9170/install
613 $(INSTALL_DIR) $(1)/lib/firmware
614 $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
615 endef
616
617 define KernelPackage/lib80211
618 $(call KernelPackage/mac80211/Default)
619 TITLE:=802.11 Networking stack
620 DEPENDS:=+kmod-cfg80211
621 FILES:= \
622 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
623 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
624 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
625 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
626 AUTOLOAD:=$(call AutoLoad,21, \
627 lib80211 \
628 lib80211_crypt_wep \
629 lib80211_crypt_ccmp \
630 lib80211_crypt_tkip \
631 )
632 endef
633
634 define KernelPackage/lib80211/description
635 Kernel modules for 802.11 Networking stack
636 Includes:
637 - lib80211
638 - lib80211_crypt_wep
639 - lib80211_crypt_tkip
640 - lib80211_crytp_ccmp
641 endef
642
643 define KernelPackage/libertas-usb
644 $(call KernelPackage/mac80211/Default)
645 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
646 TITLE:=Marvell 88W8015 Wireless Driver
647 FILES:= \
648 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
649 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
650 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
651 endef
652
653 define KernelPackage/libertas-sd
654 $(call KernelPackage/mac80211/Default)
655 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT
656 TITLE:=Marvell 88W8686 Wireless Driver
657 FILES:= \
658 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
659 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
660 AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
661 endef
662
663 define KernelPackage/mac80211-hwsim
664 $(call KernelPackage/mac80211/Default)
665 TITLE:=mac80211 HW simulation device
666 DEPENDS+= +kmod-mac80211
667 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
668 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
669 endef
670
671 define KernelPackage/net-libipw
672 $(call KernelPackage/mac80211/Default)
673 TITLE:=libipw for ipw2100 and ipw2200
674 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
675 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
676 AUTOLOAD:=$(call AutoLoad,49,libipw)
677 endef
678
679 define KernelPackage/net-libipw/description
680 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
681 endef
682
683 IPW2100_NAME:=ipw2100-fw
684 IPW2100_VERSION:=1.3
685
686 define Download/net-ipw2100
687 URL:=http://bughost.org/firmware/
688 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
689 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
690 endef
691 $(eval $(call Download,net-ipw2100))
692
693 define KernelPackage/net-ipw2100
694 $(call KernelPackage/mac80211/Default)
695 TITLE:=Intel IPW2100 driver
696 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
697 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
698 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
699 endef
700
701 define KernelPackage/net-ipw2100/description
702 Kernel support for Intel IPW2100
703 Includes:
704 - ipw2100
705 endef
706
707 IPW2200_NAME:=ipw2200-fw
708 IPW2200_VERSION:=3.1
709
710 define Download/net-ipw2200
711 URL:=http://bughost.org/firmware/
712 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
713 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
714 endef
715 $(eval $(call Download,net-ipw2200))
716
717 define KernelPackage/net-ipw2200
718 $(call KernelPackage/mac80211/Default)
719 TITLE:=Intel IPW2200 driver
720 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
721 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
722 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
723 endef
724
725 define KernelPackage/net-ipw2200/description
726 Kernel support for Intel IPW2200
727 Includes:
728 - ipw2200
729 endef
730
731
732 define KernelPackage/net-hermes
733 $(call KernelPackage/mac80211/Default)
734 TITLE:=Hermes 802.11b chipset support
735 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
736 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
737 AUTOLOAD:=$(call AutoLoad,50,orinoco)
738 endef
739
740 define KernelPackage/net-hermes/description
741 Kernel support for Hermes 802.11b chipsets
742 endef
743
744 define KernelPackage/net-hermes-pci
745 $(call KernelPackage/mac80211/Default)
746 TITLE:=Intersil Prism 2.5 PCI support
747 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
748 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
749 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
750 endef
751
752 define KernelPackage/net-hermes-pci/description
753 Kernel modules for Intersil Prism 2.5 PCI support
754 endef
755
756 define KernelPackage/net-hermes-plx
757 $(call KernelPackage/mac80211/Default)
758 TITLE:=PLX9052 based PCI adaptor
759 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
760 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
761 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
762 endef
763
764 define KernelPackage/net-hermes-plx/description
765 Kernel modules for Hermes in PLX9052 based PCI adaptors
766 endef
767
768 define KernelPackage/net-hermes-pcmcia
769 $(call KernelPackage/mac80211/Default)
770 TITLE:=Hermes based PCMCIA adaptors
771 DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
772 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
773 AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
774 endef
775
776 define KernelPackage/net-hermes-pcmcia/description
777 Kernel modules for Hermes based PCMCIA adaptors
778 endef
779
780 define KernelPackage/iwlagn
781 $(call KernelPackage/mac80211/Default)
782 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT
783 TITLE:=Intel AGN Wireless support
784 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
785 AUTOLOAD:=$(call AutoLoad,60,iwlwifi)
786 MENU:=1
787 endef
788
789 define KernelPackage/iwlagn/description
790 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
791 endef
792
793 define KernelPackage/iwlagn/config
794 if PACKAGE_kmod-iwlagn
795
796 config IWL5000_FW
797 bool "Intel 5000 Firmware"
798 default y
799 help
800 Download and install firmware for:
801 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
802
803 config IWL5150_FW
804 bool "Intel 5150 Firmware"
805 default y
806 help
807 Download and install firmware for:
808 Intel Wireless WiFi 5150AGN
809
810 config IWL1000_FW
811 bool "Intel 1000 Firmware"
812 default y
813 help
814 Download and install firmware for:
815 Intel Centrino Wireless-N 1000
816
817 config IWL6000_FW
818 bool "Intel 6000 Firmware"
819 default y
820 help
821 Download and install firmware for:
822 Intel Centrino Ultimate-N 6300 and Advanced-N 6200
823
824 config IWL6050_FW
825 bool "Intel 6050 Firmware"
826 default y
827 help
828 Download and install firmware for:
829 Intel Centrino Advanced-N + WiMAX 6250 and Wireless-N + WiMAX 6150
830
831 config IWL6005_FW
832 bool "Intel 6005 Firmware"
833 default y
834 help
835 Download and install firmware for:
836 Intel Centrino Advanced-N 6205
837
838 config IWL6030_FW
839 bool "Intel 6030 Firmware"
840 default y
841 help
842 Download and install firmware for:
843 Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 and Advanced-N 6235
844
845 config IWL100_FW
846 bool "Intel 100 Firmware"
847 default y
848 help
849 Download and install firmware for:
850 Intel Centrino Wireless-N 100
851
852 config IWL2000_FW
853 bool "Intel 2000 Firmware"
854 default y
855 help
856 Download and install firmware for:
857 Intel Centrino Wireless-N 2200
858
859 config IWL2030_FW
860 bool "Intel 2030 Firmware"
861 default y
862 help
863 Download and install firmware for:
864 Intel Centrino Wireless-N 2230
865
866 config IWL105_FW
867 bool "Intel 105 Firmware"
868 default y
869 help
870 Download and install firmware for:
871 Intel Centrino Wireless-N 105
872
873 config IWL135_FW
874 bool "Intel 135 Firmware"
875 default y
876 help
877 Download and install firmware for:
878 Intel Centrino Wireless-N 135
879 endif
880 endef
881
882 define KernelPackage/iwl-legacy
883 $(call KernelPackage/mac80211/Default)
884 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
885 TITLE:=Intel legacy Wireless support
886 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
887 AUTOLOAD:=$(call AutoLoad,60,iwlegacy)
888 endef
889
890 define KernelPackage/iwl-legacy/description
891 iwl-legacy kernel module for legacy Intel wireless support
892 endef
893
894 define KernelPackage/iwl3945
895 $(call KernelPackage/mac80211/Default)
896 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
897 TITLE:=Intel iwl3945 Wireless support
898 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
899 AUTOLOAD:=$(call AutoLoad,61,iwl3945)
900 endef
901
902 define KernelPackage/iwl3945/description
903 iwl3945 kernel module for Intel 3945 support
904 endef
905
906 define KernelPackage/iwl4965
907 $(call KernelPackage/mac80211/Default)
908 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT
909 TITLE:=Intel iwl4965 Wireless support
910 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
911 AUTOLOAD:=$(call AutoLoad,61,iwl4965)
912 endef
913
914 define KernelPackage/iwl4965/description
915 iwl4965 kernel module for Intel 4965 support
916 endef
917
918
919 define KernelPackage/mwl8k
920 $(call KernelPackage/mac80211/Default)
921 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
922 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
923 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
924 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
925 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
926 endef
927
928 define KernelPackage/mwl8k/description
929 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
930 endef
931
932
933 define KernelPackage/wl12xx
934 $(call KernelPackage/mac80211/Default)
935 TITLE:=Driver for TI WL12xx
936 URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
937 DEPENDS+= @TARGET_omap4 +kmod-mac80211
938 FILES:= \
939 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
940 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
941 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
942 AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
943 endef
944
945 define KernelPackage/wl12xx/description
946 Kernel modules for TI WL12xx
947 endef
948
949 #Broadcom firmware
950 ifneq ($(CONFIG_B43_FW_5_10),)
951 PKG_B43_FWV4_NAME:=broadcom-wl
952 PKG_B43_FWV4_VERSION:=5.10.56.27.3
953 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
954 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
955 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
956 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
957 else
958 ifneq ($(CONFIG_B43_FW_4_178),)
959 PKG_B43_FWV4_NAME:=broadcom-wl
960 PKG_B43_FWV4_VERSION:=4.178.10.4
961 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
962 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
963 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
964 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
965 else
966 ifneq ($(CONFIG_B43_FW_5_100_138),)
967 PKG_B43_FWV4_NAME:=broadcom-wl
968 PKG_B43_FWV4_VERSION:=5.100.138
969 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
970 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
971 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
972 PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
973 else
974 PKG_B43_FWV4_NAME:=broadcom-wl
975 PKG_B43_FWV4_VERSION:=4.150.10.5
976 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
977 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
978 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
979 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
980 endif
981 endif
982 endif
983 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
984 PKG_B43_FWV4_NAME:=broadcom-wl
985 PKG_B43_FWV4_VERSION:=5.2
986 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
987 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
988 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
989 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
990 endif
991
992
993 PKG_B43_FWV3_NAME:=wl_apsta
994 PKG_B43_FWV3_VERSION:=3.130.20.0
995 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
996 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
997 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
998
999 define Download/b43
1000 FILE:=$(PKG_B43_FWV4_SOURCE)
1001 URL:=$(PKG_B43_FWV4_SOURCE_URL)
1002 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
1003 endef
1004 $(eval $(call Download,b43))
1005
1006 define Download/b43legacy
1007 FILE:=$(PKG_B43_FWV3_SOURCE)
1008 URL:=$(PKG_B43_FWV3_SOURCE_URL)
1009 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
1010 endef
1011 $(eval $(call Download,b43legacy))
1012
1013
1014 define KernelPackage/b43
1015 $(call KernelPackage/mac80211/Default)
1016 TITLE:=Broadcom 43xx wireless support
1017 URL:=http://linuxwireless.org/en/users/Drivers/b43
1018 KCONFIG:= \
1019 CONFIG_HW_RANDOM=y
1020 DEPENDS+= +kmod-mac80211 +!TARGET_brcm47xx:kmod-bcma +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1021 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
1022 AUTOLOAD:=$(call AutoLoad,30,b43)
1023 MENU:=1
1024 endef
1025
1026 define KernelPackage/b43/config
1027 if PACKAGE_kmod-b43
1028
1029 choice
1030 prompt "b43 firmware version"
1031 default B43_FW_5_100_138
1032 help
1033 This option allows you to select the version of the b43 firmware.
1034
1035 config B43_FW_4_150
1036 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
1037 help
1038 Stable firmware for BCM43xx devices.
1039
1040 If unsure, select this.
1041
1042 config B43_FW_4_178
1043 bool "Firmware 478.104 from driver 4.178.10.4"
1044 help
1045 Experimental firmware for BCM43xx devices.
1046
1047 This firmware is not tested as much as the "stable" firmware.
1048
1049 If unsure, select the "stable" firmware.
1050
1051 config B43_FW_5_10
1052 bool "Firmware 508.1084 from driver 5.10.56.27"
1053 help
1054 Newer experimental firmware for BCM43xx devices.
1055
1056 This firmware is mostly untested. It is needed for some N-PHY devices.
1057
1058 If unsure, select the "stable" firmware.
1059
1060 config B43_FW_5_100_138
1061 bool "Firmware 666.2 from driver 5.100.138 (stable)"
1062 help
1063 Newer experimental firmware for BCM43xx devices.
1064
1065 This firmware is mostly untested. It is needed for some N-PHY devices.
1066
1067 If unsure, select the "stable" firmware.
1068
1069 config B43_OPENFIRMWARE
1070 bool "Open FirmWare for WiFi networks"
1071 help
1072 Opensource firmware for BCM43xx devices.
1073
1074 Do _not_ select this, unless you know what you are doing.
1075 The Opensource firmware is not suitable for embedded devices, yet.
1076 It does not support QoS, which is bad for AccessPoints.
1077 It does not support hardware crypto acceleration, which is a showstopper
1078 for embedded devices with low CPU resources.
1079
1080 If unsure, select the "stable" firmware.
1081
1082 endchoice
1083
1084 config B43_FW_SQUASH
1085 bool "Remove unnecessary firmware files"
1086 depends on !B43_OPENFIRMWARE
1087 default y
1088 help
1089 This options allows you to remove unnecessary b43 firmware files
1090 from the final rootfs image. This can reduce the rootfs size by
1091 up to 200k.
1092
1093 If unsure, say Y.
1094
1095 config B43_FW_SQUASH_COREREVS
1096 string "Core revisions to include"
1097 depends on B43_FW_SQUASH
1098 default "5,6,7,8,9,10,11,13,15,16,29"
1099 help
1100 This is a comma seperated list of core revision numbers.
1101
1102 Example (keep files for rev5 only):
1103 5
1104
1105 Example (keep files for rev5 and rev11):
1106 5,11
1107
1108 config B43_FW_SQUASH_PHYTYPES
1109 string "PHY types to include"
1110 depends on B43_FW_SQUASH
1111 default "G,LP,N,HT"
1112 help
1113 This is a comma seperated list of PHY types:
1114 A => A-PHY
1115 AG => Dual A-PHY G-PHY
1116 G => G-PHY
1117 LP => LP-PHY
1118 N => N-PHY
1119 HT => HT-PHY
1120 LCN => LCN-PHY
1121
1122 Example (keep files for G-PHY only):
1123 G
1124
1125 Example (keep files for G-PHY and N-PHY):
1126 G,N
1127
1128 config PACKAGE_B43_DEBUG
1129 bool "Enable debug output and debugfs for b43"
1130 default n
1131 help
1132 Enable additional debug output and runtime sanity checks for b43
1133 and enables the debugfs interface.
1134
1135 If unsure, say N.
1136
1137 config PACKAGE_B43_PIO
1138 bool "Enable support for PIO transfer mode"
1139 default n
1140 help
1141 Enable support for using PIO instead of DMA. Unless you have DMA
1142 transfer problems you don't need this.
1143
1144 If unsure, say N.
1145
1146 config PACKAGE_B43_PHY_N
1147 bool "Enable support for N-PHYs"
1148 default y
1149 help
1150 Enable support for N-PHY. This includes support for the following devices:
1151 PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
1152 SoC: BCM4716, BCM4717, BCM4718
1153
1154 Currently only 11g speed is available.
1155
1156 If unsure, say Y.
1157
1158 config PACKAGE_B43_PHY_HT
1159 bool "Enable support for HT-PHYs"
1160 default y
1161 help
1162 Enable support for HT-PHY. This includes support for the following devices:
1163 PCI: BCM4331
1164
1165 Currently only 11g speed is available.
1166
1167 If unsure, say Y.
1168
1169 config PACKAGE_B43_PHY_LCN
1170 bool "Enable support for LCN-PHYs"
1171 depends on BROKEN
1172 default n
1173 help
1174 Currently broken.
1175
1176 If unsure, say N.
1177
1178 endif
1179 endef
1180
1181 define KernelPackage/b43/description
1182 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1183 endef
1184
1185 define KernelPackage/b43legacy
1186 $(call KernelPackage/mac80211/Default)
1187 TITLE:=Broadcom 43xx-legacy wireless support
1188 URL:=http://linuxwireless.org/en/users/Drivers/b43
1189 KCONFIG:= \
1190 CONFIG_HW_RANDOM=y
1191 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
1192 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1193 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1194 MENU:=1
1195 endef
1196
1197 define KernelPackage/b43legacy/config
1198 if PACKAGE_kmod-b43legacy
1199
1200 config B43LEGACY_FW_SQUASH
1201 bool "Remove unnecessary firmware files"
1202 default y
1203 help
1204 This options allows you to remove unnecessary b43legacy firmware files
1205 from the final rootfs image. This can reduce the rootfs size by
1206 up to 50k.
1207
1208 If unsure, say Y.
1209
1210 config B43LEGACY_FW_SQUASH_COREREVS
1211 string "Core revisions to include"
1212 depends on B43LEGACY_FW_SQUASH
1213 default "1,2,3,4"
1214 help
1215 This is a comma seperated list of core revision numbers.
1216
1217 Example (keep files for rev4 only):
1218 4
1219
1220 Example (keep files for rev2 and rev4):
1221 2,4
1222
1223 endif
1224 endef
1225
1226 define KernelPackage/b43legacy/description
1227 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1228 endef
1229
1230
1231 define KernelPackage/brcmutil
1232 $(call KernelPackage/mac80211/Default)
1233 TITLE:=Broadcom IEEE802.11n common driver parts
1234 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1235 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1236 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1237 AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1238 MENU:=1
1239 endef
1240
1241 define KernelPackage/brcmutil/description
1242 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1243 endef
1244
1245 define KernelPackage/brcmutil/config
1246 if PACKAGE_kmod-brcmutil
1247
1248 config PACKAGE_BRCM80211_DEBUG
1249 bool "Broadcom wireless driver debugging"
1250 help
1251 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1252
1253 endif
1254 endef
1255
1256 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
1257 PKG_BRCMSMAC_FW_VERSION:=5.100.138
1258 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
1259 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
1260 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
1261 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
1262
1263 define Download/brcmsmac
1264 FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
1265 URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
1266 MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
1267 endef
1268 $(eval $(call Download,brcmsmac))
1269
1270 define KernelPackage/brcmsmac
1271 $(call KernelPackage/mac80211/Default)
1272 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1273 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1274 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1275 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1276 AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1277 MENU:=1
1278 endef
1279
1280 define KernelPackage/brcmsmac/description
1281 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1282 endef
1283
1284 define KernelPackage/brcmsmac/config
1285 if PACKAGE_kmod-brcmsmac
1286
1287 config BRCMSMAC_USE_FW_FROM_WL
1288 bool "Use firmware extracted from broadcom proprietary driver"
1289 default y
1290 help
1291 Instead of using the official brcmsmac firmware a firmware
1292 version 666.2 extracted from the proprietary Broadcom driver
1293 is used. This is needed to get core rev 17 used in bcm4716
1294 to work.
1295
1296 If unsure, say Y.
1297
1298 endif
1299 endef
1300
1301
1302 define KernelPackage/brcmfmac
1303 $(call KernelPackage/mac80211/Default)
1304 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1305 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1306 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1307 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1308 AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1309 endef
1310
1311 define KernelPackage/brcmfmac/description
1312 Kernel module for Broadcom IEEE802.11n USB Wireless cards
1313 endef
1314
1315 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1316
1317 config-y:= \
1318 WLAN \
1319 NL80211_TESTMODE \
1320 CFG80211_WEXT \
1321 CFG80211_INTERNAL_REGDB \
1322 MAC80211_RC_MINSTREL \
1323 MAC80211_RC_MINSTREL_HT \
1324 MAC80211_RC_DEFAULT_MINSTREL \
1325
1326 config-$(call config_package,cfg80211) += CFG80211
1327
1328 config-$(call config_package,mac80211) += MAC80211
1329 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1330 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1331 config-y += \
1332 CFG80211_DEBUGFS \
1333 MAC80211_DEBUGFS \
1334 ATH9K_DEBUGFS \
1335 ATH9K_HTC_DEBUGFS \
1336 ATH10K_DEBUGFS \
1337 CARL9170_DEBUGFS \
1338 ATH5K_DEBUG
1339 endif
1340
1341 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1342
1343 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1344 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG
1345
1346 config-$(call config_package,ath9k) += ATH9K
1347 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1348 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1349 config-$(CONFIG_PCI) += ATH9K_PCI
1350 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1351
1352 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1353 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1354
1355 config-$(call config_package,ath5k) += ATH5K
1356 ifdef CONFIG_TARGET_atheros
1357 config-y += ATH5K_AHB
1358 else
1359 config-y += ATH5K_PCI
1360 endif
1361
1362 config-$(call config_package,carl9170) += CARL9170
1363
1364 config-$(call config_package,b43) += B43
1365 config-y += B43_SSB B43_BCMA B43_PHY_LP
1366 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1367 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1368 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1369 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1370
1371 config-$(call config_package,b43legacy) += B43LEGACY
1372 config-y += B43LEGACY_DMA_MODE
1373
1374 config-$(call config_package,brcmutil) += BRCMUTIL
1375 config-$(call config_package,brcmsmac) += BRCMSMAC
1376 config-$(call config_package,brcmfmac) += BRCMFMAC BRCMFMAC_USB
1377 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1378
1379 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1380
1381 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1382 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1383 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1384 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1385 config-$(call config_package,rt2x00-soc) += RT2X00_LIB_SOC
1386 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1387 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1388
1389 config-$(call config_package,rt2400-pci) += RT2400PCI
1390 config-$(call config_package,rt2500-pci) += RT2500PCI
1391 config-$(call config_package,rt2500-usb) += RT2500USB
1392 config-$(call config_package,rt61-pci) += RT61PCI
1393 config-$(call config_package,rt73-usb) += RT73USB
1394
1395 config-$(call config_package,rt2800-lib) += RT2800_LIB
1396
1397 config-$(call config_package,rt2800-pci) += RT2800PCI
1398 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1399
1400 config-$(call config_package,rt2800-usb) += RT2800USB
1401 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX
1402
1403 config-$(call config_package,iwl-legacy) += IWLEGACY
1404 config-$(call config_package,iwl3945) += IWL3945
1405 config-$(call config_package,iwl4965) += IWL4965
1406 config-$(call config_package,iwlagn) += IWLWIFI
1407
1408 config-$(call config_package,net-libipw) += LIBIPW
1409 config-$(call config_package,net-ipw2100) += IPW2100
1410 config-$(call config_package,net-ipw2200) += IPW2200
1411
1412 config-$(call config_package,p54-common) += P54_COMMON
1413 config-$(call config_package,p54-pci) += P54_PCI
1414 config-$(call config_package,p54-usb) += P54_USB
1415 config-$(call config_package,p54-spi) += P54_SPI
1416
1417 config-$(call config_package,net-hermes) += HERMES
1418 config-$(call config_package,net-hermes-pci) += PCI_HERMES
1419 config-$(call config_package,net-hermes-plx) += PLX_HERMES
1420 config-$(call config_package,net-hermes-pcmcia) += PCMCIA_HERMES
1421 config-y += HERMES_PRISM
1422
1423 config-$(call config_package,adm8211) += ADM8211
1424 config-$(call config_package,libertas-sd) += LIBERTAS LIBERTAS_SDIO
1425 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1426 config-$(call config_package,mwl8k) += MWL8K
1427 config-$(call config_package,rtl8180) += RTL8180
1428 config-$(call config_package,rtl8187) += RTL8187
1429 config-$(call config_package,wl12xx) += WL_TI WLCORE WLCORE_SDIO WL12XX
1430 config-$(call config_package,zd1211rw) += ZD1211RW
1431
1432 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1433 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1434 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1435 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1436 config-$(call config_package,rtl8192ce) += RTL8192CE
1437 config-$(call config_package,rtl8192se) += RTL8192SE
1438 config-$(call config_package,rtl8192de) += RTL8192DE
1439 config-$(call config_package,rtl8192cu) += RTL8192CU
1440 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1441
1442 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1443
1444 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1445 CROSS_COMPILE="$(KERNEL_CROSS)" \
1446 ARCH="$(LINUX_KARCH)" \
1447 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1448 KLIB_BUILD="$(LINUX_DIR)" \
1449 MODPROBE=true \
1450 KLIB=$(TARGET_MODULES_DIR) \
1451 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1452 KBUILD_LDFLAGS_MODULE_PREREQ=
1453
1454 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1455 MAKE_OPTS += V=1
1456 endif
1457
1458 define ConfigVars
1459 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1460 ))
1461 endef
1462
1463 define mac80211_config
1464 $(call ConfigVars,m)$(call ConfigVars,y)
1465 endef
1466 $(eval $(call shexport,mac80211_config))
1467
1468 define Build/Prepare
1469 rm -rf $(PKG_BUILD_DIR)
1470 mkdir -p $(PKG_BUILD_DIR)
1471 $(PKG_UNPACK)
1472 $(Build/Patch)
1473 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1474 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1475 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1476 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1477 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SOURCE)
1478 rm -rf \
1479 $(PKG_BUILD_DIR)/include/linux/ssb \
1480 $(PKG_BUILD_DIR)/include/linux/bcma \
1481 $(PKG_BUILD_DIR)/include/net/bluetooth
1482
1483 rm -f \
1484 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1485 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1486 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1487 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1488 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1489 $(PKG_BUILD_DIR)/include/net/ieee80211.h
1490
1491 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1492 $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1493 endef
1494
1495 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1496 define Build/Compile/kmod
1497 rm -rf $(PKG_BUILD_DIR)/modules
1498 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1499 endef
1500 endif
1501
1502 define Build/Configure
1503 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1504 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1505 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1506 endef
1507
1508 define Build/Compile
1509 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1510 $(MAKE) $(MAKE_OPTS) allnoconfig
1511 $(call Build/Compile/kmod)
1512 endef
1513
1514 define Build/InstallDev
1515 mkdir -p \
1516 $(1)/usr/include/mac80211 \
1517 $(1)/usr/include/mac80211-backport \
1518 $(1)/usr/include/mac80211/ath \
1519 $(1)/usr/include/net/mac80211
1520 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1521 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1522 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1523 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1524 endef
1525
1526 define KernelPackage/libertas-usb/install
1527 $(INSTALL_DIR) $(1)/lib/firmware/libertas
1528 $(INSTALL_DATA) \
1529 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1530 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1531 $(1)/lib/firmware/libertas/
1532 endef
1533
1534 define KernelPackage/libertas-sd/install
1535 $(INSTALL_DIR) $(1)/lib/firmware/libertas
1536 $(INSTALL_DATA) \
1537 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1538 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1539 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1540 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1541 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1542 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1543 $(1)/lib/firmware/libertas
1544 endef
1545
1546 define KernelPackage/cfg80211/install
1547 $(INSTALL_DIR) $(1)/lib/wifi
1548 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1549 endef
1550
1551 define KernelPackage/p54-pci/install
1552 $(INSTALL_DIR) $(1)/lib/firmware
1553 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1554 endef
1555
1556 define KernelPackage/p54-usb/install
1557 $(INSTALL_DIR) $(1)/lib/firmware
1558 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1559 endef
1560
1561 define KernelPackage/p54-spi/install
1562 $(INSTALL_DIR) $(1)/lib/firmware
1563 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1564 endef
1565
1566 define KernelPackage/rt61-pci/install
1567 $(INSTALL_DIR) $(1)/lib/firmware
1568 $(INSTALL_DATA) \
1569 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1570 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1571 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1572 $(1)/lib/firmware/
1573 endef
1574
1575 define KernelPackage/rt73-usb/install
1576 $(INSTALL_DIR) $(1)/lib/firmware
1577 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1578 endef
1579
1580 define KernelPackage/rt2800-pci/install
1581 $(INSTALL_DIR) $(1)/lib/firmware
1582 $(INSTALL_DATA) \
1583 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
1584 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
1585 $(1)/lib/firmware
1586 endef
1587
1588 define KernelPackage/rt2800-usb/install
1589 $(INSTALL_DIR) $(1)/lib/firmware
1590 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1591 endef
1592
1593 define KernelPackage/wl12xx/install
1594 $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1595 $(INSTALL_DATA) \
1596 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
1597 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
1598 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
1599 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1600 $(1)/lib/firmware/ti-connectivity
1601 endef
1602
1603
1604 define KernelPackage/zd1211rw/install
1605 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1606 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1607 endef
1608
1609 define KernelPackage/ath9k-htc/install
1610 $(INSTALL_DIR) $(1)/lib/firmware
1611 $(INSTALL_DATA) \
1612 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1613 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1614 $(1)/lib/firmware/
1615 endef
1616
1617 define KernelPackage/ath10k/install
1618 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
1619 $(INSTALL_DATA) \
1620 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/board.bin \
1621 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/firmware.bin \
1622 $(PKG_BUILD_DIR)/$(PKG_ATH10K_LINUX_FIRMWARE_SUBDIR)/ath10k/QCA988X/hw2.0/otp.bin \
1623 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
1624 endef
1625
1626 define KernelPackage/mwl8k/install
1627 $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1628 $(INSTALL_DATA) \
1629 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
1630 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1631 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1632 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1633 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1634 $(1)/lib/firmware/mwl8k/
1635 endef
1636
1637 define KernelPackage/net-ipw2100/install
1638 $(INSTALL_DIR) $(1)/lib/firmware
1639 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1640 endef
1641
1642 define KernelPackage/net-ipw2200/install
1643 $(INSTALL_DIR) $(1)/lib/firmware
1644 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1645 endef
1646
1647 define KernelPackage/iwlagn/install
1648 $(INSTALL_DIR) $(1)/lib/firmware
1649 ifneq ($(CONFIG_IWL5000_FW),)
1650 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1651 endif
1652 ifneq ($(CONFIG_IWL5150_FW),)
1653 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1654 endif
1655 ifneq ($(CONFIG_IWL1000_FW),)
1656 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1657 endif
1658 ifneq ($(CONFIG_IWL6000_FW),)
1659 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1660 endif
1661 ifneq ($(CONFIG_IWL6050_FW),)
1662 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1663 endif
1664 ifneq ($(CONFIG_IWL6005_FW),)
1665 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1666 endif
1667 ifneq ($(CONFIG_IWL6030_FW),)
1668 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1669 endif
1670 ifneq ($(CONFIG_IWL100_FW),)
1671 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1672 endif
1673 ifneq ($(CONFIG_IWL2000_FW),)
1674 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1675 endif
1676 ifneq ($(CONFIG_IWL2030_FW),)
1677 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1678 endif
1679 ifneq ($(CONFIG_IWL105_FW),)
1680 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1681 endif
1682 ifneq ($(CONFIG_IWL135_FW),)
1683 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1684 endif
1685 endef
1686
1687 define KernelPackage/iwl3945/install
1688 $(INSTALL_DIR) $(1)/lib/firmware
1689 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1690 endef
1691
1692 define KernelPackage/iwl4965/install
1693 $(INSTALL_DIR) $(1)/lib/firmware
1694 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1695 endef
1696
1697 define KernelPackage/b43/install
1698 rm -rf $(1)/lib/firmware/
1699 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1700 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1701 else
1702 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1703 endif
1704 $(INSTALL_DIR) $(1)/lib/firmware/
1705 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1706 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1707 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1708 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1709 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1710 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1711 else
1712 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1713 endif
1714 ifneq ($(CONFIG_B43_FW_SQUASH),)
1715 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1716 endif
1717 endef
1718
1719 define KernelPackage/b43legacy/install
1720 $(INSTALL_DIR) $(1)/lib/firmware/
1721 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1722 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1723 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1724 endif
1725 endef
1726
1727 define KernelPackage/brcmsmac/install
1728 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1729 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1730 tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1731 b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1732 else
1733 $(INSTALL_DATA) \
1734 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1735 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1736 $(1)/lib/firmware/brcm/
1737 endif
1738 endef
1739
1740 define KernelPackage/brcmfmac/install
1741 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1742 $(INSTALL_DATA) \
1743 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1744 $(1)/lib/firmware/brcm/
1745 endef
1746
1747 $(eval $(call KernelPackage,adm8211))
1748 $(eval $(call KernelPackage,ath5k))
1749 $(eval $(call KernelPackage,lib80211))
1750 $(eval $(call KernelPackage,libertas-usb))
1751 $(eval $(call KernelPackage,libertas-sd))
1752 $(eval $(call KernelPackage,cfg80211))
1753 $(eval $(call KernelPackage,mac80211))
1754 $(eval $(call KernelPackage,p54-common))
1755 $(eval $(call KernelPackage,p54-pci))
1756 $(eval $(call KernelPackage,p54-usb))
1757 $(eval $(call KernelPackage,p54-spi))
1758 $(eval $(call KernelPackage,rt2x00-lib))
1759 $(eval $(call KernelPackage,rt2x00-mmio))
1760 $(eval $(call KernelPackage,rt2x00-pci))
1761 $(eval $(call KernelPackage,rt2x00-usb))
1762 $(eval $(call KernelPackage,rt2x00-soc))
1763 $(eval $(call KernelPackage,rt2800-lib))
1764 $(eval $(call KernelPackage,rt2400-pci))
1765 $(eval $(call KernelPackage,rt2500-pci))
1766 $(eval $(call KernelPackage,rt2500-usb))
1767 $(eval $(call KernelPackage,rt61-pci))
1768 $(eval $(call KernelPackage,rt73-usb))
1769 $(eval $(call KernelPackage,rt2800-pci))
1770 $(eval $(call KernelPackage,rt2800-usb))
1771 $(eval $(call KernelPackage,rtl8180))
1772 $(eval $(call KernelPackage,rtl8187))
1773 $(eval $(call KernelPackage,rtlwifi))
1774 $(eval $(call KernelPackage,rtlwifi-pci))
1775 $(eval $(call KernelPackage,rtlwifi-usb))
1776 $(eval $(call KernelPackage,rtl8192c-common))
1777 $(eval $(call KernelPackage,rtl8192ce))
1778 $(eval $(call KernelPackage,rtl8192se))
1779 $(eval $(call KernelPackage,rtl8192de))
1780 $(eval $(call KernelPackage,rtl8192cu))
1781 $(eval $(call KernelPackage,zd1211rw))
1782 $(eval $(call KernelPackage,mac80211-hwsim))
1783 $(eval $(call KernelPackage,ath9k-common))
1784 $(eval $(call KernelPackage,ath9k))
1785 $(eval $(call KernelPackage,ath9k-htc))
1786 $(eval $(call KernelPackage,ath10k))
1787 $(eval $(call KernelPackage,ath))
1788 $(eval $(call KernelPackage,carl9170))
1789 $(eval $(call KernelPackage,b43))
1790 $(eval $(call KernelPackage,b43legacy))
1791 $(eval $(call KernelPackage,brcmutil))
1792 $(eval $(call KernelPackage,brcmsmac))
1793 $(eval $(call KernelPackage,brcmfmac))
1794 $(eval $(call KernelPackage,net-libipw))
1795 $(eval $(call KernelPackage,net-ipw2100))
1796 $(eval $(call KernelPackage,net-ipw2200))
1797 $(eval $(call KernelPackage,iwlagn))
1798 $(eval $(call KernelPackage,iwl-legacy))
1799 $(eval $(call KernelPackage,iwl4965))
1800 $(eval $(call KernelPackage,iwl3945))
1801 $(eval $(call KernelPackage,mwl8k))
1802 $(eval $(call KernelPackage,net-hermes))
1803 $(eval $(call KernelPackage,net-hermes-pci))
1804 $(eval $(call KernelPackage,net-hermes-plx))
1805 $(eval $(call KernelPackage,net-hermes-pcmcia))
1806 $(eval $(call KernelPackage,wl12xx))