diff options
Diffstat (limited to 'package/madwifi')
| -rw-r--r-- | package/madwifi/Config.in | 22 | ||||
| -rw-r--r-- | package/madwifi/Makefile | 61 | ||||
| -rw-r--r-- | package/madwifi/patches-upstream/104-autocreate_none.patch | 13 | ||||
| -rw-r--r-- | package/madwifi/patches-upstream/111-minstrel_crash.patch | 14 | 
4 files changed, 86 insertions, 24 deletions
| diff --git a/package/madwifi/Config.in b/package/madwifi/Config.in index 913bd0a10..ee2bd67da 100644 --- a/package/madwifi/Config.in +++ b/package/madwifi/Config.in @@ -5,13 +5,25 @@ config MADWIFI_DEBUG  	depends on EXPERIMENTAL && PACKAGE_kmod-madwifi  	default n -config MADWIFI_TESTING -	bool "Use the testing version of MadWiFi" +choice +	prompt "Madwifi version"  	depends on PACKAGE_kmod-madwifi -	default n +	default MADWIFI_STABLE  	help -	  Use the testing version of MadWiFi, which is newer, but also less tested -	  May contain unexpected bugs :) +	  This option allows you to select the version of MadiWifi to be built. + +config MADWIFI_STABLE +	bool "Use the OpenWrt stable version of madwifi" + +config MADWIFI_TESTING +	depends BROKEN +	bool "Use the OpenWrt testing version of madwifi" + +config MADWIFI_UPSTREAM +	depends !LINUX_2_6_26 +	bool "Use the upstream release version 0.9.4" + +endchoice  choice  	prompt "Rate control algorithm selection" diff --git a/package/madwifi/Makefile b/package/madwifi/Makefile index 97516e430..699a4afd0 100644 --- a/package/madwifi/Makefile +++ b/package/madwifi/Makefile @@ -10,20 +10,34 @@ include $(TOPDIR)/rules.mk  include $(INCLUDE_DIR)/kernel.mk  PKG_NAME:=madwifi -PKG_REV:=$(if $(CONFIG_MADWIFI_TESTING),3776,3314) -PKG_VERSION:=r$(PKG_REV) + +ifneq ($(CONFIG_MADWIFI_UPSTREAM),) +  PKG_VERSION:=0.9.4 +  PKG_RELEASE:=1 + +  PKG_SOURCE:=madwifi-$(PKG_VERSION).tar.gz +  PKG_SOURCE_URL:=http://downloads.sourceforge.net/madwifi/ +  PKG_MD5SUM:=399d20de8d855a59f20058857c2178ad + +  PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/madwifi-$(PKG_VERSION) + +  PATCH_DIR=./patches-upstream +else  # PKG_BRANCH:=madwifi-dfs -PKG_RELEASE:=1 +  PKG_REV:=$(if $(CONFIG_MADWIFI_TESTING),3776,3314) +  PKG_VERSION:=r$(PKG_REV) +  PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=svn -PKG_SOURCE_VERSION:=$(PKG_REV) -PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) -PKG_SOURCE_URL:=http://svn.madwifi.org/madwifi/$(if $(PKG_BRANCH),branches/$(PKG_BRANCH),trunk) -PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz +  PKG_SOURCE_PROTO:=svn +  PKG_SOURCE_VERSION:=$(PKG_REV) +  PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) +  PKG_SOURCE_URL:=http://svn.madwifi.org/madwifi/$(if $(PKG_BRANCH),branches/$(PKG_BRANCH),trunk) +  PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) +  PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) -PATCH_DIR=$(if $(CONFIG_MADWIFI_TESTING),./patches-testing,./patches) +  PATCH_DIR=$(if $(CONFIG_MADWIFI_TESTING),./patches-testing,./patches) +endif  include $(INCLUDE_DIR)/package.mk @@ -120,11 +134,13 @@ ifeq ($(findstring PCI,$(BUS)),PCI)    MADWIFI_AUTOLOAD+= ath_pci  endif -MADWIFI_APPLETS:=80211stats,athchans,athctrl,athkey,athstats,wlanconfig,$(if $(CONFIG_MADWIFI_TESTING),ath_info/)ath_info +MADWIFI_APPLETS:=80211stats athchans athctrl athkey athstats wlanconfig $(if $(CONFIG_MADWIFI_TESTING),ath_info/)ath_info  ifdef CONFIG_MADWIFI_DEBUG -  MADWIFI_APPLETS:=$(strip $(MADWIFI_APPLETS)),athdebug,80211debug +  MADWIFI_APPLETS += athdebug 80211debug +endif +ifndef CONFIG_MADWIFI_UPSTREAM +  MADWIFI_APPLETS += madwifi_multi  endif -  define KernelPackage/madwifi    SUBMENU:=Wireless Drivers @@ -164,15 +180,23 @@ endif  MAKE_VARS:= \  	COPTS="-DCONFIG_ATHEROS_RATE_DEFAULT='\"$(RATE_CONTROL)\"' -DATH_REVERSE_ENGINEERING=1" \ -HALFILE:=$(lastword $(sort $(wildcard ./ath_hal-*.tgz))) +ifeq ($(CONFIG_MADWIFI_UPSTREAM),) +  HALFILE:=$(lastword $(sort $(wildcard ./ath_hal-*.tgz))) +endif +  ifneq ($(HALFILE),) -  define Build/Prepare -	$(call Build/Prepare/Default) +  define Build/Prepare/HAL  	rm -rf $(PKG_BUILD_DIR)/tmp  	mkdir -p $(PKG_BUILD_DIR)/tmp  	tar xvzf $(HALFILE) -C $(PKG_BUILD_DIR)/tmp  	$(CP) $(PKG_BUILD_DIR)/tmp/ath_hal*/* $(PKG_BUILD_DIR)/hal/  	rm -rf $(PKG_BUILD_DIR)/tmp +  endef +endif + +define Build/Prepare +	$(call Build/Prepare/Default) +	$(call Build/Prepare/HAL)  	# patch cflags  	$(SED) 's, -E[LB],,' \  		-e 's, -mips2,,' \ @@ -180,8 +204,7 @@ ifneq ($(HALFILE),)  		$(PKG_BUILD_DIR)/hal/public/*.inc  	$(SED) 's,march=armv4,march=armv5te,' \  		$(PKG_BUILD_DIR)/hal/public/xscale*.inc -  endef -endif +endef  ifeq ($(findstring AHB,$(BUS)),AHB)    define Build/Compile/ahb @@ -216,7 +239,7 @@ endef  define KernelPackage/madwifi/install  	$(INSTALL_DIR) $(1)/usr/sbin  	$(CP) ./files/* $(1)/ -	$(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,$(MADWIFI_APPLETS)} $(1)/usr/sbin/ +	$(CP) $(foreach applet,$(MADWIFI_APPLETS),$(PKG_BUILD_DIR)/tools/$(applet)) $(1)/usr/sbin/  endef  $(eval $(call KernelPackage,madwifi)) diff --git a/package/madwifi/patches-upstream/104-autocreate_none.patch b/package/madwifi/patches-upstream/104-autocreate_none.patch new file mode 100644 index 000000000..e290f86ff --- /dev/null +++ b/package/madwifi/patches-upstream/104-autocreate_none.patch @@ -0,0 +1,13 @@ +Index: madwifi-0.9.4/ath/if_ath.c +=================================================================== +--- madwifi-0.9.4.old/ath/if_ath.c	2008-02-13 06:13:10.000000000 +0100 ++++ madwifi-0.9.4/ath/if_ath.c	2008-05-06 10:25:15.000000000 +0200 +@@ -404,7 +404,7 @@ + 	struct ath_hal *ah; + 	HAL_STATUS status; + 	int error = 0, i; +-	int autocreatemode = IEEE80211_M_STA; ++	int autocreatemode = -1; + 	u_int8_t csz; +  + 	sc->devid = devid; diff --git a/package/madwifi/patches-upstream/111-minstrel_crash.patch b/package/madwifi/patches-upstream/111-minstrel_crash.patch new file mode 100644 index 000000000..cc1fbe6a8 --- /dev/null +++ b/package/madwifi/patches-upstream/111-minstrel_crash.patch @@ -0,0 +1,14 @@ +Index: madwifi-0.9.4/ath_rate/minstrel/minstrel.c +=================================================================== +--- madwifi-0.9.4.old/ath_rate/minstrel/minstrel.c	2007-12-12 05:11:07.000000000 +0100 ++++ madwifi-0.9.4/ath_rate/minstrel/minstrel.c	2008-07-24 15:15:41.000000000 +0200 +@@ -394,6 +394,9 @@ + 	int rc1, rc2, rc3;         /* Index into the rate table, so for example, it is  0..11 */ + 	int rixc1, rixc2, rixc3;   /* The actual bit rate used */ +  ++	if (sn->num_rates <= 0) ++		return;	 ++ + 	if (sn->is_sampling) { + 		sn->is_sampling = 0; + 		if (sn->rs_sample_rate_slower) | 
