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