mirror of https://github.com/hak5/openwrt.git
madwifi: update to sam leffler's latest hal fixes LED on wisoc fixes rx sensitivity issues improves throughput on all cards/devices enhances link stability
SVN-Revision: 11314lede-17.01
parent
3e0c844379
commit
17a7cfb3a7
|
@ -5,87 +5,6 @@ config MADWIFI_DEBUG
|
||||||
depends on EXPERIMENTAL
|
depends on EXPERIMENTAL
|
||||||
default n
|
default n
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Bus selection"
|
|
||||||
default MADWIFI_BUS_DEFAULT
|
|
||||||
help
|
|
||||||
This option controls how MadWifi communicates with the hardware.
|
|
||||||
|
|
||||||
config MADWIFI_BUS_DEFAULT
|
|
||||||
bool "Use default bus"
|
|
||||||
help
|
|
||||||
This makes MadWifi determine the needed bus based on the target
|
|
||||||
hardware. This will generally work most of the time, but there are some
|
|
||||||
cases where you need to override it.
|
|
||||||
|
|
||||||
config MADWIFI_BUS_PCI
|
|
||||||
bool "Use PCI bus"
|
|
||||||
depends on PCI_SUPPORT
|
|
||||||
|
|
||||||
config MADWIFI_BUS_AHB
|
|
||||||
bool "Use AHB bus"
|
|
||||||
depends on TARGET_atheros
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "HAL selection"
|
|
||||||
default MADWIFI_HAL_DEFAULT
|
|
||||||
help
|
|
||||||
This option controls how MadWifi communicates with the hardware.
|
|
||||||
|
|
||||||
config MADWIFI_HAL_DEFAULT
|
|
||||||
bool "Use default HAL"
|
|
||||||
help
|
|
||||||
This makes MadWifi determine the needed HAL based on the target
|
|
||||||
hardware. This will generally work most of the time, but there are some
|
|
||||||
cases where you need to override it.
|
|
||||||
|
|
||||||
config MADWIFI_HAL_MIPS_BE_ELF
|
|
||||||
bool "Use MIPS big endian ELF HAL"
|
|
||||||
depends on mips
|
|
||||||
depends on BIG_ENDIAN
|
|
||||||
|
|
||||||
config MADWIFI_HAL_MIPS_LE_ELF
|
|
||||||
bool "Use MIPS little endian ELF HAL"
|
|
||||||
depends on mips
|
|
||||||
depends on !BIG_ENDIAN
|
|
||||||
|
|
||||||
config MADWIFI_HAL_I386_ELF
|
|
||||||
bool "Use i386 ELF HAL"
|
|
||||||
depends on TARGET_x86
|
|
||||||
|
|
||||||
config MADWIFI_HAL_XSCALE_BE_ELF
|
|
||||||
bool "Use XScale big endian ELF HAL"
|
|
||||||
depends TARGET_ixp4xx
|
|
||||||
depends on BIG_ENDIAN
|
|
||||||
|
|
||||||
config MADWIFI_HAL_XSCALE_LE_ELF
|
|
||||||
bool "Use XScale little endian ELF HAL"
|
|
||||||
depends TARGET_iop32x
|
|
||||||
depends on !BIG_ENDIAN
|
|
||||||
|
|
||||||
config MADWIFI_HAL_ARMV4_LE_ELF
|
|
||||||
bool "Use ARMV4 little endian ELF HAL"
|
|
||||||
depends TARGET_storm
|
|
||||||
depends on !BIG_ENDIAN
|
|
||||||
|
|
||||||
config MADWIFI_HAL_AP30
|
|
||||||
bool "Use AP30 HAL"
|
|
||||||
depends on TARGET_atheros
|
|
||||||
|
|
||||||
config MADWIFI_HAL_AP43
|
|
||||||
bool "Use AP43 HAL"
|
|
||||||
depends on TARGET_atheros
|
|
||||||
|
|
||||||
config MADWIFI_HAL_AP51
|
|
||||||
bool "Use AP51 HAL"
|
|
||||||
depends on TARGET_atheros
|
|
||||||
|
|
||||||
config MADWIFI_HAL_AP61
|
|
||||||
bool "Use AP61 HAL"
|
|
||||||
depends on TARGET_atheros
|
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
choice
|
choice
|
||||||
|
|
|
@ -25,98 +25,45 @@ PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trun
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_BUS_DEFAULT
|
ifneq ($(CONFIG_TARGET_atheros),)
|
||||||
ifneq ($(CONFIG_TARGET_atheros),)
|
BUS:=AHB
|
||||||
BUS:=AHB
|
|
||||||
else
|
|
||||||
ifneq ($(CONFIG_PCI_SUPPORT),)
|
|
||||||
BUS:=PCI
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# XXX: remove this check later when we have PCI support properly detected on all targets
|
|
||||||
ifneq ($(CONFIG_TARGET_ar7)$(CONFIG_TARGET_uml),)
|
|
||||||
BUS:=
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
ifdef CONFIG_MADWIFI_BUS_PCI
|
ifneq ($(CONFIG_PCI_SUPPORT),)
|
||||||
BUS:=PCI
|
BUS:=PCI
|
||||||
else
|
|
||||||
ifdef CONFIG_MADWIFI_BUS_AHB
|
|
||||||
BUS:=AHB
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_DEFAULT
|
# XXX: remove this check later when we have PCI support properly detected on all targets
|
||||||
ifeq ($(ARCH),mips)
|
ifneq ($(CONFIG_TARGET_ar7)$(CONFIG_TARGET_uml),)
|
||||||
HAL_TARGET:=mips-be-elf
|
BUS:=
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),mipsel)
|
|
||||||
HAL_TARGET:=mips-le-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(ARCH),i386)
|
|
||||||
HAL_TARGET:=i386-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(ARCH),i686)
|
|
||||||
HAL_TARGET:=i386-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(BOARD),ixp4xx)
|
|
||||||
HAL_TARGET:=xscale-be-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(BOARD),iop32x)
|
|
||||||
HAL_TARGET:=xscale-le-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(ARCH),powerpc)
|
|
||||||
HAL_TARGET:=powerpc-be-elf
|
|
||||||
endif
|
|
||||||
ifeq ($(BOARD),storm)
|
|
||||||
HAL_TARGET:=armv4-le-elf
|
|
||||||
endif
|
|
||||||
ifneq ($(CONFIG_TARGET_atheros),)
|
|
||||||
HAL_TARGET:=ap51
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_MIPS_BE_ELF
|
|
||||||
HAL_TARGET:=mips-be-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_MIPS_LE_ELF
|
|
||||||
HAL_TARGET:=mips-le-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_I386_ELF
|
|
||||||
HAL_TARGET:=i386-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_XSCALE_BE_ELF
|
|
||||||
HAL_TARGET:=xscale-be-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_XSCALE_LE_ELF
|
|
||||||
HAL_TARGET:=xscale-le-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_ARMV4_LE_ELF
|
|
||||||
HAL_TARGET:=armv4-le-elf
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_AP30
|
|
||||||
HAL_TARGET:=ap30
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_AP43
|
|
||||||
HAL_TARGET:=ap43
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_AP51
|
|
||||||
HAL_TARGET:=ap51
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_HAL_AP61
|
|
||||||
HAL_TARGET:=ap61
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
ifeq ($(ARCH),mips)
|
||||||
|
HAL_TARGET:=mips-be-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),mipsel)
|
||||||
|
HAL_TARGET:=mips-le-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),i386)
|
||||||
|
HAL_TARGET:=i386-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),i686)
|
||||||
|
HAL_TARGET:=i386-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(BOARD),ixp4xx)
|
||||||
|
HAL_TARGET:=xscale-be-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(BOARD),iop32x)
|
||||||
|
HAL_TARGET:=xscale-le-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),powerpc)
|
||||||
|
HAL_TARGET:=powerpc-be-elf
|
||||||
|
endif
|
||||||
|
ifeq ($(BOARD),storm)
|
||||||
|
HAL_TARGET:=armv4-le-elf
|
||||||
|
endif
|
||||||
|
ifneq ($(CONFIG_TARGET_atheros),)
|
||||||
|
HAL_TARGET:=wisoc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_MADWIFI_RCA_MINSTREL
|
ifdef CONFIG_MADWIFI_RCA_MINSTREL
|
||||||
|
@ -206,10 +153,10 @@ MAKE_ARGS:= \
|
||||||
ATH_RATE="ath_rate/$(RATE_CONTROL)" \
|
ATH_RATE="ath_rate/$(RATE_CONTROL)" \
|
||||||
WARNINGS="-Wno-unused" \
|
WARNINGS="-Wno-unused" \
|
||||||
$(if $(CONFIG_MADWIFI_DEBUG),,DEBUG="") \
|
$(if $(CONFIG_MADWIFI_DEBUG),,DEBUG="") \
|
||||||
DOMULTI=1
|
DO_MULTI=1
|
||||||
|
|
||||||
MAKE_VARS:= \
|
MAKE_VARS:= \
|
||||||
COPTS="-DCONFIG_ATHEROS_RATE_DEFAULT='\"$(RATE_CONTROL)\"'" \
|
COPTS="-DCONFIG_ATHEROS_RATE_DEFAULT='\"$(RATE_CONTROL)\"' -DATH_REVERSE_ENGINEERING=1" \
|
||||||
|
|
||||||
HALFILE:=$(lastword $(sort $(wildcard ./ath_hal-*.tgz)))
|
HALFILE:=$(lastword $(sort $(wildcard ./ath_hal-*.tgz)))
|
||||||
ifneq ($(HALFILE),)
|
ifneq ($(HALFILE),)
|
||||||
|
@ -220,6 +167,12 @@ ifneq ($(HALFILE),)
|
||||||
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
|
||||||
|
# patch cflags
|
||||||
|
$(SED) 's, -E[LB],,' \
|
||||||
|
-e 's, -mapcs-32,,' \
|
||||||
|
$(PKG_BUILD_DIR)/hal/public/*.inc
|
||||||
|
$(SED) 's,march=armv4,march=armv5te,' \
|
||||||
|
$(PKG_BUILD_DIR)/hal/public/xscale*.inc
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -1,43 +0,0 @@
|
||||||
Index: madwifi-trunk-r3314/hal/public/mips-be-elf.inc
|
|
||||||
===================================================================
|
|
||||||
--- madwifi-trunk-r3314.orig/hal/public/mips-be-elf.inc 2008-02-20 18:10:46.339155111 +0100
|
|
||||||
+++ madwifi-trunk-r3314/hal/public/mips-be-elf.inc 2008-02-20 18:10:46.439160810 +0100
|
|
||||||
@@ -71,5 +71,5 @@
|
|
||||||
|
|
||||||
LDOPTS= -EB
|
|
||||||
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
|
|
||||||
-COPTS+= -G 0 -EB -mno-abicalls -fno-pic -mips2 -Wa,--trap \
|
|
||||||
+COPTS+= -G 0 -mno-abicalls -fno-pic -mips32 -Wa,--trap \
|
|
||||||
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
|
|
||||||
Index: madwifi-trunk-r3314/hal/public/mips-le-elf.inc
|
|
||||||
===================================================================
|
|
||||||
--- madwifi-trunk-r3314.orig/hal/public/mips-le-elf.inc 2008-02-20 18:10:46.347155567 +0100
|
|
||||||
+++ madwifi-trunk-r3314/hal/public/mips-le-elf.inc 2008-02-20 18:10:46.443161036 +0100
|
|
||||||
@@ -68,5 +68,5 @@
|
|
||||||
|
|
||||||
LDOPTS= -EL
|
|
||||||
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
|
|
||||||
-COPTS+= -G 0 -EL -mno-abicalls -fno-pic -mips2 -Wa,--trap \
|
|
||||||
+COPTS+= -G 0 -mno-abicalls -fno-pic -mips32 -Wa,--trap \
|
|
||||||
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
|
|
||||||
Index: madwifi-trunk-r3314/hal/public/xscale-be-elf.inc
|
|
||||||
===================================================================
|
|
||||||
--- madwifi-trunk-r3314.orig/hal/public/xscale-be-elf.inc 2008-02-20 18:10:46.351155793 +0100
|
|
||||||
+++ madwifi-trunk-r3314/hal/public/xscale-be-elf.inc 2008-02-20 18:10:46.451161492 +0100
|
|
||||||
@@ -77,5 +77,5 @@
|
|
||||||
|
|
||||||
LDOPTS= -EB
|
|
||||||
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
|
|
||||||
-COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
|
|
||||||
+COPTS+= -march=armv5te -mbig-endian -fno-strict-aliasing -fno-common \
|
|
||||||
-mtune=xscale -mshort-load-bytes
|
|
||||||
Index: madwifi-trunk-r3314/hal/public/xscale-le-elf.inc
|
|
||||||
===================================================================
|
|
||||||
--- madwifi-trunk-r3314.orig/hal/public/xscale-le-elf.inc 2008-02-20 18:10:46.363156477 +0100
|
|
||||||
+++ madwifi-trunk-r3314/hal/public/xscale-le-elf.inc 2008-02-20 18:10:46.455161721 +0100
|
|
||||||
@@ -79,4 +79,4 @@
|
|
||||||
LDOPTS= -EL
|
|
||||||
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
|
|
||||||
COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \
|
|
||||||
- -mapcs-32 -mtune=xscale -mshort-load-bytes
|
|
||||||
+ -mtune=xscale -mshort-load-bytes
|
|
|
@ -1,16 +0,0 @@
|
||||||
Index: madwifi-trunk-r3314/ath/if_ath.c
|
|
||||||
===================================================================
|
|
||||||
--- madwifi-trunk-r3314.orig/ath/if_ath.c 2008-03-07 00:38:26.748463672 +0100
|
|
||||||
+++ madwifi-trunk-r3314/ath/if_ath.c 2008-03-07 00:38:51.285861974 +0100
|
|
||||||
@@ -6753,8 +6753,9 @@
|
|
||||||
dev->quota -= processed;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- /* rx signal state monitoring */
|
|
||||||
- ath_hal_rxmonitor(ah, &sc->sc_halstats, &sc->sc_curchan);
|
|
||||||
+ /* rx signal state monitoring, only necessary/applicable for sta mode */
|
|
||||||
+ if (sc->sc_opmode == HAL_M_STA)
|
|
||||||
+ ath_hal_rxmonitor(ah, &sc->sc_halstats, &sc->sc_curchan);
|
|
||||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
|
|
||||||
return processed;
|
|
||||||
#else
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
Index: madwifi-trunk-r3314/ath/if_ath.c
|
||||||
|
===================================================================
|
||||||
|
--- madwifi-trunk-r3314.orig/ath/if_ath.c 2008-04-09 02:58:41.000000000 +0200
|
||||||
|
+++ madwifi-trunk-r3314/ath/if_ath.c 2008-04-09 02:59:40.000000000 +0200
|
||||||
|
@@ -2479,7 +2479,7 @@
|
||||||
|
*/
|
||||||
|
sc->sc_curchan.channel = ic->ic_curchan->ic_freq;
|
||||||
|
sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan);
|
||||||
|
- if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
|
||||||
|
+ if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_TRUE, &status)) {
|
||||||
|
EPRINTF(sc, "unable to reset hardware: '%s' (HAL status %u) "
|
||||||
|
"(freq %u flags 0x%x)\n",
|
||||||
|
ath_get_hal_status_desc(status), status,
|
||||||
|
@@ -8865,8 +8865,7 @@
|
||||||
|
* needed to do the reset with chanchange = AH_FALSE in order
|
||||||
|
* to receive traffic when peforming high velocity channel
|
||||||
|
* changes. */
|
||||||
|
- if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status) ||
|
||||||
|
- !ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_FALSE, &status)) {
|
||||||
|
+ if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status)) {
|
||||||
|
EPRINTF(sc, "Unable to reset channel %u (%u MHz) "
|
||||||
|
"flags 0x%x '%s' (HAL status %u)\n",
|
||||||
|
ieee80211_chan2ieee(ic, chan), chan->ic_freq,
|
|
@ -0,0 +1,13 @@
|
||||||
|
Index: madwifi-trunk-r3314/ath/if_ath_ahb.c
|
||||||
|
===================================================================
|
||||||
|
--- madwifi-trunk-r3314.orig/ath/if_ath_ahb.c 2008-03-07 11:40:44.967178082 +0100
|
||||||
|
+++ madwifi-trunk-r3314/ath/if_ath_ahb.c 2008-03-07 11:40:47.763337418 +0100
|
||||||
|
@@ -245,6 +245,8 @@
|
||||||
|
num_activesc++;
|
||||||
|
/* Ready to process interrupts */
|
||||||
|
|
||||||
|
+ sc->aps_sc.sc_softled = 1; /* SoftLED over GPIO */
|
||||||
|
+ sc->aps_sc.sc_ledpin = config->board->sysLedGpio;
|
||||||
|
sc->aps_sc.sc_invalid = 0;
|
||||||
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue