mirror of https://github.com/hak5/openwrt-owl.git
make kernel module packaging code reusable and use it in madwifi
SVN-Revision: 5189owl
parent
92ced53400
commit
547b127d7a
|
@ -59,6 +59,69 @@ else
|
||||||
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
|
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/Defaults
|
||||||
|
FILES:=
|
||||||
|
KCONFIG:=m
|
||||||
|
AUTOLOAD:=
|
||||||
|
endef
|
||||||
|
|
||||||
|
define ModuleAutoLoad
|
||||||
|
export modules=; \
|
||||||
|
add_module() { \
|
||||||
|
mkdir -p $(2)/etc/modules.d; \
|
||||||
|
echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
|
||||||
|
modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
|
||||||
|
}; \
|
||||||
|
$(3) \
|
||||||
|
if [ -n "$$$$$$$$modules" ]; then \
|
||||||
|
mkdir -p $(2)/etc/modules.d; \
|
||||||
|
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
|
||||||
|
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
|
||||||
|
echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
|
||||||
|
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
|
||||||
|
chmod 0755 $(2)/CONTROL/postinst; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage
|
||||||
|
NAME:=$(1)
|
||||||
|
$(eval $(call KernelPackage/Defaults))
|
||||||
|
$(eval $(call KernelPackage/$(1)))
|
||||||
|
$(eval $(call KernelPackage/$(1)/$(KERNEL)))
|
||||||
|
$(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)))
|
||||||
|
|
||||||
|
define Package/kmod-$(1)
|
||||||
|
TITLE:=$(TITLE)
|
||||||
|
SECTION:=kernel
|
||||||
|
CATEGORY:=Kernel modules
|
||||||
|
DEFAULT:=m
|
||||||
|
DESCRIPTION:=$(DESCRIPTION)
|
||||||
|
EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))'
|
||||||
|
$(call KernelPackage/$(1))
|
||||||
|
$(call KernelPackage/$(1)/$(KERNEL))
|
||||||
|
$(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(findstring m,$(KCONFIG)),m)
|
||||||
|
ifneq ($(strip $(FILES)),)
|
||||||
|
define Package/kmod-$(1)/install
|
||||||
|
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
|
||||||
|
$(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
|
||||||
|
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
|
||||||
|
$(call KernelPackage/$(1)/install,$$(1))
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
$$(eval $$(call BuildPackage,kmod-$(1)))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define AutoLoad
|
||||||
|
add_module $(1) "$(2)";
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
# FIXME: remove this crap
|
# FIXME: remove this crap
|
||||||
define KMOD_template
|
define KMOD_template
|
||||||
ifeq ($$(strip $(4)),)
|
ifeq ($$(strip $(4)),)
|
||||||
|
|
|
@ -26,68 +26,11 @@ define Build/Prepare
|
||||||
mkdir -p $(PKG_BUILD_DIR)
|
mkdir -p $(PKG_BUILD_DIR)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/Defaults
|
|
||||||
FILES:=
|
|
||||||
KCONFIG:=m
|
|
||||||
AUTOLOAD:=
|
|
||||||
endef
|
|
||||||
|
|
||||||
define ModuleAutoLoad
|
|
||||||
export modules=; \
|
|
||||||
add_module() { \
|
|
||||||
mkdir -p $(2)/etc/modules.d; \
|
|
||||||
echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
|
|
||||||
modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
|
|
||||||
}; \
|
|
||||||
$(3) \
|
|
||||||
if [ -n "$$$$$$$$modules" ]; then \
|
|
||||||
mkdir -p $(2)/etc/modules.d; \
|
|
||||||
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
|
|
||||||
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
|
|
||||||
echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
|
|
||||||
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
|
|
||||||
chmod 0755 $(2)/CONTROL/postinst; \
|
|
||||||
fi
|
|
||||||
endef
|
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage
|
|
||||||
NAME:=$(1)
|
|
||||||
$(eval $(call KernelPackage/Defaults))
|
|
||||||
$(eval $(call KernelPackage/$(1)))
|
|
||||||
$(eval $(call KernelPackage/$(1)/$(KERNEL)))
|
|
||||||
$(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)))
|
|
||||||
|
|
||||||
define Package/kmod-$(1)
|
|
||||||
TITLE:=$(TITLE)
|
|
||||||
SECTION:=kernel
|
|
||||||
CATEGORY:=Kernel modules
|
|
||||||
DEFAULT:=m
|
|
||||||
DESCRIPTION:=$(DESCRIPTION)
|
|
||||||
EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))'
|
|
||||||
$(call KernelPackage/$(1))
|
|
||||||
$(call KernelPackage/$(1)/$(KERNEL))
|
|
||||||
$(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifeq ($(findstring m,$(KCONFIG)),m)
|
|
||||||
ifneq ($(strip $(FILES)),)
|
|
||||||
define Package/kmod-$(1)/install
|
|
||||||
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
|
|
||||||
$(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
|
|
||||||
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
$$(eval $$(call BuildPackage,kmod-$(1)))
|
|
||||||
endef
|
|
||||||
|
|
||||||
define AutoLoad
|
|
||||||
add_module $(1) "$(2)";
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(TOPDIR)/target/linux/*/modules.mk
|
include $(TOPDIR)/target/linux/*/modules.mk
|
||||||
include ./modules/*.mk
|
include ./modules/*.mk
|
||||||
|
|
|
@ -22,17 +22,6 @@ PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
define Package/kmod-madwifi
|
|
||||||
SECTION:=kernel
|
|
||||||
CATEGORY:=Kernel drivers
|
|
||||||
DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL
|
|
||||||
TITLE:=Driver for Atheros wireless chipsets
|
|
||||||
DESCRIPTION:=\
|
|
||||||
This package contains a driver for Atheros 802.11a/b/g chipsets.
|
|
||||||
URL:=http://madwifi.org/
|
|
||||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
|
||||||
endef
|
|
||||||
|
|
||||||
RATE_CONTROL:=sample
|
RATE_CONTROL:=sample
|
||||||
|
|
||||||
ifeq ($(ARCH),mips)
|
ifeq ($(ARCH),mips)
|
||||||
|
@ -67,6 +56,41 @@ ifeq ($(findstring PCI,$(BUS)),PCI)
|
||||||
BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX)
|
BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
MADWIFI_AUTOLOAD:= \
|
||||||
|
wlan \
|
||||||
|
wlan_scan_ap \
|
||||||
|
wlan_scan_sta \
|
||||||
|
ath_hal \
|
||||||
|
ath_rate_$(RATE_CONTROL) \
|
||||||
|
wlan_acl \
|
||||||
|
wlan_ccmp \
|
||||||
|
wlan_tkip \
|
||||||
|
wlan_wep \
|
||||||
|
wlan_xauth
|
||||||
|
|
||||||
|
ifeq ($(findstring AHB,$(BUS)),AHB)
|
||||||
|
MADWIFI_AUTOLOAD += ath_ahb
|
||||||
|
endif
|
||||||
|
ifeq ($(findstring PCI,$(BUS)),PCI)
|
||||||
|
MADWIFI_AUTOLOAD += ath_pci
|
||||||
|
endif
|
||||||
|
|
||||||
|
define KernelPackage/madwifi
|
||||||
|
SUBMENU:=Network Devices
|
||||||
|
DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL
|
||||||
|
TITLE:=Driver for Atheros wireless chipsets
|
||||||
|
DESCRIPTION:=\
|
||||||
|
This package contains a driver for Atheros 802.11a/b/g chipsets.
|
||||||
|
URL:=http://madwifi.org/
|
||||||
|
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||||
|
FILES:= \
|
||||||
|
$(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \
|
||||||
|
$(BUS_MODULES) \
|
||||||
|
$(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \
|
||||||
|
$(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX)
|
||||||
|
AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD))
|
||||||
|
endef
|
||||||
|
|
||||||
MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
|
MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
|
||||||
PATH="$(TARGET_PATH)" \
|
PATH="$(TARGET_PATH)" \
|
||||||
ARCH="$(LINUX_KARCH)" \
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
@ -107,27 +131,12 @@ define Build/UninstallDev
|
||||||
rm -rf $(STAGING_DIR)/usr/include/madwifi
|
rm -rf $(STAGING_DIR)/usr/include/madwifi
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/kmod-madwifi/install
|
define KernelPackage/madwifi/install
|
||||||
mkdir -p $(1)/etc/modules.d
|
|
||||||
mkdir -p $(1)/etc/init.d
|
mkdir -p $(1)/etc/init.d
|
||||||
mkdir -p $(1)/lib/modules/$(LINUX_VERSION)
|
mkdir -p $(1)/lib/modules/$(LINUX_VERSION)
|
||||||
mkdir -p $(1)/usr/sbin
|
mkdir -p $(1)/usr/sbin
|
||||||
install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi
|
|
||||||
echo ath_rate_$(RATE_CONTROL) >> $(1)/etc/modules.d/20-madwifi
|
|
||||||
ifeq ($(findstring AHB,$(BUS)),AHB)
|
|
||||||
echo ath_ahb >> $(1)/etc/modules.d/20-madwifi
|
|
||||||
endif
|
|
||||||
ifeq ($(findstring PCI,$(BUS)),PCI)
|
|
||||||
echo "ath_pci autocreate=none" >> $(1)/etc/modules.d/20-madwifi
|
|
||||||
endif
|
|
||||||
install -m0755 ./files/madwifi.init $(1)/etc/init.d/madwifi
|
install -m0755 ./files/madwifi.init $(1)/etc/init.d/madwifi
|
||||||
$(CP) \
|
|
||||||
$(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \
|
|
||||||
$(BUS_MODULES) \
|
|
||||||
$(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \
|
|
||||||
$(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \
|
|
||||||
$(1)/lib/modules/$(LINUX_VERSION)/
|
|
||||||
$(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/
|
$(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,kmod-madwifi))
|
$(eval $(call KernelPackage,madwifi))
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
wlan
|
|
||||||
wlan_scan_ap
|
|
||||||
wlan_scan_sta
|
|
||||||
ath_hal
|
|
||||||
ath_rate_sample
|
|
||||||
wlan_acl
|
|
||||||
wlan_ccmp
|
|
||||||
wlan_tkip
|
|
||||||
wlan_wep
|
|
||||||
wlan_xauth
|
|
|
@ -6,7 +6,7 @@ diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
|
||||||
HAL_STATUS status;
|
HAL_STATUS status;
|
||||||
int error = 0, i;
|
int error = 0, i;
|
||||||
- int autocreatemode = IEEE80211_M_STA;
|
- int autocreatemode = IEEE80211_M_STA;
|
||||||
+ int autocreatemode = IEEE80211_M_HOSTAP;
|
+ int autocreatemode = -1;
|
||||||
u_int8_t csz;
|
u_int8_t csz;
|
||||||
|
|
||||||
sc->devid = devid;
|
sc->devid = devid;
|
Loading…
Reference in New Issue