summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/madwifi-tools/Config.in29
-rw-r--r--package/madwifi-tools/Makefile50
-rw-r--r--package/madwifi-tools/ipkg/madwifi-tools-base.control4
-rw-r--r--package/madwifi-tools/ipkg/madwifi-tools-stats.control4
-rw-r--r--target/linux/package/madwifi/Makefile9
-rw-r--r--target/linux/package/madwifi/patches/102-multicall_binary.patch367
7 files changed, 373 insertions, 91 deletions
diff --git a/package/Config.in b/package/Config.in
index 488680ccf..54fc4b794 100644
--- a/package/Config.in
+++ b/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/package/madwifi-tools/Config.in b/package/madwifi-tools/Config.in
deleted file mode 100644
index 74cd756fd..000000000
--- a/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/package/madwifi-tools/Makefile b/package/madwifi-tools/Makefile
deleted file mode 100644
index 7ce2608d6..000000000
--- a/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/package/madwifi-tools/ipkg/madwifi-tools-base.control b/package/madwifi-tools/ipkg/madwifi-tools-base.control
deleted file mode 100644
index b0ff02b94..000000000
--- a/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/package/madwifi-tools/ipkg/madwifi-tools-stats.control b/package/madwifi-tools/ipkg/madwifi-tools-stats.control
deleted file mode 100644
index 661354d96..000000000
--- a/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/target/linux/package/madwifi/Makefile b/target/linux/package/madwifi/Makefile
index c028cb26b..d0aabbe93 100644
--- a/target/linux/package/madwifi/Makefile
+++ b/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/target/linux/package/madwifi/patches/102-multicall_binary.patch b/target/linux/package/madwifi/patches/102-multicall_binary.patch
new file mode 100644
index 000000000..f0bb45334
--- /dev/null
+++ b/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 <getopt.h>
+ #include <err.h>
+
++#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 <net/if.h>
+
++#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 <getopt.h>
+ #include <err.h>
+
++#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 <string.h>
++#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)