madwifi: add 0.9.4 madwifi as a menuconfig option, as requested in some mails/tickets untested, does not work with 2.6.26

SVN-Revision: 12047
master
Felix Fietkau 16 years ago
parent 0f61e46c1a
commit c688bb1d11
  1. 22
      package/madwifi/Config.in
  2. 61
      package/madwifi/Makefile
  3. 13
      package/madwifi/patches-upstream/104-autocreate_none.patch
  4. 14
      package/madwifi/patches-upstream/111-minstrel_crash.patch

@ -5,13 +5,25 @@ config MADWIFI_DEBUG
depends on EXPERIMENTAL && PACKAGE_kmod-madwifi depends on EXPERIMENTAL && PACKAGE_kmod-madwifi
default n default n
config MADWIFI_TESTING choice
bool "Use the testing version of MadWiFi" prompt "Madwifi version"
depends on PACKAGE_kmod-madwifi depends on PACKAGE_kmod-madwifi
default n default MADWIFI_STABLE
help help
Use the testing version of MadWiFi, which is newer, but also less tested This option allows you to select the version of MadiWifi to be built.
May contain unexpected bugs :)
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 choice
prompt "Rate control algorithm selection" prompt "Rate control algorithm selection"

@ -10,20 +10,34 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=madwifi 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_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_PROTO:=svn
PKG_SOURCE_VERSION:=$(PKG_REV) PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) 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_URL:=http://svn.madwifi.org/madwifi/$(if $(PKG_BRANCH),branches/$(PKG_BRANCH),trunk)
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz 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 include $(INCLUDE_DIR)/package.mk
@ -120,11 +134,13 @@ ifeq ($(findstring PCI,$(BUS)),PCI)
MADWIFI_AUTOLOAD+= ath_pci MADWIFI_AUTOLOAD+= ath_pci
endif 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 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 endif
define KernelPackage/madwifi define KernelPackage/madwifi
SUBMENU:=Wireless Drivers SUBMENU:=Wireless Drivers
@ -164,15 +180,23 @@ endif
MAKE_VARS:= \ MAKE_VARS:= \
COPTS="-DCONFIG_ATHEROS_RATE_DEFAULT='\"$(RATE_CONTROL)\"' -DATH_REVERSE_ENGINEERING=1" \ 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),) ifneq ($(HALFILE),)
define Build/Prepare define Build/Prepare/HAL
$(call Build/Prepare/Default)
rm -rf $(PKG_BUILD_DIR)/tmp rm -rf $(PKG_BUILD_DIR)/tmp
mkdir -p $(PKG_BUILD_DIR)/tmp mkdir -p $(PKG_BUILD_DIR)/tmp
tar xvzf $(HALFILE) -C $(PKG_BUILD_DIR)/tmp tar xvzf $(HALFILE) -C $(PKG_BUILD_DIR)/tmp
$(CP) $(PKG_BUILD_DIR)/tmp/ath_hal*/* $(PKG_BUILD_DIR)/hal/ $(CP) $(PKG_BUILD_DIR)/tmp/ath_hal*/* $(PKG_BUILD_DIR)/hal/
rm -rf $(PKG_BUILD_DIR)/tmp rm -rf $(PKG_BUILD_DIR)/tmp
endef
endif
define Build/Prepare
$(call Build/Prepare/Default)
$(call Build/Prepare/HAL)
# patch cflags # patch cflags
$(SED) 's, -E[LB],,' \ $(SED) 's, -E[LB],,' \
-e 's, -mips2,,' \ -e 's, -mips2,,' \
@ -180,8 +204,7 @@ ifneq ($(HALFILE),)
$(PKG_BUILD_DIR)/hal/public/*.inc $(PKG_BUILD_DIR)/hal/public/*.inc
$(SED) 's,march=armv4,march=armv5te,' \ $(SED) 's,march=armv4,march=armv5te,' \
$(PKG_BUILD_DIR)/hal/public/xscale*.inc $(PKG_BUILD_DIR)/hal/public/xscale*.inc
endef endef
endif
ifeq ($(findstring AHB,$(BUS)),AHB) ifeq ($(findstring AHB,$(BUS)),AHB)
define Build/Compile/ahb define Build/Compile/ahb
@ -216,7 +239,7 @@ endef
define KernelPackage/madwifi/install define KernelPackage/madwifi/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(CP) ./files/* $(1)/ $(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 endef
$(eval $(call KernelPackage,madwifi)) $(eval $(call KernelPackage,madwifi))

@ -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;

@ -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)
Loading…
Cancel
Save