X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/c0c82e55779dcebb5447acd619eee35aab422420..ef61e721cafbb58cedc85d242581a116315fe2f1:/package/kernel/modules/wireless.mk diff --git a/package/kernel/modules/wireless.mk b/package/kernel/modules/wireless.mk index 0316d8679..cca2d9e83 100644 --- a/package/kernel/modules/wireless.mk +++ b/package/kernel/modules/wireless.mk @@ -1,27 +1,29 @@ -# -# Copyright (C) 2006 OpenWrt.org +# +# Copyright (C) 2006-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # -# $Id$ -WIMENU:=Wireless Drivers +WIRELESS_MENU:=Wireless Drivers +# NOTE: dependency on 2.6 was removed since it was inherited by kmod-hostap +# and prevented it from even showing up in menuconfig on 2.4 define KernelPackage/ieee80211 + SUBMENU:=$(WIRELESS_MENU) TITLE:=802.11 Networking stack - DESCRIPTION:=\\\ - \\\ - Includes: \\\ - - ieee80211_crypt \\\ - - ieee80211 \\\ - - ieee80211_crypt_wep \\\ - - ieee80211_crypt_tkip \\\ - - ieee80211_crytp_ccmp \\\ - DEPENDS:=@LINUX_2_6 kmod-crypto - KCONFIG:=$(CONFIG_IEEE80211) + 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 + KCONFIG:= \ + CONFIG_IEEE80211 \ + CONFIG_IEEE80211_CRYPT_WEP \ + CONFIG_IEEE80211_CRYPT_CCMP \ + CONFIG_IEEE80211_CRYPT_TKIP FILES:= \ - $(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/ieee80211/ieee80211_crypt.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/ieee80211/ieee80211.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_wep.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_tkip.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/ieee80211/ieee80211_crypt_ccmp.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,10, \ ieee80211_crypt \ ieee80211 \ @@ -29,122 +31,223 @@ define KernelPackage/ieee80211 ieee80211_crypt_tkip \ ieee80211_crypt_ccmp \ ) - SUBMENU:=$(WIMENU) endef + +define KernelPackage/ieee80211/description + Kernel modules for 802.11 Networking stack + Includes: + - ieee80211_crypt + - ieee80211 + - ieee80211_crypt_wep + - ieee80211_crypt_tkip + - ieee80211_crytp_ccmp +endef + $(eval $(call KernelPackage,ieee80211)) -define KernelPackage/ieee80211-softmac - TITLE:=ieee80211 SoftMAC support - DEPENDS:=kmod-ieee80211 - KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC) +define KernelPackage/lib80211 + SUBMENU:=$(WIRELESS_MENU) + TITLE:=802.11 Networking stack + DEPENDS:=@LINUX_2_6_29||LINUX_2_6_30 + KCONFIG:= \ + CONFIG_LIB80211 \ + CONFIG_LIB80211_CRYPT_WEP \ + CONFIG_LIB80211_CRYPT_TKIP \ + CONFIG_LIB80211_CRYPT_CCMP FILES:= \ - $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,20,ieee80211softmac) - SUBMENU:=$(WIMENU) + $(LINUX_DIR)/net/wireless/lib80211.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/wireless/lib80211_crypt_wep.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/wireless/lib80211_crypt_ccmp.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/net/wireless/lib80211_crypt_tkip.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,10, \ + lib80211 \ + lib80211_crypt_wep \ + lib80211_crypt_ccmp \ + lib80211_crypt_tkip \ + ) +endef + +define KernelPackage/lib80211/description + Kernel modules for 802.11 Networking stack + Includes: + - lib80211 + - lib80211_crypt_wep + - lib80211_crypt_tkip + - lib80211_crytp_ccmp endef -$(eval $(call KernelPackage,ieee80211-softmac)) +$(eval $(call KernelPackage,lib80211)) -define KernelPackage/net-bcm43xx - TITLE:=Broadcom BCM43xx driver - DESCRIPTION:=\\\ - \\\ - Includes: \\\ - - bcm43xx - DEPENDS:=kmod-ieee80211-softmac - KCONFIG:=$(CONFIG_BCM43XX) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,50,bcm43xx) - SUBMENU:=$(WIMENU) + +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1) + IPW_DIR:=ipw2x00/ +endif + +define KernelPackage/net-libipw + SUBMENU:=$(WIRELESS_MENU) + TITLE:=libipw for ipw2100 and ipw2200 + DEPENDS:=@PCI_SUPPORT +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 @LINUX_2_6_29||LINUX_2_6_30 + KCONFIG:=CONFIG_LIBIPW + FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)libipw.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,49,libipw) endef -$(eval $(call KernelPackage,net-bcm43xx)) + +define KernelPackage/net-libipw/description + Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200. +endef + +$(eval $(call KernelPackage,net-libipw)) + define KernelPackage/net-ipw2100 + SUBMENU:=$(WIRELESS_MENU) TITLE:=Intel IPW2100 driver - DESCRIPTION:=\\\ - \\\ - Includes: \\\ - - ipw2100 - DEPENDS:=kmod-ieee80211 - KCONFIG:=$(CONFIG_IPW2100) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_29&&!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_29||LINUX_2_6_30:kmod-net-libipw + KCONFIG:=CONFIG_IPW2100 + FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2100.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,ipw2100) - SUBMENU:=$(WIMENU) endef + +define KernelPackage/net-ipw2100/description + Kernel support for Intel IPW2100 + Includes: + - ipw2100 +endef + $(eval $(call KernelPackage,net-ipw2100)) + define KernelPackage/net-ipw2200 + SUBMENU:=$(WIRELESS_MENU) TITLE:=Intel IPW2200 driver - DESCRIPTION:=\\\ - \\\ - Includes: \\\ - - ipw2200 - DEPENDS:=kmod-ieee80211 - KCONFIG:=$(CONFIG_IPW2200) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT +!LINUX_2_6_29&&!LINUX_2_6_30:kmod-ieee80211 +LINUX_2_6_29||LINUX_2_6_30:kmod-net-libipw + KCONFIG:=CONFIG_IPW2200 + FILES:=$(LINUX_DIR)/drivers/net/wireless/$(IPW_DIR)ipw2200.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,ipw2200) - SUBMENU:=$(WIMENU) endef + +define KernelPackage/net-ipw2200/description + Kernel support for Intel IPW2200 + Includes: + - ipw2200 +endef + $(eval $(call KernelPackage,net-ipw2200)) define KernelPackage/net-airo + SUBMENU:=$(WIRELESS_MENU) TITLE:=Cisco Aironet driver - DESCRIPTION:=Driver for Cisco Aironet cards - KCONFIG:=$(CONFIG_AIRO) - SUBMENU:=$(WIMENU) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_AIRO + FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,airo) endef + +define KernelPackage/net-airo/description + Kernel support for Cisco Aironet cards +endef + $(eval $(call KernelPackage,net-airo)) +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1) + ORINOCO_DIR:=orinoco/ +endif + define KernelPackage/net-hermes + SUBMENU:=$(WIRELESS_MENU) TITLE:=Hermes 802.11b chipset support - DESCRIPTION:=Kernel support for Hermes 802.11b chipsets - KCONFIG:=$(CONFIG_HERMES) - SUBMENU:=$(WIMENU) + DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT + KCONFIG:=CONFIG_HERMES \ + CONFIG_HERMES_CACHE_FW_ON_INIT=n +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.30)),1) FILES:= \ - $(MODULES_DIR)/kernel/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \ - $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX) + $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,orinoco) +else +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1) + FILES:= \ + $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)orinoco.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/drivers/net/wireless/$(ORINOCO_DIR)hermes_dld.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,hermes hermes_dld orinoco) +else + FILES:= \ + $(LINUX_DIR)/drivers/net/wireless/hermes.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/drivers/net/wireless/orinoco.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,hermes orinoco) +endif +endif +endef + +define KernelPackage/net-hermes/description + Kernel support for Hermes 802.11b chipsets endef + $(eval $(call KernelPackage,net-hermes)) define KernelPackage/net-hermes-pci + SUBMENU:=$(WIRELESS_MENU) TITLE:=Intersil Prism 2.5 PCI support - DESCRIPTION:=Kernel modules for Intersil Prism 2.5 PCI support - KCONFIG:=$(CONFIG_PCI_HERMES) - DEPENDS:=kmod-net-hermes - SUBMENU:=$(WIMENU) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_pci.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT kmod-net-hermes + KCONFIG:=CONFIG_PCI_HERMES + FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_pci.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,55,orinoco_pci) endef + +define KernelPackage/net-hermes-pci/description + Kernel modules for Intersil Prism 2.5 PCI support +endef + $(eval $(call KernelPackage,net-hermes-pci)) define KernelPackage/net-hermes-plx + SUBMENU:=$(WIRELESS_MENU) TITLE:=PLX9052 based PCI adaptor - DESCRIPTION:=Kernel modules for Hermes in PLX9052 based PCI adaptors - KCONFIG:=$(CONFIG_PLX_HERMES) - DEPENDS:=kmod-net-hermes - SUBMENU:=$(WIMENU) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_plx.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT kmod-net-hermes + KCONFIG:=CONFIG_PLX_HERMES + FILES:=$(LINUX_DIR)/drivers/net/wireless/orinoco_plx.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,55,orinoco_plx) endef + +define KernelPackage/net-hermes-plx/description + Kernel modules for Hermes in PLX9052 based PCI adaptors +endef + $(eval $(call KernelPackage,net-hermes-plx)) define KernelPackage/net-prism54 + SUBMENU:=$(WIRELESS_MENU) TITLE:=Intersil Prism54 support - DESCRIPTION:=Kernel modules for Intersil Prism54 support - KCONFIG:=$(CONFIG_PRISM54) - SUBMENU:=$(WIMENU) - FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_PRISM54 + FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,60,prism54) endef -$(eval $(call KernelPackage,net-prism54)) +define KernelPackage/net-prism54/description + Kernel modules for Intersil Prism54 support +endef + +# Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de) +PRISM54_FW:=1.0.4.3.arm + +define Download/net-prism54 + FILE:=$(PRISM54_FW) + URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/ + MD5SUM:=8bd4310971772a486b9784c77f8a6df9 +endef + +define KernelPackage/net-prism54/install + $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890 +endef + +$(eval $(call Download,net-prism54)) +$(eval $(call KernelPackage,net-prism54))