523157ae9075742d876e61e83128a16eafedf8a6
[openwrt-10.03/.git] / package / kernel / modules / wireless.mk
1 #
2 # Copyright (C) 2006-2008 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 WIRELESS_MENU:=Wireless Drivers
9
10 # NOTE: dependency on 2.6 was removed since it was inherited by kmod-hostap
11 #       and prevented it from even showing up in menuconfig on 2.4
12 define KernelPackage/ieee80211
13   SUBMENU:=$(WIRELESS_MENU)
14   TITLE:=802.11 Networking stack
15   DEPENDS:=+kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic @LINUX_2_4||@LINUX_2_6_21||LINUX_2_6_23||LINUX_2_6_24||LINUX_2_6_25||LINUX_2_6_26||LINUX_2_6_27||LINUX_2_6_28
16   KCONFIG:= \
17         CONFIG_IEEE80211 \
18         CONFIG_IEEE80211_CRYPT_WEP \
19         CONFIG_IEEE80211_CRYPT_CCMP \
20         CONFIG_IEEE80211_CRYPT_TKIP
21   FILES:= \
22         $(LINUX_DIR)/net/ieee80211/ieee80211_crypt.$(LINUX_KMOD_SUFFIX) \
23         $(LINUX_DIR)/net/ieee80211/ieee80211.$(LINUX_KMOD_SUFFIX) \
24         $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_wep.$(LINUX_KMOD_SUFFIX) \
25         $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_tkip.$(LINUX_KMOD_SUFFIX) \
26         $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_ccmp.$(LINUX_KMOD_SUFFIX)
27   AUTOLOAD:=$(call AutoLoad,10, \
28         ieee80211_crypt \
29         ieee80211 \
30         ieee80211_crypt_wep \
31         ieee80211_crypt_tkip \
32         ieee80211_crypt_ccmp \
33   )
34 endef
35
36 define KernelPackage/ieee80211/description
37  Kernel modules for 802.11 Networking stack
38  Includes:
39  - ieee80211_crypt
40  - ieee80211
41  - ieee80211_crypt_wep
42  - ieee80211_crypt_tkip
43  - ieee80211_crytp_ccmp
44 endef
45
46 $(eval $(call KernelPackage,ieee80211))
47
48
49 define KernelPackage/lib80211
50   SUBMENU:=$(WIRELESS_MENU)
51   TITLE:=802.11 Networking stack
52   DEPENDS:=@LINUX_2_6_29||LINUX_2_6_30
53   KCONFIG:= \
54         CONFIG_LIB80211 \
55         CONFIG_LIB80211_CRYPT_WEP \
56         CONFIG_LIB80211_CRYPT_TKIP \
57         CONFIG_LIB80211_CRYPT_CCMP
58   FILES:= \
59         $(LINUX_DIR)/net/wireless/lib80211.$(LINUX_KMOD_SUFFIX) \
60         $(LINUX_DIR)/net/wireless/lib80211_crypt_wep.$(LINUX_KMOD_SUFFIX) \
61         $(LINUX_DIR)/net/wireless/lib80211_crypt_ccmp.$(LINUX_KMOD_SUFFIX) \
62         $(LINUX_DIR)/net/wireless/lib80211_crypt_tkip.$(LINUX_KMOD_SUFFIX)
63   AUTOLOAD:=$(call AutoLoad,10, \
64         lib80211 \
65         lib80211_crypt_wep \
66         lib80211_crypt_ccmp \
67         lib80211_crypt_tkip \
68   )
69 endef
70
71 define KernelPackage/lib80211/description
72  Kernel modules for 802.11 Networking stack
73  Includes:
74  - lib80211
75  - lib80211_crypt_wep
76  - lib80211_crypt_tkip
77  - lib80211_crytp_ccmp
78 endef
79
80 $(eval $(call KernelPackage,lib80211))
81
82
83 define KernelPackage/ieee80211-softmac
84   SUBMENU:=$(WIRELESS_MENU)
85   TITLE:=ieee80211 SoftMAC support
86   DEPENDS:=+kmod-ieee80211 @LINUX_2_6_21||@LINUX_2_6_23||@LINUX_2_6_24||@LINUX_2_6_25
87   KCONFIG:=CONFIG_IEEE80211_SOFTMAC
88   FILES:=$(LINUX_DIR)/net/ieee80211/softmac/ieee80211softmac.$(LINUX_KMOD_SUFFIX)
89   AUTOLOAD:=$(call AutoLoad,20,ieee80211softmac)
90 endef
91
92 define KernelPackage/ieee80211-softmac/description
93  Kernel modules for 802.11 SoftMAC support
94 endef
95
96 $(eval $(call KernelPackage,ieee80211-softmac))
97
98
99 define KernelPackage/net-bcm43xx
100   SUBMENU:=$(WIRELESS_MENU)
101   TITLE:=Broadcom BCM43xx driver
102   DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx +kmod-ieee80211-softmac
103   KCONFIG:=CONFIG_BCM43XX
104   FILES:=$(LINUX_DIR)/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
105   AUTOLOAD:=$(call AutoLoad,50,bcm43xx)
106 endef
107
108 define KernelPackage/net-bcm43xx/description
109  Kernel support for Broadcom BCM43xx
110  Includes:
111  - bcm43xx
112 endef
113
114 $(eval $(call KernelPackage,net-bcm43xx))
115
116
117 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
118   IPW_DIR:=ipw2x00/
119 endif
120
121 define KernelPackage/net-libipw
122   SUBMENU:=$(WIRELESS_MENU)
123   TITLE:=libipw for ipw2100 and ipw2200
124   DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_29||LINUX_2_6_30
125   KCONFIG:=CONFIG_LIBIPW
126   FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)libipw.$(LINUX_KMOD_SUFFIX)
127   AUTOLOAD:=$(call AutoLoad,49,libipw)
128 endef
129
130 define KernelPackage/net-libipw/description
131  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
132 endef
133
134 $(eval $(call KernelPackage,net-libipw))
135
136
137 define KernelPackage/net-ipw2100
138   SUBMENU:=$(WIRELESS_MENU)
139   TITLE:=Intel IPW2100 driver
140   DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_29&&!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_29||LINUX_2_6_30:kmod-net-libipw
141   KCONFIG:=CONFIG_IPW2100
142   FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2100.$(LINUX_KMOD_SUFFIX)
143   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
144 endef
145
146 define KernelPackage/net-ipw2100/description
147  Kernel support for Intel IPW2100
148  Includes:
149  - ipw2100
150 endef
151
152 $(eval $(call KernelPackage,net-ipw2100))
153
154
155 define KernelPackage/net-ipw2200
156   SUBMENU:=$(WIRELESS_MENU)
157   TITLE:=Intel IPW2200 driver
158   DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_29&&!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_29||LINUX_2_6_30:kmod-net-libipw
159   KCONFIG:=CONFIG_IPW2200
160   FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2200.$(LINUX_KMOD_SUFFIX)
161   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
162 endef
163
164 define KernelPackage/net-ipw2200/description
165  Kernel support for Intel IPW2200
166  Includes:
167  - ipw2200
168 endef
169
170 $(eval $(call KernelPackage,net-ipw2200))
171
172
173 define KernelPackage/net-airo
174   SUBMENU:=$(WIRELESS_MENU)
175   TITLE:=Cisco Aironet driver
176   DEPENDS:=@PCI_SUPPORT
177   KCONFIG:=CONFIG_AIRO
178   FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX)
179   AUTOLOAD:=$(call AutoLoad,50,airo)
180 endef
181
182 define KernelPackage/net-airo/description
183  Kernel support for Cisco Aironet cards
184 endef
185
186 $(eval $(call KernelPackage,net-airo))
187
188
189 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
190   ORINOCO_DIR:=orinoco/
191 endif
192
193 define KernelPackage/net-hermes
194   SUBMENU:=$(WIRELESS_MENU)
195   TITLE:=Hermes 802.11b chipset support
196   DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
197   KCONFIG:=CONFIG_HERMES \
198         CONFIG_HERMES_CACHE_FW_ON_INIT=n
199 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
200   FILES:= \
201         $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes.$(LINUX_KMOD_SUFFIX) \
202         $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX) \
203     $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes_dld.$(LINUX_KMOD_SUFFIX)
204   AUTOLOAD:=$(call AutoLoad,50,hermes hermes_dld orinoco)
205 else
206   FILES:= \
207         $(LINUX_DIR)/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \
208         $(LINUX_DIR)/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX)
209   AUTOLOAD:=$(call AutoLoad,50,hermes orinoco)
210 endif
211 endef
212
213 define KernelPackage/net-hermes/description
214  Kernel support for Hermes 802.11b chipsets
215 endef
216
217 $(eval $(call KernelPackage,net-hermes))
218
219
220 define KernelPackage/net-hermes-pci
221   SUBMENU:=$(WIRELESS_MENU)
222   TITLE:=Intersil Prism 2.5 PCI support
223   DEPENDS:=@PCI_SUPPORT kmod-net-hermes
224   KCONFIG:=CONFIG_PCI_HERMES
225   FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_pci.$(LINUX_KMOD_SUFFIX)
226   AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
227 endef
228
229 define KernelPackage/net-hermes-pci/description
230  Kernel modules for Intersil Prism 2.5 PCI support
231 endef
232
233 $(eval $(call KernelPackage,net-hermes-pci))
234
235
236 define KernelPackage/net-hermes-plx
237   SUBMENU:=$(WIRELESS_MENU)
238   TITLE:=PLX9052 based PCI adaptor
239   DEPENDS:=@PCI_SUPPORT kmod-net-hermes
240   KCONFIG:=CONFIG_PLX_HERMES
241   FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_plx.$(LINUX_KMOD_SUFFIX)
242   AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
243 endef
244
245 define KernelPackage/net-hermes-plx/description
246  Kernel modules for Hermes in PLX9052 based PCI adaptors
247 endef
248
249 $(eval $(call KernelPackage,net-hermes-plx))
250
251
252 define KernelPackage/net-prism54
253   SUBMENU:=$(WIRELESS_MENU)
254   TITLE:=Intersil Prism54 support
255   DEPENDS:=@PCI_SUPPORT
256   KCONFIG:=CONFIG_PRISM54
257   FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX)
258   AUTOLOAD:=$(call AutoLoad,60,prism54)
259 endef
260
261 define KernelPackage/net-prism54/description
262  Kernel modules for Intersil Prism54 support
263 endef
264
265 # Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
266 PRISM54_FW:=1.0.4.3.arm
267
268 define Download/net-prism54
269   FILE:=$(PRISM54_FW)
270   URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/
271   MD5SUM:=8bd4310971772a486b9784c77f8a6df9
272 endef
273
274 define KernelPackage/net-prism54/install
275         $(INSTALL_DIR) $(1)/lib/firmware
276         $(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890
277 endef
278
279 $(eval $(call Download,net-prism54))
280 $(eval $(call KernelPackage,net-prism54))
281