From d35d0c1ccc6505f38e22bfa9fdcd382270aa3ff6 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Fri, 27 Jan 2006 10:09:45 +0000 Subject: [PATCH] upgrade madwifi to r1416-20060126, unite madwifi-tools and kmod-madwifi (madwifi-ng needs wlanconfig anyways), add multicall patch to reduce the size of the tools SVN-Revision: 3056 --- openwrt/package/Config.in | 1 - openwrt/package/madwifi-tools/Config.in | 29 -- openwrt/package/madwifi-tools/Makefile | 50 --- .../ipkg/madwifi-tools-base.control | 4 - .../ipkg/madwifi-tools-stats.control | 4 - openwrt/target/linux/package/madwifi/Makefile | 9 +- .../patches/102-multicall_binary.patch | 367 ++++++++++++++++++ 7 files changed, 373 insertions(+), 91 deletions(-) delete mode 100644 openwrt/package/madwifi-tools/Config.in delete mode 100644 openwrt/package/madwifi-tools/Makefile delete mode 100644 openwrt/package/madwifi-tools/ipkg/madwifi-tools-base.control delete mode 100644 openwrt/package/madwifi-tools/ipkg/madwifi-tools-stats.control create mode 100644 openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index 488680ccf4..54fc4b794d 100644 --- a/openwrt/package/Config.in +++ b/openwrt/package/Config.in @@ -254,7 +254,6 @@ source "package/setserial/Config.in" comment "Utilities" source "package/bc/Config.in" source "package/gdbserver/Config.in" -source "package/madwifi-tools/Config.in" source "package/pcmcia-cs/Config.in" # pcmcia-utils source "package/usbutils/Config.in" # lsusb source "package/strace/Config.in" diff --git a/openwrt/package/madwifi-tools/Config.in b/openwrt/package/madwifi-tools/Config.in deleted file mode 100644 index 74cd756fd9..0000000000 --- a/openwrt/package/madwifi-tools/Config.in +++ /dev/null @@ -1,29 +0,0 @@ -menu "madwifi........................... Utilities for the Atheros Wifi driver" - -config BR2_COMPILE_MADWIFI_TOOLS - tristate - default n - depends BR2_PACKAGE_MADWIFI_TOOLS_BASE || BR2_PACKAGE_MADWIFI_TOOLS_STATS - -config BR2_PACKAGE_MADWIFI_TOOLS_BASE - prompt "madwifi-tools-base................ Utilities for configuring the Atheros Wifi driver" - tristate - select BR2_COMPILE_MADWIFI_TOOLS - default BR2_PACKAGE_KMOD_MADWIFI - default m if CONFIG_DEVEL - help - Driver utilities for Atheros 802.11a/b/g MiniPCI cards - - http://www.madwifi.org/ - -config BR2_PACKAGE_MADWIFI_TOOLS_STATS - prompt "madwifi-tools-stats............... Debug and stat tools for the Atheros Wifi driver" - tristate - select BR2_COMPILE_MADWIFI_TOOLS - default m if CONFIG_DEVEL - help - Driver utilities for Atheros 802.11a/b/g MiniPCI cards - - http://www.madwifi.org/ - -endmenu diff --git a/openwrt/package/madwifi-tools/Makefile b/openwrt/package/madwifi-tools/Makefile deleted file mode 100644 index 7ce2608d63..0000000000 --- a/openwrt/package/madwifi-tools/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# $Id$ - -include $(TOPDIR)/rules.mk - -PKG_NAME:=madwifi -PKG_VERSION:=r1358-20051215 -PKG_RELEASE:=1 -PKG_MD5SUM:=0ef00a095359e5af313f52446ebfbbf1 - -PKG_SOURCE_URL:=http://snapshots.madwifi.org/madwifi-ng -PKG_SOURCE:=$(PKG_NAME)-ng-$(PKG_VERSION).tar.gz -PKG_CAT:=zcat - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-ng-$(PKG_VERSION) - -include $(TOPDIR)/package/rules.mk - -$(eval $(call PKG_template,MADWIFI_TOOLS_BASE,madwifi-tools-base,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH),kmod-madwifi)) -$(eval $(call PKG_template,MADWIFI_TOOLS_STATS,madwifi-tools-stats,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH),kmod-madwifi)) - -$(PKG_BUILD_DIR)/.configured: - touch $@ - -$(PKG_BUILD_DIR)/.built: - $(MAKE) -C $(PKG_BUILD_DIR)/tools \ - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS)" \ - all - touch $@ - -$(IPKG_MADWIFI_TOOLS_BASE): - install -d -m0755 $(IDIR_MADWIFI_TOOLS_BASE)/usr/sbin - install -m0755 \ - $(PKG_BUILD_DIR)/tools/athctrl \ - $(PKG_BUILD_DIR)/tools/athkey \ - $(PKG_BUILD_DIR)/tools/wlanconfig \ - $(IDIR_MADWIFI_TOOLS_BASE)/usr/sbin - $(RSTRIP) $(IDIR_MADWIFI_TOOLS_BASE) - $(IPKG_BUILD) $(IDIR_MADWIFI_TOOLS_BASE) $(PACKAGE_DIR) - -$(IPKG_MADWIFI_TOOLS_STATS): - install -d -m0755 $(IDIR_MADWIFI_TOOLS_STATS)/usr/sbin - install -m0755 \ - $(PKG_BUILD_DIR)/tools/athstats \ - $(PKG_BUILD_DIR)/tools/athdebug \ - $(PKG_BUILD_DIR)/tools/80211stats \ - $(PKG_BUILD_DIR)/tools/80211debug \ - $(IDIR_MADWIFI_TOOLS_STATS)/usr/sbin - $(RSTRIP) $(IDIR_MADWIFI_TOOLS_STATS) - $(IPKG_BUILD) $(IDIR_MADWIFI_TOOLS_STATS) $(PACKAGE_DIR) diff --git a/openwrt/package/madwifi-tools/ipkg/madwifi-tools-base.control b/openwrt/package/madwifi-tools/ipkg/madwifi-tools-base.control deleted file mode 100644 index b0ff02b943..0000000000 --- a/openwrt/package/madwifi-tools/ipkg/madwifi-tools-base.control +++ /dev/null @@ -1,4 +0,0 @@ -Package: madwifi-tools-base -Priority: optional -Section: net -Description: Driver utilities for Atheros 802.11a/b/g MiniPCI cards diff --git a/openwrt/package/madwifi-tools/ipkg/madwifi-tools-stats.control b/openwrt/package/madwifi-tools/ipkg/madwifi-tools-stats.control deleted file mode 100644 index 661354d96d..0000000000 --- a/openwrt/package/madwifi-tools/ipkg/madwifi-tools-stats.control +++ /dev/null @@ -1,4 +0,0 @@ -Package: madwifi-tools-stats -Priority: optional -Section: net -Description: Driver utilities (for statistics) for Atheros 802.11a/b/g MiniPCI cards diff --git a/openwrt/target/linux/package/madwifi/Makefile b/openwrt/target/linux/package/madwifi/Makefile index c028cb26b1..d0aabbe934 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:=r1394-20060113 +PKG_VERSION:=r1416-20060126 PKG_RELEASE:=1 -PKG_MD5SUM:=03c870933ff4a89ed520fb732c4b553d +PKG_MD5SUM:=f308a0dbbb5d5497c0e09d86e8bde32c PKG_SOURCE_URL:=http://snapshots.madwifi.org/$(PKG_NAME) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz @@ -49,13 +49,15 @@ $(PKG_BUILD_DIR)/.built: TOOLPATH="$(KERNEL_CROSS)" \ KERNELPATH="$(LINUX_DIR)" \ BUS="$(BUS)" \ - all + DOMULTI=1 all + $(RSTRIP) $(PKG_BUILD_DIR)/tools/madwifi_multi touch $@ $(IPKG_KMOD_MADWIFI): mkdir -p $(IDIR_KMOD_MADWIFI)/etc/modules.d mkdir -p $(IDIR_KMOD_MADWIFI)/etc/init.d mkdir -p $(IDIR_KMOD_MADWIFI)/lib/modules/$(LINUX_VERSION) + mkdir -p $(IDIR_KMOD_MADWIFI)/usr/sbin install -m0644 ./files/madwifi.modules $(IDIR_KMOD_MADWIFI)/etc/modules.d/20-madwifi install -m0755 ./files/madwifi.init $(IDIR_KMOD_MADWIFI)/etc/init.d/S20madwifi cp -fpR $(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \ @@ -64,6 +66,7 @@ $(IPKG_KMOD_MADWIFI): $(PKG_BUILD_DIR)/ath_rate/sample/ath_rate_sample.$(LINUX_KMOD_SUFFIX) \ $(PKG_BUILD_DIR)/net80211/*.$(LINUX_KMOD_SUFFIX) \ $(IDIR_KMOD_MADWIFI)/lib/modules/$(LINUX_VERSION)/ + cp -fpR $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(IDIR_KMOD_MADWIFI)/usr/sbin/ $(IPKG_BUILD) $(IDIR_KMOD_MADWIFI) $(PACKAGE_DIR) $(STAGING_DIR)/usr/include/madwifi/net80211/ieee80211.h: $(PKG_BUILD_DIR)/.built diff --git a/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch b/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch new file mode 100644 index 0000000000..f0bb45334c --- /dev/null +++ b/openwrt/target/linux/package/madwifi/patches/102-multicall_binary.patch @@ -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)