19f07408c193e4462ad3f003ece4dbfd969b14e0
[openwrt/openwrt.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_25
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_30||LINUX_2_6_31||LINUX_2_6_32
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/net-libipw
84 SUBMENU:=$(WIRELESS_MENU)
85 TITLE:=libipw for ipw2100 and ipw2200
86 DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32
87 KCONFIG:=CONFIG_LIBIPW
88 FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX)
89 AUTOLOAD:=$(call AutoLoad,49,libipw)
90 endef
91
92 define KernelPackage/net-libipw/description
93 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
94 endef
95
96 $(eval $(call KernelPackage,net-libipw))
97
98
99 define KernelPackage/net-ipw2100
100 SUBMENU:=$(WIRELESS_MENU)
101 TITLE:=Intel IPW2100 driver
102 DEPENDS:=@PCI_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-net-libipw
103 KCONFIG:=CONFIG_IPW2100
104 FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX)
105 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
106 endef
107
108 define KernelPackage/net-ipw2100/description
109 Kernel support for Intel IPW2100
110 Includes:
111 - ipw2100
112 endef
113
114 $(eval $(call KernelPackage,net-ipw2100))
115
116
117 define KernelPackage/net-ipw2200
118 SUBMENU:=$(WIRELESS_MENU)
119 TITLE:=Intel IPW2200 driver
120 DEPENDS:=@PCI_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-net-libipw
121 KCONFIG:=CONFIG_IPW2200
122 FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX)
123 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
124 endef
125
126 define KernelPackage/net-ipw2200/description
127 Kernel support for Intel IPW2200
128 Includes:
129 - ipw2200
130 endef
131
132 $(eval $(call KernelPackage,net-ipw2200))
133
134
135 define KernelPackage/net-airo
136 SUBMENU:=$(WIRELESS_MENU)
137 TITLE:=Cisco Aironet driver
138 DEPENDS:=@PCI_SUPPORT
139 KCONFIG:=CONFIG_AIRO
140 FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX)
141 AUTOLOAD:=$(call AutoLoad,50,airo)
142 endef
143
144 define KernelPackage/net-airo/description
145 Kernel support for Cisco Aironet cards
146 endef
147
148 $(eval $(call KernelPackage,net-airo))
149
150
151 define KernelPackage/net-hermes
152 SUBMENU:=$(WIRELESS_MENU)
153 TITLE:=Hermes 802.11b chipset support
154 DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT
155 KCONFIG:=CONFIG_HERMES \
156 CONFIG_HERMES_CACHE_FW_ON_INIT=n
157 FILES:= \
158 $(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco.$(LINUX_KMOD_SUFFIX)
159 AUTOLOAD:=$(call AutoLoad,50,orinoco)
160 endef
161
162 define KernelPackage/net-hermes/description
163 Kernel support for Hermes 802.11b chipsets
164 endef
165
166 $(eval $(call KernelPackage,net-hermes))
167
168
169 define KernelPackage/net-hermes-pci
170 SUBMENU:=$(WIRELESS_MENU)
171 TITLE:=Intersil Prism 2.5 PCI support
172 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
173 KCONFIG:=CONFIG_PCI_HERMES
174 FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_pci.$(LINUX_KMOD_SUFFIX)
175 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
176 endef
177
178 define KernelPackage/net-hermes-pci/description
179 Kernel modules for Intersil Prism 2.5 PCI support
180 endef
181
182 $(eval $(call KernelPackage,net-hermes-pci))
183
184
185 define KernelPackage/net-hermes-plx
186 SUBMENU:=$(WIRELESS_MENU)
187 TITLE:=PLX9052 based PCI adaptor
188 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
189 KCONFIG:=CONFIG_PLX_HERMES
190 FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco/orinoco_plx.$(LINUX_KMOD_SUFFIX)
191 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
192 endef
193
194 define KernelPackage/net-hermes-plx/description
195 Kernel modules for Hermes in PLX9052 based PCI adaptors
196 endef
197
198 $(eval $(call KernelPackage,net-hermes-plx))
199
200
201 define KernelPackage/net-prism54
202 SUBMENU:=$(WIRELESS_MENU)
203 TITLE:=Intersil Prism54 support
204 DEPENDS:=@PCI_SUPPORT
205 KCONFIG:=CONFIG_PRISM54
206 FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX)
207 AUTOLOAD:=$(call AutoLoad,60,prism54)
208 endef
209
210 define KernelPackage/net-prism54/description
211 Kernel modules for Intersil Prism54 support
212 endef
213
214 # Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
215 PRISM54_FW:=1.0.4.3.arm
216
217 define Download/net-prism54
218 FILE:=$(PRISM54_FW)
219 URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/
220 MD5SUM:=8bd4310971772a486b9784c77f8a6df9
221 endef
222
223 define KernelPackage/net-prism54/install
224 $(INSTALL_DIR) $(1)/lib/firmware
225 $(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890
226 endef
227
228 $(eval $(call Download,net-prism54))
229 $(eval $(call KernelPackage,net-prism54))
230