From a474581eff3aff3ece80c20f60d717578b979d23 Mon Sep 17 00:00:00 2001 From: nbd Date: Fri, 17 Feb 2006 16:32:51 +0000 Subject: [PATCH] fix for madwifi radiotap support (patch by jwright) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3249 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- openwrt/target/linux/package/madwifi/Makefile | 4 +- .../madwifi/patches/100-kernel_cflags.patch | 36 +- .../madwifi/patches/101-no_werror.patch | 8 +- .../patches/102-multicall_binary.patch | 537 +++++++++++++++--- .../madwifi/patches/103-wpa_crash.patch | 18 +- .../patches/104-apmode_by_default.patch | 10 +- 6 files changed, 493 insertions(+), 120 deletions(-) diff --git a/openwrt/target/linux/package/madwifi/Makefile b/openwrt/target/linux/package/madwifi/Makefile index eabbdd0f2..c19272692 100644 --- a/openwrt/target/linux/package/madwifi/Makefile +++ b/openwrt/target/linux/package/madwifi/Makefile @@ -4,9 +4,9 @@ include $(TOPDIR)/rules.mk include ../../rules.mk PKG_NAME:=madwifi-ng -PKG_VERSION:=r1416-20060126 +PKG_VERSION:=r1451-20060212 PKG_RELEASE:=1 -PKG_MD5SUM:=f308a0dbbb5d5497c0e09d86e8bde32c +PKG_MD5SUM:=e3bef6881d711033689964bf0b982f14 PKG_SOURCE_URL:=http://snapshots.madwifi.org/$(PKG_NAME) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/openwrt/target/linux/package/madwifi/patches/100-kernel_cflags.patch b/openwrt/target/linux/package/madwifi/patches/100-kernel_cflags.patch index 61927a666..c26ce523d 100644 --- a/openwrt/target/linux/package/madwifi/patches/100-kernel_cflags.patch +++ b/openwrt/target/linux/package/madwifi/patches/100-kernel_cflags.patch @@ -1,6 +1,18 @@ -diff -urN madwifi.old/hal/public/mips-be-elf.inc madwifi.new/hal/public/mips-be-elf.inc ---- madwifi.old/hal/public/mips-be-elf.inc 2005-11-02 15:33:27.000000000 +0100 -+++ madwifi.new/hal/public/mips-be-elf.inc 2006-01-13 12:15:02.000000000 +0100 +diff -ru madwifi-ng-r1451-20060212/Makefile madwifi-ng-r1451-20060212-patch/Makefile +--- madwifi-ng-r1451-20060212/Makefile 2006-02-09 08:06:58.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/Makefile 2006-02-16 05:58:26.000000000 -0500 +@@ -52,7 +52,7 @@ + + all: modules tools + +-modules: configcheck svnversion.h ++modules: svnversion.h + mkdir -p ${SYMBOLSDIR} + for i in ${DIRS_MODULES}; do \ + $(MAKE) -C $$i || exit 1; \ +diff -ru madwifi-ng-r1451-20060212/hal/public/mips-be-elf.inc madwifi-ng-r1451-20060212-patch/hal/public/mips-be-elf.inc +--- madwifi-ng-r1451-20060212/hal/public/mips-be-elf.inc 2006-02-11 07:04:39.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/hal/public/mips-be-elf.inc 2006-02-16 05:56:21.000000000 -0500 @@ -66,5 +66,5 @@ LDOPTS= -EB @@ -8,9 +20,9 @@ diff -urN madwifi.old/hal/public/mips-be-elf.inc madwifi.new/hal/public/mips-be- -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 -diff -urN madwifi.old/hal/public/mips-le-elf.inc madwifi.new/hal/public/mips-le-elf.inc ---- madwifi.old/hal/public/mips-le-elf.inc 2005-11-02 15:33:27.000000000 +0100 -+++ madwifi.new/hal/public/mips-le-elf.inc 2006-01-13 12:15:02.000000000 +0100 +diff -ru madwifi-ng-r1451-20060212/hal/public/mips-le-elf.inc madwifi-ng-r1451-20060212-patch/hal/public/mips-le-elf.inc +--- madwifi-ng-r1451-20060212/hal/public/mips-le-elf.inc 2006-02-11 07:04:39.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/hal/public/mips-le-elf.inc 2006-02-16 05:56:22.000000000 -0500 @@ -63,5 +63,5 @@ LDOPTS= -EL @@ -18,15 +30,3 @@ diff -urN madwifi.old/hal/public/mips-le-elf.inc madwifi.new/hal/public/mips-le- -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 -diff -urN madwifi.old/Makefile madwifi.new/Makefile ---- madwifi.old/Makefile 2006-01-06 23:52:45.000000000 +0100 -+++ madwifi.new/Makefile 2006-01-13 12:15:57.000000000 +0100 -@@ -53,7 +53,7 @@ - - all: modules tools - --modules: configcheck -+modules: - mkdir -p ${SYMBOLSDIR} - for i in ${DIRS_MODULES}; do \ - $(MAKE) -C $$i || exit 1; \ diff --git a/openwrt/target/linux/package/madwifi/patches/101-no_werror.patch b/openwrt/target/linux/package/madwifi/patches/101-no_werror.patch index 6041318d9..9d3ff1156 100644 --- a/openwrt/target/linux/package/madwifi/patches/101-no_werror.patch +++ b/openwrt/target/linux/package/madwifi/patches/101-no_werror.patch @@ -1,7 +1,7 @@ -diff -ur madwifi-ng-r1358-20051215/Makefile.inc madwifi-ng-r1358-20051215-owrt/Makefile.inc ---- madwifi-ng-r1358-20051215/Makefile.inc 2005-11-10 03:17:23.000000000 +0100 -+++ madwifi-ng-r1358-20051215-owrt/Makefile.inc 2006-01-21 14:36:55.000000000 +0100 -@@ -181,7 +181,7 @@ +diff -ru madwifi-ng-r1451-20060212/Makefile.inc madwifi-ng-r1451-20060212-patch/Makefile.inc +--- madwifi-ng-r1451-20060212/Makefile.inc 2006-01-24 00:51:17.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/Makefile.inc 2006-02-16 06:00:21.000000000 -0500 +@@ -198,7 +198,7 @@ # TOOLS= ${DEPTH}/tools diff --git a/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch b/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch index f0bb45334..7153eb7fc 100644 --- a/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch +++ b/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch @@ -1,6 +1,377 @@ -diff -urN madwifi-ng-r1416-20060126/tools/80211debug.c madwifi-ng-r1416-20060126-owrt/tools/80211debug.c ---- madwifi-ng-r1416-20060126/tools/80211debug.c 2005-11-23 22:23:20.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/80211debug.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/102-multicall_binary.patch madwifi-ng-r1451-20060212-patch/102-multicall_binary.patch +--- madwifi-ng-r1451-20060212/102-multicall_binary.patch 1969-12-31 19:00:00.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/102-multicall_binary.patch 2006-02-16 11:32:56.000000000 -0500 +@@ -0,0 +1,367 @@ ++diff -urN madwifi-ng-r1416-20060126/tools/80211debug.c madwifi-ng-r1416-20060126-owrt/tools/80211debug.c ++--- madwifi-ng-r1416-20060126/tools/80211debug.c 2005-11-23 22:23:20.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/80211debug.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -49,6 +49,10 @@ ++ #include ++ #include ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ #define N(a) (sizeof(a)/sizeof(a[0])) ++ ++ const char *progname; ++@@ -176,9 +180,19 @@ ++ } ++ #endif /* __linux__ */ ++ +++#ifdef DOMULTI +++ +++int +++a80211debug_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ const char *ifname = "ath0"; ++ const char *cp, *tp; ++ const char *sep; ++diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126-owrt/tools/80211stats.c ++--- madwifi-ng-r1416-20060126/tools/80211stats.c 2005-11-23 22:52:24.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/80211stats.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -58,6 +58,10 @@ ++ #include "net80211/ieee80211_crypto.h" ++ #include "net80211/ieee80211_ioctl.h" ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ #ifndef SIOCG80211STATS ++ #define SIOCG80211STATS (SIOCDEVPRIVATE+2) ++ #endif ++@@ -239,9 +243,19 @@ ++ #undef STAT ++ } ++ +++#ifdef DOMULTI +++ +++int +++a80211stats_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ int c, len; ++ struct ieee80211req_sta_info *si; ++ u_int8_t buf[24*1024], *cp; ++diff -urN madwifi-ng-r1416-20060126/tools/athchans.c madwifi-ng-r1416-20060126-owrt/tools/athchans.c ++--- madwifi-ng-r1416-20060126/tools/athchans.c 2005-11-24 00:07:30.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/athchans.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -57,6 +57,10 @@ ++ #include "net80211/ieee80211_crypto.h" ++ #include "net80211/ieee80211_ioctl.h" ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ static int s = -1; ++ const char *progname; ++ ++@@ -134,9 +138,20 @@ ++ } ++ ++ #define MAXCHAN ((int)(sizeof(struct ieee80211req_chanlist) * NBBY)) +++ +++#ifdef DOMULTI +++ +++int +++athchans_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ const char *ifname = "wifi0"; ++ struct ieee80211req_chanlist chanlist; ++ int c; ++diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-owrt/tools/athctrl.c ++--- madwifi-ng-r1416-20060126/tools/athctrl.c 2005-11-23 22:23:20.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/athctrl.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -52,6 +52,10 @@ ++ ++ #include ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ static int ++ setsysctrl(const char *dev, const char *control , u_long value) ++ { ++@@ -83,9 +87,19 @@ ++ exit(1); ++ } ++ +++#ifdef DOMULTI +++ +++int +++athctrl_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ char device[IFNAMSIZ + 1]; ++ int distance = -1; ++ int c; ++diff -urN madwifi-ng-r1416-20060126/tools/athdebug.c madwifi-ng-r1416-20060126-owrt/tools/athdebug.c ++--- madwifi-ng-r1416-20060126/tools/athdebug.c 2005-11-23 22:23:20.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/athdebug.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -52,6 +52,10 @@ ++ #include ++ #include ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ #define N(a) (sizeof(a)/sizeof(a[0])) ++ ++ const char *progname; ++@@ -170,9 +174,20 @@ ++ } ++ #endif /* __linux__ */ ++ +++#ifdef DOMULTI +++ +++int +++athdebug_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif +++ ++ #ifdef __linux__ ++ const char *ifname = "wifi0"; ++ #else ++diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owrt/tools/athkey.c ++--- madwifi-ng-r1416-20060126/tools/athkey.c 2005-11-24 00:07:30.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/athkey.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -57,6 +57,10 @@ ++ #include "net80211/ieee80211_crypto.h" ++ #include "net80211/ieee80211_ioctl.h" ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ static int s = -1; ++ const char *progname; ++ ++@@ -207,9 +211,19 @@ ++ exit(-1); ++ } ++ +++#ifdef DOMULTI +++ +++int +++athkey_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ const char *ifname = "wifi0"; ++ struct ieee80211req_key setkey; ++ struct ieee80211req_del_key delkey; ++diff -urN madwifi-ng-r1416-20060126/tools/athstats.c madwifi-ng-r1416-20060126-owrt/tools/athstats.c ++--- madwifi-ng-r1416-20060126/tools/athstats.c 2006-01-16 09:59:07.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/athstats.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -64,6 +64,10 @@ ++ #include "ah_desc.h" ++ #include "if_athioctl.h" ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ static const struct { ++ u_int phyerr; ++ const char* desc; ++@@ -242,9 +246,20 @@ ++ signalled = 1; ++ } ++ +++#ifdef DOMULTI +++ +++int +++athstats_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif +++ ++ #ifdef __linux__ ++ const char *ifname = "wifi0"; ++ #else ++diff -urN madwifi-ng-r1416-20060126/tools/do_multi.c madwifi-ng-r1416-20060126-owrt/tools/do_multi.c ++--- madwifi-ng-r1416-20060126/tools/do_multi.c 1970-01-01 01:00:00.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -0,0 +1,30 @@ +++#include +++#include "do_multi.h" +++ +++int +++main(int argc, char *argv[]) +++{ +++ char *progname; +++ int ret = 0; +++ +++ progname = basename(argv[0]); +++ +++ if(strcmp(progname, "80211debug") == 0) +++ ret = a80211debug_init(argc, argv); +++ if(strcmp(progname, "80211stats") == 0) +++ ret = a80211stats_init(argc, argv); +++ if(strcmp(progname, "athchans") == 0) +++ ret = athchans_init(argc, argv); +++ if(strcmp(progname, "athctrl") == 0) +++ ret = athctrl_init(argc, argv); +++ if(strcmp(progname, "athdebug") == 0) +++ ret = athdebug_init(argc, argv); +++ if(strcmp(progname, "athkey") == 0) +++ ret = athkey_init(argc, argv); +++ if(strcmp(progname, "athstats") == 0) +++ ret = athstats_init(argc, argv); +++ if(strcmp(progname, "wlanconfig") == 0) +++ ret = wlanconfig_init(argc, argv); +++ +++ return ret; +++} ++diff -urN madwifi-ng-r1416-20060126/tools/do_multi.h madwifi-ng-r1416-20060126-owrt/tools/do_multi.h ++--- madwifi-ng-r1416-20060126/tools/do_multi.h 1970-01-01 01:00:00.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.h 2006-01-26 11:26:44.000000000 +0100 ++@@ -0,0 +1,9 @@ +++ +++int a80211debug_init(int argc, char *argv[]); +++int a80211stats_init(int argc, char *argv[]); +++int athchans_init(int argc, char *argv[]); +++int athctrl_init(int argc, char *argv[]); +++int athdebug_init(int argc, char *argv[]); +++int athkey_init(int argc, char *argv[]); +++int athstats_init(int argc, char *argv[]); +++int wlanconfig_init(int argc, char *argv[]); ++diff -urN madwifi-ng-r1416-20060126/tools/Makefile madwifi-ng-r1416-20060126-owrt/tools/Makefile ++--- madwifi-ng-r1416-20060126/tools/Makefile 2006-01-04 09:16:11.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/Makefile 2006-01-26 14:52:45.000000000 +0100 ++@@ -50,6 +50,12 @@ ++ ALL= athstats 80211stats athkey athchans athctrl \ ++ athdebug 80211debug wlanconfig ++ +++ifdef DOMULTI +++OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ +++ athdebug.o 80211debug.o wlanconfig.o +++ALL= ${OBJS} madwifi_multi +++endif +++ ++ all: ${ALL} ++ ++ INCS+= -I. -I${HAL} -I${DEPTH} ++@@ -59,6 +65,28 @@ ++ ++ all: ${ALL} ++ +++athstats.o: athstats.c +++ ${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c +++80211stats.o: 80211stats.c +++ ${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c +++athkey.o: athkey.c +++ ${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c +++athchans.o: athchans.c +++ ${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c +++athctrl.o: athctrl.c +++ ${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c +++athdebug.o: athdebug.c +++ ${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c +++wlanconfig.o: wlanconfig.c +++ ${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c +++80211debug.o: 80211debug.c +++ ${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c +++madwifi_multi: +++ ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} +++ for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ +++ ln -s -f madwifi_multi $$i; \ +++ done +++ ++ athstats: athstats.c ++ ${CC} -o athstats ${ALL_CFLAGS} -I../ath ${LDFLAGS} athstats.c ++ 80211stats: 80211stats.c ++diff -urN madwifi-ng-r1416-20060126/tools/wlanconfig.c madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c ++--- madwifi-ng-r1416-20060126/tools/wlanconfig.c 2006-01-22 10:58:31.000000000 +0100 +++++ madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c 2006-01-26 11:26:44.000000000 +0100 ++@@ -57,6 +57,10 @@ ++ #include "net80211/ieee80211_crypto.h" ++ #include "net80211/ieee80211_ioctl.h" ++ +++#ifdef DOMULTI +++#include "do_multi.h" +++#endif +++ ++ /* ++ * These are taken from ieee80211_node.h ++ */ ++@@ -91,9 +95,19 @@ ++ ++ int verbose = 0; ++ +++#ifdef DOMULTI +++ +++int +++wlanconfig_init(int argc, char *argv[]) +++{ +++ +++#else +++ ++ int ++ main(int argc, char *argv[]) ++ { +++ +++#endif ++ const char *ifname, *cmd; ++ ++ if (argc < 2) +diff -ruN madwifi-ng-r1451-20060212/tools/80211debug.c madwifi-ng-r1451-20060212-patch/tools/80211debug.c +--- madwifi-ng-r1451-20060212/tools/80211debug.c 2006-02-01 15:07:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/80211debug.c 2006-02-16 11:33:14.000000000 -0500 @@ -49,6 +49,10 @@ #include #include @@ -32,9 +403,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/80211debug.c madwifi-ng-r1416-20060126 const char *ifname = "ath0"; const char *cp, *tp; const char *sep; -diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126-owrt/tools/80211stats.c ---- madwifi-ng-r1416-20060126/tools/80211stats.c 2005-11-23 22:52:24.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/80211stats.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/80211stats.c madwifi-ng-r1451-20060212-patch/tools/80211stats.c +--- madwifi-ng-r1451-20060212/tools/80211stats.c 2006-02-01 15:10:07.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/80211stats.c 2006-02-16 11:33:14.000000000 -0500 @@ -58,6 +58,10 @@ #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" @@ -44,7 +415,7 @@ diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126 +#endif + #ifndef SIOCG80211STATS - #define SIOCG80211STATS (SIOCDEVPRIVATE+2) + #define SIOCG80211STATS (SIOCDEVPRIVATE + 2) #endif @@ -239,9 +243,19 @@ #undef STAT @@ -66,9 +437,56 @@ diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126 int c, len; struct ieee80211req_sta_info *si; u_int8_t buf[24*1024], *cp; -diff -urN madwifi-ng-r1416-20060126/tools/athchans.c madwifi-ng-r1416-20060126-owrt/tools/athchans.c ---- madwifi-ng-r1416-20060126/tools/athchans.c 2005-11-24 00:07:30.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/athchans.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/Makefile madwifi-ng-r1451-20060212-patch/tools/Makefile +--- madwifi-ng-r1451-20060212/tools/Makefile 2006-01-04 03:16:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/Makefile 2006-02-16 11:38:53.000000000 -0500 +@@ -50,6 +50,12 @@ + ALL= athstats 80211stats athkey athchans athctrl \ + athdebug 80211debug wlanconfig + ++ifdef DOMULTI ++OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ ++ athdebug.o 80211debug.o wlanconfig.o ++ALL= ${OBJS} madwifi_multi ++endif ++ + all: ${ALL} + + INCS+= -I. -I${HAL} -I${DEPTH} +@@ -59,6 +65,30 @@ + + all: ${ALL} + ++athstats.o: athstats.c ++ ${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c ++80211stats.o: 80211stats.c ++ ${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c ++athkey.o: athkey.c ++ ${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c ++athchans.o: athchans.c ++ ${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c ++athctrl.o: athctrl.c ++ ${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c ++athdebug.o: athdebug.c ++ ${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c ++wlanconfig.o: wlanconfig.c ++ ${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c ++80211debug.o: 80211debug.c ++ ${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c ++do_multi.o: do_multi.c ++ ${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c ++madwifi_multi: ++ ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} ++ for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ ++ ln -s -f madwifi_multi $$i; \ ++ done ++ + athstats: athstats.c + ${CC} -o athstats ${ALL_CFLAGS} -I../ath ${LDFLAGS} athstats.c + 80211stats: 80211stats.c +diff -ruN madwifi-ng-r1451-20060212/tools/athchans.c madwifi-ng-r1451-20060212-patch/tools/athchans.c +--- madwifi-ng-r1451-20060212/tools/athchans.c 2006-02-01 15:07:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/athchans.c 2006-02-16 11:33:14.000000000 -0500 @@ -57,6 +57,10 @@ #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" @@ -101,10 +519,10 @@ diff -urN madwifi-ng-r1416-20060126/tools/athchans.c madwifi-ng-r1416-20060126-o const char *ifname = "wifi0"; struct ieee80211req_chanlist chanlist; int c; -diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-owrt/tools/athctrl.c ---- madwifi-ng-r1416-20060126/tools/athctrl.c 2005-11-23 22:23:20.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/athctrl.c 2006-01-26 11:26:44.000000000 +0100 -@@ -52,6 +52,10 @@ +diff -ruN madwifi-ng-r1451-20060212/tools/athctrl.c madwifi-ng-r1451-20060212-patch/tools/athctrl.c +--- madwifi-ng-r1451-20060212/tools/athctrl.c 2006-02-03 07:03:03.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/athctrl.c 2006-02-16 11:33:14.000000000 -0500 +@@ -53,6 +53,10 @@ #include @@ -115,7 +533,7 @@ diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-ow static int setsysctrl(const char *dev, const char *control , u_long value) { -@@ -83,9 +87,19 @@ +@@ -87,9 +91,19 @@ exit(1); } @@ -135,9 +553,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-ow char device[IFNAMSIZ + 1]; int distance = -1; int c; -diff -urN madwifi-ng-r1416-20060126/tools/athdebug.c madwifi-ng-r1416-20060126-owrt/tools/athdebug.c ---- madwifi-ng-r1416-20060126/tools/athdebug.c 2005-11-23 22:23:20.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/athdebug.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/athdebug.c madwifi-ng-r1451-20060212-patch/tools/athdebug.c +--- madwifi-ng-r1451-20060212/tools/athdebug.c 2006-02-06 15:20:57.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/athdebug.c 2006-02-16 11:33:14.000000000 -0500 @@ -52,6 +52,10 @@ #include #include @@ -170,9 +588,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/athdebug.c madwifi-ng-r1416-20060126-o #ifdef __linux__ const char *ifname = "wifi0"; #else -diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owrt/tools/athkey.c ---- madwifi-ng-r1416-20060126/tools/athkey.c 2005-11-24 00:07:30.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/athkey.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/athkey.c madwifi-ng-r1451-20060212-patch/tools/athkey.c +--- madwifi-ng-r1451-20060212/tools/athkey.c 2006-02-01 15:07:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/athkey.c 2006-02-16 11:33:45.000000000 -0500 @@ -57,6 +57,10 @@ #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" @@ -181,7 +599,7 @@ diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owr +#include "do_multi.h" +#endif + - static int s = -1; + static int s = -1; const char *progname; @@ -207,9 +211,19 @@ @@ -204,9 +622,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owr const char *ifname = "wifi0"; struct ieee80211req_key setkey; struct ieee80211req_del_key delkey; -diff -urN madwifi-ng-r1416-20060126/tools/athstats.c madwifi-ng-r1416-20060126-owrt/tools/athstats.c ---- madwifi-ng-r1416-20060126/tools/athstats.c 2006-01-16 09:59:07.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/athstats.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/athstats.c madwifi-ng-r1451-20060212-patch/tools/athstats.c +--- madwifi-ng-r1451-20060212/tools/athstats.c 2006-02-01 15:07:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/athstats.c 2006-02-16 11:33:14.000000000 -0500 @@ -64,6 +64,10 @@ #include "ah_desc.h" #include "if_athioctl.h" @@ -239,9 +657,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/athstats.c madwifi-ng-r1416-20060126-o #ifdef __linux__ const char *ifname = "wifi0"; #else -diff -urN madwifi-ng-r1416-20060126/tools/do_multi.c madwifi-ng-r1416-20060126-owrt/tools/do_multi.c ---- madwifi-ng-r1416-20060126/tools/do_multi.c 1970-01-01 01:00:00.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.c 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/do_multi.c madwifi-ng-r1451-20060212-patch/tools/do_multi.c +--- madwifi-ng-r1451-20060212/tools/do_multi.c 1969-12-31 19:00:00.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/do_multi.c 2006-02-16 11:33:14.000000000 -0500 @@ -0,0 +1,30 @@ +#include +#include "do_multi.h" @@ -273,9 +691,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/do_multi.c madwifi-ng-r1416-20060126-o + + return ret; +} -diff -urN madwifi-ng-r1416-20060126/tools/do_multi.h madwifi-ng-r1416-20060126-owrt/tools/do_multi.h ---- madwifi-ng-r1416-20060126/tools/do_multi.h 1970-01-01 01:00:00.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.h 2006-01-26 11:26:44.000000000 +0100 +diff -ruN madwifi-ng-r1451-20060212/tools/do_multi.h madwifi-ng-r1451-20060212-patch/tools/do_multi.h +--- madwifi-ng-r1451-20060212/tools/do_multi.h 1969-12-31 19:00:00.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/do_multi.h 2006-02-16 11:33:14.000000000 -0500 @@ -0,0 +1,9 @@ + +int a80211debug_init(int argc, char *argv[]); @@ -286,55 +704,10 @@ diff -urN madwifi-ng-r1416-20060126/tools/do_multi.h madwifi-ng-r1416-20060126-o +int athkey_init(int argc, char *argv[]); +int athstats_init(int argc, char *argv[]); +int wlanconfig_init(int argc, char *argv[]); -diff -urN madwifi-ng-r1416-20060126/tools/Makefile madwifi-ng-r1416-20060126-owrt/tools/Makefile ---- madwifi-ng-r1416-20060126/tools/Makefile 2006-01-04 09:16:11.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/Makefile 2006-01-26 14:52:45.000000000 +0100 -@@ -50,6 +50,12 @@ - ALL= athstats 80211stats athkey athchans athctrl \ - athdebug 80211debug wlanconfig - -+ifdef DOMULTI -+OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ -+ athdebug.o 80211debug.o wlanconfig.o -+ALL= ${OBJS} madwifi_multi -+endif -+ - all: ${ALL} - - INCS+= -I. -I${HAL} -I${DEPTH} -@@ -59,6 +65,28 @@ - - all: ${ALL} - -+athstats.o: athstats.c -+ ${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c -+80211stats.o: 80211stats.c -+ ${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c -+athkey.o: athkey.c -+ ${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c -+athchans.o: athchans.c -+ ${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c -+athctrl.o: athctrl.c -+ ${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c -+athdebug.o: athdebug.c -+ ${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c -+wlanconfig.o: wlanconfig.c -+ ${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c -+80211debug.o: 80211debug.c -+ ${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c -+madwifi_multi: -+ ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} -+ for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ -+ ln -s -f madwifi_multi $$i; \ -+ done -+ - athstats: athstats.c - ${CC} -o athstats ${ALL_CFLAGS} -I../ath ${LDFLAGS} athstats.c - 80211stats: 80211stats.c -diff -urN madwifi-ng-r1416-20060126/tools/wlanconfig.c madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c ---- madwifi-ng-r1416-20060126/tools/wlanconfig.c 2006-01-22 10:58:31.000000000 +0100 -+++ madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c 2006-01-26 11:26:44.000000000 +0100 -@@ -57,6 +57,10 @@ +diff -ruN madwifi-ng-r1451-20060212/tools/wlanconfig.c madwifi-ng-r1451-20060212-patch/tools/wlanconfig.c +--- madwifi-ng-r1451-20060212/tools/wlanconfig.c 2006-02-01 15:07:11.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/tools/wlanconfig.c 2006-02-16 11:33:14.000000000 -0500 +@@ -59,6 +59,10 @@ #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" @@ -345,9 +718,9 @@ diff -urN madwifi-ng-r1416-20060126/tools/wlanconfig.c madwifi-ng-r1416-20060126 /* * These are taken from ieee80211_node.h */ -@@ -91,9 +95,19 @@ +@@ -92,9 +96,19 @@ - int verbose = 0; + int verbose = 0; +#ifdef DOMULTI + diff --git a/openwrt/target/linux/package/madwifi/patches/103-wpa_crash.patch b/openwrt/target/linux/package/madwifi/patches/103-wpa_crash.patch index 7a92ccb01..e2ea7171f 100644 --- a/openwrt/target/linux/package/madwifi/patches/103-wpa_crash.patch +++ b/openwrt/target/linux/package/madwifi/patches/103-wpa_crash.patch @@ -1,7 +1,7 @@ -diff -urN madwifi.old/net80211/ieee80211_ioctl.h madwifi.dev/net80211/ieee80211_ioctl.h ---- madwifi.old/net80211/ieee80211_ioctl.h 2005-12-07 03:53:07.000000000 +0100 -+++ madwifi.dev/net80211/ieee80211_ioctl.h 2006-01-31 22:33:21.282491500 +0100 -@@ -277,6 +277,7 @@ +diff -ru madwifi-ng-r1451-20060212/net80211/ieee80211_ioctl.h madwifi-ng-r1451-20060212-patch/net80211/ieee80211_ioctl.h +--- madwifi-ng-r1451-20060212/net80211/ieee80211_ioctl.h 2006-02-06 11:03:21.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/net80211/ieee80211_ioctl.h 2006-02-16 06:05:22.000000000 -0500 +@@ -280,6 +280,7 @@ struct ieee80211req_wpaie { u_int8_t wpa_macaddr[IEEE80211_ADDR_LEN]; u_int8_t wpa_ie[IEEE80211_MAX_OPT_IE]; @@ -9,10 +9,10 @@ diff -urN madwifi.old/net80211/ieee80211_ioctl.h madwifi.dev/net80211/ieee80211_ }; /* -diff -urN madwifi.old/net80211/ieee80211_wireless.c madwifi.dev/net80211/ieee80211_wireless.c ---- madwifi.old/net80211/ieee80211_wireless.c 2006-01-23 08:07:51.000000000 +0100 -+++ madwifi.dev/net80211/ieee80211_wireless.c 2006-01-31 22:33:21.286491750 +0100 -@@ -3160,6 +3160,12 @@ +diff -ru madwifi-ng-r1451-20060212/net80211/ieee80211_wireless.c madwifi-ng-r1451-20060212-patch/net80211/ieee80211_wireless.c +--- madwifi-ng-r1451-20060212/net80211/ieee80211_wireless.c 2006-02-06 12:39:10.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/net80211/ieee80211_wireless.c 2006-02-16 06:05:22.000000000 -0500 +@@ -3231,6 +3231,12 @@ ielen = sizeof(wpaie.wpa_ie); memcpy(wpaie.wpa_ie, ni->ni_wpa_ie, ielen); } @@ -24,4 +24,4 @@ diff -urN madwifi.old/net80211/ieee80211_wireless.c madwifi.dev/net80211/ieee802 + } ieee80211_free_node(ni); return (copy_to_user(iwr->u.data.pointer, &wpaie, sizeof(wpaie)) ? - -EFAULT : 0); + -EFAULT : 0); diff --git a/openwrt/target/linux/package/madwifi/patches/104-apmode_by_default.patch b/openwrt/target/linux/package/madwifi/patches/104-apmode_by_default.patch index 345e757cc..f12427c4e 100644 --- a/openwrt/target/linux/package/madwifi/patches/104-apmode_by_default.patch +++ b/openwrt/target/linux/package/madwifi/patches/104-apmode_by_default.patch @@ -1,10 +1,10 @@ -diff -ur madwifi-ng-r1416-20060126/ath/if_ath.c madwifi-ng-r1416-20060126.openwrt/ath/if_ath.c ---- madwifi-ng-r1416-20060126/ath/if_ath.c 2006-01-23 08:07:51.000000000 +0100 -+++ madwifi-ng-r1416-20060126.openwrt/ath/if_ath.c 2006-02-06 12:29:42.000000000 +0100 -@@ -391,7 +391,7 @@ +diff -ru madwifi-ng-r1451-20060212/ath/if_ath.c madwifi-ng-r1451-20060212-patch/ath/if_ath.c +--- madwifi-ng-r1451-20060212/ath/if_ath.c 2006-02-11 07:04:39.000000000 -0500 ++++ madwifi-ng-r1451-20060212-patch/ath/if_ath.c 2006-02-16 06:06:34.000000000 -0500 +@@ -387,7 +387,7 @@ struct ath_hal *ah; HAL_STATUS status; - int error = 0,i; + int error = 0, i; - int autocreatemode = IEEE80211_M_STA; + int autocreatemode = IEEE80211_M_HOSTAP; u_int8_t csz; -- 2.20.1