summaryrefslogtreecommitdiffstats
path: root/abs/core/wlan-ng26-utils
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/wlan-ng26-utils')
-rw-r--r--abs/core/wlan-ng26-utils/PKGBUILD32
-rw-r--r--abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch120
-rw-r--r--abs/core/wlan-ng26-utils/kernel-2.6.26.patch14
-rw-r--r--abs/core/wlan-ng26-utils/wlan68
-rw-r--r--abs/core/wlan-ng26-utils/wlan-ng.patch14
5 files changed, 248 insertions, 0 deletions
diff --git a/abs/core/wlan-ng26-utils/PKGBUILD b/abs/core/wlan-ng26-utils/PKGBUILD
new file mode 100644
index 0000000..e842c99
--- /dev/null
+++ b/abs/core/wlan-ng26-utils/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 7972 2008-08-05 11:03:19Z tpowa $
+# Maintainer: Tom Killian <tom@archlinux.org>
+
+pkgname=wlan-ng26-utils
+pkgver=0.2.9
+pkgrel=1
+pkgdesc="Wireless Lan userspace tools."
+depends=('glibc' 'bash')
+makedepends=('kernel26')
+source=(ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-$pkgver.tar.bz2 \
+ wlan-ng.patch wlan kernel-2.6.26.patch)
+url="ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/"
+backup=(etc/wlan/wlan.conf)
+arch=('i686' 'x86_64')
+license=('MPL')
+
+build() {
+ cd $startdir/src/linux-wlan-ng-$pkgver
+ patch -Np0 -i ../kernel-2.6.26.patch || return 1
+ sed -i "s#TARGET_ROOT_ON_HOST=#TARGET_ROOT_ON_HOST=$startdir/pkg#;s#PRISM2_PLX=y#PRISM2_PLX=n#;s#PRISM2_PCI=y#PRISM2_PCI=n#" config.in
+ patch -p1 < ../wlan-ng.patch
+ make auto_config
+ make all || return 1
+ make install
+ mkdir -p $startdir/pkg/etc/rc.d
+ rm -r $startdir/pkg/{init.d,lib,etc/pcmcia}
+ install -m 755 $startdir/src/wlan $startdir/pkg/etc/rc.d/wlan
+}
+md5sums=('96130b36f9674521b08fb3e2a6ac0382'
+ '706464f9e6e127558aed25b9f454f905'
+ '1056365bdbe7102b1a668c84926ecb17'
+ '6ed5a5fefc2c149e0e0a98de211ba147')
diff --git a/abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch b/abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch
new file mode 100644
index 0000000..f1aa310
--- /dev/null
+++ b/abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch
@@ -0,0 +1,120 @@
+diff -uNr linux-wlan-ng-0.2.8/CHANGES linux-wlan-ng-svn-1832/CHANGES
+--- linux-wlan-ng-0.2.8/CHANGES 2007-05-04 13:29:27.000000000 +0100
++++ linux-wlan-ng-svn-1832/CHANGES 2007-06-27 11:28:14.000000000 +0100
+@@ -41,6 +41,8 @@
+ * Intersil Corporation as part of PRISM(R) chipset product development.
+ *
+ * --------------------------------------------------------------------
++ - Tweaks to support Fedora 7 (Dan Williams)
++ - Support 2.6.22 kernels
+ 0.2.8
+ - Fix up a pile of sparse warnings (Pavel Roskin)
+ - Support 2.6.20 kernels (Pavel Roskin)
+diff -uNr linux-wlan-ng-0.2.8/Configure linux-wlan-ng-svn-1832/Configure
+--- linux-wlan-ng-0.2.8/Configure 2007-05-07 23:00:22.000000000 +0100
++++ linux-wlan-ng-svn-1832/Configure 2007-06-27 11:28:14.000000000 +0100
+@@ -277,9 +277,9 @@
+ fi
+ write_bool KERN_2_6_17
+
+-if [ $VERSION_CODE -gt `version 2 6 21` ] ; then
++if [ $VERSION_CODE -gt `version 2 6 22` ] ; then
+ $ECHO "******* WARNING WARNING WARNING *******"
+- $ECHO "Kernels newer than 2.6.21.x are not supported."
++ $ECHO "Kernels newer than 2.6.22.x are not supported."
+ $ECHO "******* WARNING WARNING WARNING *******"
+ fi
+
+diff -uNr linux-wlan-ng-0.2.8/config.in linux-wlan-ng-svn-1832/config.in
+--- linux-wlan-ng-0.2.8/config.in 2007-02-09 21:51:58.000000000 +0000
++++ linux-wlan-ng-svn-1832/config.in 2007-06-27 11:28:14.000000000 +0100
+@@ -1,6 +1,6 @@
+ WLAN_VERSION=0
+ WLAN_PATCHLEVEL=2
+-WLAN_SUBLEVEL=8
++WLAN_SUBLEVEL=9
+ WLAN_EXTRAVERSION=
+ #LINUX_SRC=/usr/src/linux
+ PCMCIA_SRC=
+diff -uNr linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules
+--- linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules 2006-06-26 16:03:27.000000000 +0100
++++ linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules 2007-06-27 11:28:14.000000000 +0100
+@@ -1 +1,2 @@
+-ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
++#ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
++KERNEL="wlan*",ACTION=="add",DRIVERS=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k"
+diff -uNr linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h
+--- linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h 2007-02-28 15:44:02.000000000 +0000
++++ linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h 2007-06-27 11:28:14.000000000 +0100
+@@ -479,6 +479,13 @@
+ #endif
+ #endif /* _LINUX_PROC_FS_H */
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
++#define skb_reset_mac_header(__a) (__a)->mac.raw = (__a)->data
++#define SKB_MAC_HEADER(__a) (__a)->mac.raw
++#else
++#define SKB_MAC_HEADER(__a) (__a)->mac_header
++#endif
++
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
+ #ifndef INIT_TQUEUE
+ #define PREPARE_TQUEUE(_tq, _routine, _data) \
+diff -uNr linux-wlan-ng-0.2.8/src/p80211/p80211conv.c linux-wlan-ng-svn-1832/src/p80211/p80211conv.c
+--- linux-wlan-ng-0.2.8/src/p80211/p80211conv.c 2007-03-19 15:37:00.000000000 +0000
++++ linux-wlan-ng-svn-1832/src/p80211/p80211conv.c 2007-06-27 11:28:14.000000000 +0100
+@@ -498,7 +498,7 @@
+ }
+
+ skb->protocol = eth_type_trans(skb, netdev);
+- skb->mac.raw = (unsigned char *) e_hdr; /* new MAC header */
++ SKB_MAC_HEADER(skb) = (unsigned char *) e_hdr; /* new MAC header */
+
+ /* jkriegl: process signal and noise as set in hfa384x_int_rx() */
+ /* jkriegl: only process signal/noise if requested by iwspy */
+diff -uNr linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c
+--- linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c 2007-03-19 15:37:00.000000000 +0000
++++ linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c 2007-06-27 11:28:14.000000000 +0100
+@@ -389,7 +389,8 @@
+
+ /* set up various data fields */
+ skb->dev = dev;
+- skb->mac.raw = skb->data ;
++ skb_reset_mac_header(skb);
++
+ skb->ip_summed = CHECKSUM_NONE;
+ skb->pkt_type = PACKET_OTHERHOST;
+ skb->protocol = htons(ETH_P_80211_RAW);
+@@ -929,7 +930,7 @@
+ dev->open = p80211knetdev_open;
+ dev->stop = p80211knetdev_stop;
+
+-#ifdef CONFIG_NET_WIRELESS
++#if defined(CONFIG_NET_WIRELESS) || defined(WIRELESS_EXT)
+ #if ((WIRELESS_EXT < 17) && (WIRELESS_EXT < 21))
+ dev->get_wireless_stats = p80211wext_get_wireless_stats;
+ #endif
+diff -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c
+--- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c 2007-03-19 15:37:00.000000000 +0000
++++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c 2007-06-27 11:28:14.000000000 +0100
+@@ -3645,7 +3645,7 @@
+ /* the prism2 cards don't return the FCS */
+ datap = skb_put(skb, WLAN_CRC_LEN);
+ memset (datap, 0xff, WLAN_CRC_LEN);
+- skb->mac.raw = skb->data;
++ skb_reset_mac_header(skb);
+
+ /* Attach the rxmeta, set some stuff */
+ p80211skb_rxmeta_attach(wlandev, skb);
+diff -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c
+--- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c 2007-03-19 15:37:00.000000000 +0000
++++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c 2007-06-27 11:28:14.000000000 +0100
+@@ -4255,7 +4255,7 @@
+ /* The prism2 series does not return the CRC */
+ memset(skb_put(skb, WLAN_CRC_LEN), 0xff, WLAN_CRC_LEN);
+
+- skb->mac.raw = skb->data;
++ skb_reset_mac_header(skb);
+
+ /* Attach the rxmeta, set some stuff */
+ p80211skb_rxmeta_attach(wlandev, skb);
diff --git a/abs/core/wlan-ng26-utils/kernel-2.6.26.patch b/abs/core/wlan-ng26-utils/kernel-2.6.26.patch
new file mode 100644
index 0000000..ec306f0
--- /dev/null
+++ b/abs/core/wlan-ng26-utils/kernel-2.6.26.patch
@@ -0,0 +1,14 @@
+Index: src/p80211/p80211netdev.c
+===================================================================
+--- src/p80211/p80211netdev.c (revision 1865)
++++ src/p80211/p80211netdev.c (working copy)
+@@ -947,7 +947,9 @@
+ #endif
+ #endif
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) )
++ dev_net_set(dev, &init_net);
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
+ dev->nd_net = &init_net;
+ #endif \ No newline at end of file
diff --git a/abs/core/wlan-ng26-utils/wlan b/abs/core/wlan-ng26-utils/wlan
new file mode 100644
index 0000000..6b3252d
--- /dev/null
+++ b/abs/core/wlan-ng26-utils/wlan
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+if [ ! -f /etc/wlan/shared ] ; then
+ echo "/etc/wlan/shared not present"
+ exit 0
+fi
+
+. /etc/wlan/shared
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ # This will implicitly fire off wland via hotplug.
+ stat_busy "Starting WLAN Devices"
+ if ! $MODPROBE p80211; then
+ echo "Failed to load p80211.o."
+ exit 1
+ fi
+
+ # NOTE: We don't explicitly insmod the card driver here. The
+ # best thing to do is to specify an alias in /etc/modules.conf.
+
+ for DEVICE in $WLAN_DEVICES; do
+ $MODPROBE $DEVICE
+ # if we don't have hotplug.. do things the old-fashioned way.
+ if [ $HAS_HOTPLUG = 'n' ] ; then
+ wlan_bring_it_up $DEVICE
+ fi
+ done
+
+ # And hotplug will take care of the rest, namely device
+ # initialization and whatnot.
+
+ add_daemon wlan
+ stat_done
+
+ ;;
+
+ stop)
+ stat_busy "Shutting Down WLAN Devices"
+ # Do a reset on each device to make sure none of them are still
+ # trying to generate interrupts.
+ for DEVICE in $WLAN_DEVICES; do
+ wlan_disable $DEVICE
+ ifconfig $DEVICE down
+ $MODPROBE -r $DEVICE
+ done
+
+ # remove p80211, which will implictly kill wland.
+ $MODPROBE -r p80211
+
+ rm_daemon wlan
+ stat_done
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ EXITCODE=$?
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+
+esac
+exit 0
diff --git a/abs/core/wlan-ng26-utils/wlan-ng.patch b/abs/core/wlan-ng26-utils/wlan-ng.patch
new file mode 100644
index 0000000..9449975
--- /dev/null
+++ b/abs/core/wlan-ng26-utils/wlan-ng.patch
@@ -0,0 +1,14 @@
+diff -ur linux-wlan-ng-0.2.1pre22/man/Makefile linux-wlan-ng-0.2.1pre22-new/man/Makefile
+--- linux-wlan-ng-0.2.1pre22/man/Makefile 2004-08-04 14:09:27.000000000 -0700
++++ linux-wlan-ng-0.2.1pre22-new/man/Makefile 2004-10-18 12:23:19.000000000 -0700
+@@ -48,8 +48,8 @@
+ @echo "Nothing to do..."
+
+ install:
+- mkdir -p $(TARGET_ROOT_ON_HOST)/usr/local/man/man1
+- cp *.1 $(TARGET_ROOT_ON_HOST)/usr/local/man/man1
++ mkdir -p $(TARGET_ROOT_ON_HOST)/usr/share/man/man1
++ cp *.1 $(TARGET_ROOT_ON_HOST)/usr/share/man/man1
+
+ clean:
+ rm -f core core.* *.o .*.o *.s *.a .depend tmp_make *~ tags