scripts/config/conf: .config.in
$(MAKE) -C scripts/config conf
-menuconfig: scripts/config/mconf
+config: scripts/config/conf
$< Config.in
-config: scripts/config/conf
+defdconfig: scripts/config/conf
+ $< -d Config.in
+
+oldconfig: scripts/config/conf
+ $< -o Config.in
+
+menuconfig: scripts/config/mconf
$< Config.in
config-clean:
# $Id$
include $(TOPDIR)/rules.mk
-
-ifneq ($(DUMP),1)
-include $(BUILD_DIR)/kernel.mk
-include $(TOPDIR)/target/linux/rules.mk
-TARGET:=-$(BOARD)-$(KERNEL)
-BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
-
-UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
-LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
-endif
+include $(TOPDIR)/package/kernel.mk
PKG_NAME:=base-files
PKG_RELEASE:=8
-PKG_BUILD_DIR:=$(BUILD_DIR)/base-files
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/base-files
REV:=$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )
ifeq ($(REV),)
include $(TOPDIR)/package/rules.mk
+ifneq ($(DUMP),1)
+TARGET:=-$(BOARD)-$(KERNEL)
+UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
+LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
+endif
+
CONFIG_PACKAGE_base-files$(TARGET):=CONFIG_PACKAGE_base-files
define Package/base-files$(TARGET)
DESCRIPTION:=C library for embedded systems
endef
-
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
--- /dev/null
+ifneq ($(DUMP),1)
+include $(BUILD_DIR)/kernel.mk
+
+KERNEL:=unknown
+ifneq (,$(findstring 2.4.,$(LINUX_VERSION)))
+KERNEL:=2.4
+LINUX_KMOD_SUFFIX=o
+endif
+ifneq (,$(findstring 2.6.,$(LINUX_VERSION)))
+KERNEL:=2.6
+LINUX_KMOD_SUFFIX=ko
+endif
+
+LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
+ -e 's/mipsel/mips/' \
+ -e 's/mipseb/mips/' \
+ -e 's/powerpc/ppc/' \
+ -e 's/sh[234]/sh/' \
+ -e 's/armeb/arm/' \
+)
+
+KERNEL_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
+LINUX_DIR := $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
+
+KMOD_BUILD_DIR := $(KERNEL_BUILD_DIR)/linux-modules
+MODULES_DIR := $(KERNEL_BUILD_DIR)/modules/$(MODULES_SUBDIR)
+TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
+endif
--- /dev/null
+config PACKAGE_KMOD_MADWIFI
+ prompt "kmod-madwifi...................... Atheros Wifi driver"
+ tristate
+ default y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE
+ default m if DEVEL
+ default n
+ help
+ Driver for Atheros 802.11a/b/g MiniPCI cards
+
+ http://www.madwifi.org/
--- /dev/null
+# $Id$
+
+include $(TOPDIR)/rules.mk
+include $(TOPDIR)/package/kernel.mk
+
+PKG_NAME:=madwifi
+PKG_VERSION:=0.9.0
+PKG_RELEASE:=1
+PKG_MD5SUM:=9b558d1df84cab2b0006c595feee0fba
+
+PKG_SOURCE_URL:=@SF/$(PKG_NAME)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+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),armeb)
+ HAL_TARGET:=xscale-be-elf
+endif
+
+BUS := PCI
+ifneq ($(CONFIG_LINUX_2_4_AR531X),)
+ BUS := AHB
+endif
+ifneq ($(CONFIG_LINUX_2_6_ARUBA),)
+ BUS := PCI AHB # no suitable HAL for AHB yet.
+endif
+
+BUS_MODULES:=
+ifeq ($(findstring AHB,$(BUS)),AHB)
+ BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_ahb.$(LINUX_KMOD_SUFFIX)
+endif
+ifeq ($(findstring PCI,$(BUS)),PCI)
+ BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX)
+endif
+
+MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
+ PATH="$(TARGET_PATH)" \
+ ARCH="$(LINUX_KARCH)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ TARGET="$(HAL_TARGET)" \
+ TOOLPREFIX="$(KERNEL_CROSS)" \
+ TOOLPATH="$(KERNEL_CROSS)" \
+ KERNELPATH="$(LINUX_DIR)" \
+ DOMULTI=1
+
+include $(TOPDIR)/package/rules.mk
+
+ifeq ($(findstring AHB,$(BUS)),AHB)
+define Build/Compile/ahb
+ $(MAKE) $(MADWIFI_MAKEOPTS) BUS="AHB" all
+endef
+endif
+
+ifeq ($(findstring PCI,$(BUS)),PCI)
+define Build/Compile/pci
+ $(MAKE) $(MADWIFI_MAKEOPTS) BUS="PCI" all
+endef
+endif
+
+define Build/Compile
+$(call Build/Compile/ahb)
+$(call Build/Compile/pci)
+endef
+
+define Build/InstallDev
+ mkdir -p $(STAGING_DIR)/usr/include/madwifi
+ $(CP) $(PKG_BUILD_DIR)/include $(STAGING_DIR)/usr/include/madwifi/
+ mkdir -p $(STAGING_DIR)/usr/include/madwifi/net80211
+ $(CP) $(PKG_BUILD_DIR)/net80211/*.h $(STAGING_DIR)/usr/include/madwifi/net80211/
+endef
+
+define Build/UninstallDev
+ rm -rf $(STAGING_DIR)/usr/include/madwifi
+endef
+
+define Package/kmod-madwifi
+ SECTION:=drivers
+ CATEGORY:=Drivers
+ DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL
+ TITLE:=Driver for Atheros wireless chipsets
+ DESCRIPTION:=Driver for Atheros 802.11a/b/g chipsets
+ URL:=http://madwifi.org/
+endef
+
+define Package/kmod-madwifi/install
+ mkdir -p $(1)/etc/modules.d
+ mkdir -p $(1)/etc/init.d
+ mkdir -p $(1)/lib/modules/$(LINUX_VERSION)
+ mkdir -p $(1)/usr/sbin
+ install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi
+ifeq ($(findstring AHB,$(BUS)),AHB)
+ echo ath_ahb >> $(1)/etc/modules.d/20-madwifi
+endif
+ifeq ($(findstring PCI,$(BUS)),PCI)
+ echo ath_pci >> $(1)/etc/modules.d/20-madwifi
+endif
+ install -m0755 ./files/madwifi.init $(1)/etc/init.d/S20madwifi
+ $(CP) \
+ $(PKG_BUILD_DIR)/ath_hal/ath_hal.$(LINUX_KMOD_SUFFIX) \
+ $(BUS_MODULES) \
+ $(PKG_BUILD_DIR)/ath_rate/sample/ath_rate_sample.$(LINUX_KMOD_SUFFIX) \
+ $(PKG_BUILD_DIR)/net80211/*.$(LINUX_KMOD_SUFFIX) \
+ $(1)/lib/modules/$(LINUX_VERSION)/
+ $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,kmod-madwifi))
--- /dev/null
+#!/bin/sh
+iwpriv ath0 mode 3
--- /dev/null
+wlan
+wlan_scan_ap
+wlan_scan_sta
+ath_hal
+ath_rate_sample
+wlan_acl
+wlan_ccmp
+wlan_tkip
+wlan_wep
+wlan_xauth
--- /dev/null
+Package: kmod-madwifi
+Priority: optional
+Section: net
+Description: Driver for Atheros 802.11a/b/g MiniPCI cards
--- /dev/null
+diff -ru madwifi-ng-r1486-20060329/Makefile madwifi-ng-r1486-20060329-patch/Makefile
+--- madwifi-ng-r1486-20060329/Makefile 2006-03-13 19:23:02.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/Makefile 2006-03-31 10:52:05.000000000 -0500
+@@ -51,7 +51,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-r1486-20060329/hal/public/mips-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc
+--- madwifi-ng-r1486-20060329/hal/public/mips-be-elf.inc 2006-03-28 03:46:27.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc 2006-03-31 10:52:05.000000000 -0500
+@@ -66,5 +66,5 @@
+
+ LDOPTS= -EB
+ COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
+-COPTS+= -G 0 -EB -mno-abicalls -fno-pic -Wa,--trap \
++COPTS+= -G 0 -EB -mno-abicalls -fno-pic -Wa,--trap -mips32 \
+ -fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
+diff -ru madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc
+--- madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc 2006-03-28 03:46:27.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc 2006-03-31 10:52:05.000000000 -0500
+@@ -63,5 +63,5 @@
+
+ LDOPTS= -EL
+ COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
+-COPTS+= -G 0 -EL -mno-abicalls -fno-pic -Wa,--trap \
++COPTS+= -G 0 -EL -mno-abicalls -fno-pic -Wa,--trap -mips32 \
+ -fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
+diff -ur madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc
+--- madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc 2006-02-11 13:04:39.000000000 +0100
++++ madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc 2006-04-16 15:07:59.000000000 +0200
+@@ -72,5 +72,5 @@
+
+ LDOPTS= -EB
+ COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN -DAH_REGOPS_FUNC
+-COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
+- -mtune=xscale -mshort-load-bytes -msoft-float -mfp=2
++COPTS+= -mcpu=xscale -mbig-endian -fno-strict-aliasing -fno-common \
++ -msoft-float -mfp=2
--- /dev/null
+diff -ru madwifi-ng-r1486-20060329/Makefile.inc madwifi-ng-r1486-20060329-patch/Makefile.inc
+--- madwifi-ng-r1486-20060329/Makefile.inc 2006-03-21 15:21:12.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/Makefile.inc 2006-03-29 16:44:41.000000000 -0500
+@@ -193,7 +193,7 @@
+ #
+ TOOLS= ${DEPTH}/tools
+
+-COPTS+= -Werror
++#COPTS+= -Werror
+ INCS= -include ${obj}/${DEPTH}/include/compat.h -I${obj}/${DEPTH}/include
+
+ ifeq ($(strip ${BUS}),AHB)
--- /dev/null
+diff -ruN madwifi-ng-r1486-20060329/102-multicall_binary.patch madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch
+--- madwifi-ng-r1486-20060329/102-multicall_binary.patch 1969-12-31 19:00:00.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch 2006-03-31 10:58:27.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 <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)
+diff -ruN madwifi-ng-r1486-20060329/tools/80211debug.c madwifi-ng-r1486-20060329-patch/tools/80211debug.c
+--- madwifi-ng-r1486-20060329/tools/80211debug.c 2006-03-10 08:23:50.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/80211debug.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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;
+@@ -180,9 +184,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 -ruN madwifi-ng-r1486-20060329/tools/80211stats.c madwifi-ng-r1486-20060329-patch/tools/80211stats.c
+--- madwifi-ng-r1486-20060329/tools/80211stats.c 2006-03-10 08:23:50.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/80211stats.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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
+@@ -241,9 +245,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 -ruN madwifi-ng-r1486-20060329/tools/Makefile madwifi-ng-r1486-20060329-patch/tools/Makefile
+--- madwifi-ng-r1486-20060329/tools/Makefile 2006-01-04 03:16:11.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/Makefile 2006-03-31 10:58:27.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-r1486-20060329/tools/athchans.c madwifi-ng-r1486-20060329-patch/tools/athchans.c
+--- madwifi-ng-r1486-20060329/tools/athchans.c 2006-02-01 15:07:11.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/athchans.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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 -ruN madwifi-ng-r1486-20060329/tools/athctrl.c madwifi-ng-r1486-20060329-patch/tools/athctrl.c
+--- madwifi-ng-r1486-20060329/tools/athctrl.c 2006-02-03 07:03:03.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/athctrl.c 2006-03-31 10:58:27.000000000 -0500
+@@ -53,6 +53,10 @@
+
+ #include <net/if.h>
+
++#ifdef DOMULTI
++#include "do_multi.h"
++#endif
++
+ static int
+ setsysctrl(const char *dev, const char *control , u_long value)
+ {
+@@ -87,9 +91,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 -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-patch/tools/athdebug.c
+--- madwifi-ng-r1486-20060329/tools/athdebug.c 2006-03-10 08:23:50.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/athdebug.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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;
+@@ -171,9 +175,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 -ruN madwifi-ng-r1486-20060329/tools/athkey.c madwifi-ng-r1486-20060329-patch/tools/athkey.c
+--- madwifi-ng-r1486-20060329/tools/athkey.c 2006-02-01 15:07:11.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/athkey.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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 -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-patch/tools/athstats.c
+--- madwifi-ng-r1486-20060329/tools/athstats.c 2006-02-01 15:07:11.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/athstats.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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 -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-patch/tools/do_multi.c
+--- madwifi-ng-r1486-20060329/tools/do_multi.c 1969-12-31 19:00:00.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/do_multi.c 2006-03-31 10:58:27.000000000 -0500
+@@ -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 -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-patch/tools/do_multi.h
+--- madwifi-ng-r1486-20060329/tools/do_multi.h 1969-12-31 19:00:00.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/do_multi.h 2006-03-31 10:58:27.000000000 -0500
+@@ -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 -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c
+--- madwifi-ng-r1486-20060329/tools/wlanconfig.c 2006-02-01 15:07:11.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c 2006-03-31 10:58:27.000000000 -0500
+@@ -59,6 +59,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
+ */
+@@ -92,9 +96,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)
--- /dev/null
+diff -ruN madwifi-ng-r1486-20060329/ath/if_ath.c madwifi-ng-r1486-20060329-patch/ath/if_ath.c
+--- madwifi-ng-r1486-20060329/ath/if_ath.c 2006-03-23 15:12:18.000000000 -0500
++++ madwifi-ng-r1486-20060329-patch/ath/if_ath.c 2006-03-31 11:00:30.000000000 -0500
+@@ -388,7 +388,7 @@
+ struct ath_hal *ah;
+ HAL_STATUS status;
+ int error = 0, i;
+- int autocreatemode = IEEE80211_M_STA;
++ int autocreatemode = IEEE80211_M_HOSTAP;
+ u_int8_t csz;
+
+ sc->devid = devid;
+++ /dev/null
-config PACKAGE_KMOD_MADWIFI
- prompt "kmod-madwifi...................... Atheros Wifi driver"
- tristate
- default y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE
- default m if DEVEL
- default n
- help
- Driver for Atheros 802.11a/b/g MiniPCI cards
-
- http://www.madwifi.org/
+++ /dev/null
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include ../../rules.mk
-
-PKG_NAME:=madwifi-ng
-PKG_VERSION:=r1543-20060506
-PKG_RELEASE:=1
-PKG_MD5SUM:=3d89e5197c7e43eb37564c176140b2bf
-
-PKG_SOURCE_URL:=http://snapshots.madwifi.org/$(PKG_NAME)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-
-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),armeb)
-HAL_TARGET:=xscale-be-elf
-endif
-
-BUS := PCI
-
-ifneq ($(CONFIG_LINUX_2_4_AR531X),)
- BUS := AHB
-endif
-ifneq ($(CONFIG_LINUX_2_6_ARUBA),)
- BUS := PCI AHB # no suitable HAL for AHB yet.
-endif
-
-BUS_MODULES:=
-ifeq ($(findstring AHB,$(BUS)),AHB)
-BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_ahb.$(LINUX_KMOD_SUFFIX)
-endif
-ifeq ($(findstring PCI,$(BUS)),PCI)
-BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX)
-endif
-
-
-include $(TOPDIR)/package/rules.mk
-
-$(eval $(call PKG_template,KMOD_MADWIFI,kmod-madwifi,$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE),$(ARCH),kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))))
-
-$(PKG_BUILD_DIR)/.configured:
- touch $@
-
-MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
- PATH="$(TARGET_PATH)" \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- TARGET="$(HAL_TARGET)" \
- TOOLPREFIX="$(KERNEL_CROSS)" \
- TOOLPATH="$(KERNEL_CROSS)" \
- KERNELPATH="$(LINUX_DIR)" \
- DOMULTI=1
-
-
-$(PKG_BUILD_DIR)/.built:
-ifeq ($(findstring AHB,$(BUS)),AHB)
- $(MAKE) $(MADWIFI_MAKEOPTS) BUS="AHB" all
-endif
-ifeq ($(findstring PCI,$(BUS)),PCI)
- $(MAKE) $(MADWIFI_MAKEOPTS) BUS="PCI" all
-endif
- $(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) $(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \
- $(PKG_BUILD_DIR)/ath_hal/ath_hal.$(LINUX_KMOD_SUFFIX) \
- $(BUS_MODULES) \
- $(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) $(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
- mkdir -p $(STAGING_DIR)/usr/include/madwifi
- $(CP) $(PKG_BUILD_DIR)/include $(STAGING_DIR)/usr/include/madwifi/
- mkdir -p $(STAGING_DIR)/usr/include/madwifi/net80211
- $(CP) $(PKG_BUILD_DIR)/net80211/*.h $(STAGING_DIR)/usr/include/madwifi/net80211/
- touch $@
-
-install-dev: $(STAGING_DIR)/usr/include/madwifi/net80211/ieee80211.h
-
-uninstall-dev:
- rm -rf $(STAGING_DIR)/usr/include/madwifi
-
-compile-targets: install-dev
-clean-targets: uninstall-dev
+++ /dev/null
-#!/bin/sh
-iwpriv ath0 mode 3
+++ /dev/null
-wlan
-wlan_scan_ap
-wlan_scan_sta
-ath_hal
-ath_rate_sample
-ath_pci
-wlan_acl
-wlan_ccmp
-wlan_tkip
-wlan_wep
-wlan_xauth
+++ /dev/null
-Package: kmod-madwifi
-Priority: optional
-Section: net
-Description: Driver for Atheros 802.11a/b/g MiniPCI cards
+++ /dev/null
-diff -ru madwifi-ng-r1486-20060329/Makefile madwifi-ng-r1486-20060329-patch/Makefile
---- madwifi-ng-r1486-20060329/Makefile 2006-03-13 19:23:02.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/Makefile 2006-03-31 10:52:05.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-r1486-20060329/hal/public/mips-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/mips-be-elf.inc 2006-03-28 03:46:27.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc 2006-03-31 10:52:05.000000000 -0500
-@@ -66,5 +66,5 @@
-
- LDOPTS= -EB
- COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
--COPTS+= -G 0 -EB -mno-abicalls -fno-pic -Wa,--trap \
-+COPTS+= -G 0 -EB -mno-abicalls -fno-pic -Wa,--trap -mips32 \
- -fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
-diff -ru madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc 2006-03-28 03:46:27.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc 2006-03-31 10:52:05.000000000 -0500
-@@ -63,5 +63,5 @@
-
- LDOPTS= -EL
- COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
--COPTS+= -G 0 -EL -mno-abicalls -fno-pic -Wa,--trap \
-+COPTS+= -G 0 -EL -mno-abicalls -fno-pic -Wa,--trap -mips32 \
- -fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
-diff -ur madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc 2006-02-11 13:04:39.000000000 +0100
-+++ madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc 2006-04-16 15:07:59.000000000 +0200
-@@ -72,5 +72,5 @@
-
- LDOPTS= -EB
- COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN -DAH_REGOPS_FUNC
--COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
-- -mtune=xscale -mshort-load-bytes -msoft-float -mfp=2
-+COPTS+= -mcpu=xscale -mbig-endian -fno-strict-aliasing -fno-common \
-+ -msoft-float -mfp=2
+++ /dev/null
-diff -ru madwifi-ng-r1486-20060329/Makefile.inc madwifi-ng-r1486-20060329-patch/Makefile.inc
---- madwifi-ng-r1486-20060329/Makefile.inc 2006-03-21 15:21:12.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/Makefile.inc 2006-03-29 16:44:41.000000000 -0500
-@@ -193,7 +193,7 @@
- #
- TOOLS= ${DEPTH}/tools
-
--COPTS+= -Werror
-+#COPTS+= -Werror
- INCS= -include ${obj}/${DEPTH}/include/compat.h -I${obj}/${DEPTH}/include
-
- ifeq ($(strip ${BUS}),AHB)
+++ /dev/null
-diff -ruN madwifi-ng-r1486-20060329/102-multicall_binary.patch madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch
---- madwifi-ng-r1486-20060329/102-multicall_binary.patch 1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch 2006-03-31 10:58:27.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 <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)
-diff -ruN madwifi-ng-r1486-20060329/tools/80211debug.c madwifi-ng-r1486-20060329-patch/tools/80211debug.c
---- madwifi-ng-r1486-20060329/tools/80211debug.c 2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/80211debug.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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;
-@@ -180,9 +184,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 -ruN madwifi-ng-r1486-20060329/tools/80211stats.c madwifi-ng-r1486-20060329-patch/tools/80211stats.c
---- madwifi-ng-r1486-20060329/tools/80211stats.c 2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/80211stats.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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
-@@ -241,9 +245,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 -ruN madwifi-ng-r1486-20060329/tools/Makefile madwifi-ng-r1486-20060329-patch/tools/Makefile
---- madwifi-ng-r1486-20060329/tools/Makefile 2006-01-04 03:16:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/Makefile 2006-03-31 10:58:27.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-r1486-20060329/tools/athchans.c madwifi-ng-r1486-20060329-patch/tools/athchans.c
---- madwifi-ng-r1486-20060329/tools/athchans.c 2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athchans.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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 -ruN madwifi-ng-r1486-20060329/tools/athctrl.c madwifi-ng-r1486-20060329-patch/tools/athctrl.c
---- madwifi-ng-r1486-20060329/tools/athctrl.c 2006-02-03 07:03:03.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athctrl.c 2006-03-31 10:58:27.000000000 -0500
-@@ -53,6 +53,10 @@
-
- #include <net/if.h>
-
-+#ifdef DOMULTI
-+#include "do_multi.h"
-+#endif
-+
- static int
- setsysctrl(const char *dev, const char *control , u_long value)
- {
-@@ -87,9 +91,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 -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-patch/tools/athdebug.c
---- madwifi-ng-r1486-20060329/tools/athdebug.c 2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athdebug.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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;
-@@ -171,9 +175,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 -ruN madwifi-ng-r1486-20060329/tools/athkey.c madwifi-ng-r1486-20060329-patch/tools/athkey.c
---- madwifi-ng-r1486-20060329/tools/athkey.c 2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athkey.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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 -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-patch/tools/athstats.c
---- madwifi-ng-r1486-20060329/tools/athstats.c 2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athstats.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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 -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-patch/tools/do_multi.c
---- madwifi-ng-r1486-20060329/tools/do_multi.c 1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.c 2006-03-31 10:58:27.000000000 -0500
-@@ -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 -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-patch/tools/do_multi.h
---- madwifi-ng-r1486-20060329/tools/do_multi.h 1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.h 2006-03-31 10:58:27.000000000 -0500
-@@ -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 -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c
---- madwifi-ng-r1486-20060329/tools/wlanconfig.c 2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c 2006-03-31 10:58:27.000000000 -0500
-@@ -59,6 +59,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
- */
-@@ -92,9 +96,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)
+++ /dev/null
-diff -ruN madwifi-ng-r1486-20060329/ath/if_ath.c madwifi-ng-r1486-20060329-patch/ath/if_ath.c
---- madwifi-ng-r1486-20060329/ath/if_ath.c 2006-03-23 15:12:18.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/ath/if_ath.c 2006-03-31 11:00:30.000000000 -0500
-@@ -388,7 +388,7 @@
- struct ath_hal *ah;
- HAL_STATUS status;
- int error = 0, i;
-- int autocreatemode = IEEE80211_M_STA;
-+ int autocreatemode = IEEE80211_M_HOSTAP;
- u_int8_t csz;
-
- sc->devid = devid;