diff options
Diffstat (limited to 'abs/core/wlan-ng26-utils')
-rw-r--r-- | abs/core/wlan-ng26-utils/PKGBUILD | 32 | ||||
-rw-r--r-- | abs/core/wlan-ng26-utils/kernel-2.6.22-r1832.patch | 120 | ||||
-rw-r--r-- | abs/core/wlan-ng26-utils/kernel-2.6.26.patch | 14 | ||||
-rw-r--r-- | abs/core/wlan-ng26-utils/wlan | 68 | ||||
-rw-r--r-- | abs/core/wlan-ng26-utils/wlan-ng.patch | 14 |
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 |