summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2004-08-29 04:41:33 +0000
committerNed Ludd <solar@gentoo.org>2004-08-29 04:41:33 +0000
commit6b19a11b7b27aa6a976ea4610ef46503fe78f04e (patch)
tree57fe31f1f1da5336841028a48527eb262e841698 /net-wireless/madwifi-driver
parentfix src_uri references to me (Manifest recommit) (diff)
downloadgentoo-2-6b19a11b7b27aa6a976ea4610ef46503fe78f04e.tar.gz
gentoo-2-6b19a11b7b27aa6a976ea4610ef46503fe78f04e.tar.bz2
gentoo-2-6b19a11b7b27aa6a976ea4610ef46503fe78f04e.zip
update for 2.6.8 kernels
Diffstat (limited to 'net-wireless/madwifi-driver')
-rw-r--r--net-wireless/madwifi-driver/ChangeLog10
-rw-r--r--net-wireless/madwifi-driver/Manifest6
-rw-r--r--net-wireless/madwifi-driver/files/digest-madwifi-driver-0.1_pre20040824-r11
-rw-r--r--net-wireless/madwifi-driver/files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch57
-rw-r--r--net-wireless/madwifi-driver/files/madwifi-multi-ssid-support.patch89
-rw-r--r--net-wireless/madwifi-driver/madwifi-driver-0.1_pre20040824-r1.ebuild79
6 files changed, 240 insertions, 2 deletions
diff --git a/net-wireless/madwifi-driver/ChangeLog b/net-wireless/madwifi-driver/ChangeLog
index d708b9468c37..f9379c9ac8bc 100644
--- a/net-wireless/madwifi-driver/ChangeLog
+++ b/net-wireless/madwifi-driver/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-wireless/madwifi-driver
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-driver/ChangeLog,v 1.12 2004/08/24 18:42:51 solar Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-driver/ChangeLog,v 1.13 2004/08/29 04:41:33 solar Exp $
+
+*madwifi-driver-0.1_pre20040824-r1 (29 Aug 2004)
+
+ 29 Aug 2004; <solar@gentoo.org>
+ +files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch,
+ +files/madwifi-multi-ssid-support.patch,
+ +madwifi-driver-0.1_pre20040824-r1.ebuild:
+ update for 2.6.8 kernels
24 Aug 2004; <solar@gentoo.org> :
updated snapshot, pulling from the wpa branch
diff --git a/net-wireless/madwifi-driver/Manifest b/net-wireless/madwifi-driver/Manifest
index 203224aead87..051c66ed911b 100644
--- a/net-wireless/madwifi-driver/Manifest
+++ b/net-wireless/madwifi-driver/Manifest
@@ -4,12 +4,16 @@ MD5 bc0f5d0eb065e14e1c707944dd81ce38 madwifi-driver-0.1_pre20031213-r1.ebuild 15
MD5 82869dab698ac726864aa4b614be0e12 madwifi-driver-0.1_pre20040726.ebuild 1442
MD5 99a34514859be45c9fa8ebf25bd65ecc madwifi-driver-0.1_pre20040824.ebuild 1716
MD5 21d600ab4701f18262587bdd50415aa5 madwifi-driver-0.1_pre20040108.ebuild 1544
-MD5 cbc3912001bac6d302d2708b361f1ec7 ChangeLog 2477
+MD5 d3e9cceb7a8e9e55f06c59025beb6464 ChangeLog 2737
MD5 19fd766bac8e110b4620363a1ace26dd metadata.xml 159
+MD5 0781d7638b13a10c286bdd7fb8e4edc3 madwifi-driver-0.1_pre20040824-r1.ebuild 2012
MD5 e00b943f3c94116d21cae2f156eddb3f files/digest-madwifi-driver-0.1_pre20031213-r1 83
MD5 87a16f54594ebda97e3ef6a9f64d798b files/digest-madwifi-driver-0.1_pre20040108 83
MD5 b328239759561fb84caa9430f6d172ef files/digest-madwifi-driver-0.1_pre20040212 83
MD5 e1ac8645264cff91daf51eb00fe88298 files/digest-madwifi-driver-0.1_pre20040514 84
MD5 acd6d2fa40bd7e96da1df6529c506a81 files/digest-madwifi-driver-0.1_pre20040726 84
MD5 fd47ace81248afcc8e4a192715a9bfe2 files/digest-madwifi-driver-0.1_pre20040824 84
+MD5 807179e31533b4895664bff1421f4381 files/madwifi-multi-ssid-support.patch 3343
+MD5 d9ea69973349d71e055b16a64039f1b7 files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch 1749
MD5 444756b2062924ee7e0e631e956d46e9 files/madwifi-driver-0.1-arp-packets-33958.patch 704
+MD5 fd47ace81248afcc8e4a192715a9bfe2 files/digest-madwifi-driver-0.1_pre20040824-r1 84
diff --git a/net-wireless/madwifi-driver/files/digest-madwifi-driver-0.1_pre20040824-r1 b/net-wireless/madwifi-driver/files/digest-madwifi-driver-0.1_pre20040824-r1
new file mode 100644
index 000000000000..a22b2a8c7cd5
--- /dev/null
+++ b/net-wireless/madwifi-driver/files/digest-madwifi-driver-0.1_pre20040824-r1
@@ -0,0 +1 @@
+MD5 fb4c2a2564d12dd26f9dd0297537eecc madwifi-driver-0.1_pre20040824.tar.bz2 1733884
diff --git a/net-wireless/madwifi-driver/files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch b/net-wireless/madwifi-driver/files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch
new file mode 100644
index 000000000000..0f28f5819dbf
--- /dev/null
+++ b/net-wireless/madwifi-driver/files/madwifi-driver-2.6.8-20040814-proc_dointvec.patch
@@ -0,0 +1,57 @@
+diff -Naur old/ath/if_ath.c new/ath/if_ath.c
+--- old/ath/if_ath.c 2004-08-05 19:17:21.000000000 -0400
++++ new/ath/if_ath.c 2004-08-14 19:50:39.000000000 -0400
+@@ -4626,7 +4626,7 @@
+
+ static int
+ ath_sysctl_halparam(ctl_table *ctl, int write, struct file *filp,
+- void *buffer, size_t *lenp)
++ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+ struct ath_softc *sc = ctl->extra1;
+ u_int val;
+@@ -4635,7 +4635,7 @@
+ ctl->data = &val;
+ ctl->maxlen = sizeof(val);
+ if (write) {
+- ret = proc_dointvec(ctl, write, filp, buffer, lenp);
++ ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
+ if (ret == 0) {
+ switch (ctl->ctl_name) {
+ case ATH_SLOTTIME:
+@@ -4687,7 +4687,7 @@
+ default:
+ return -EINVAL;
+ }
+- ret = proc_dointvec(ctl, write, filp, buffer, lenp);
++ ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
+ }
+ return ret;
+ }
+diff -Naur old/net80211/ieee80211_linux.c new/net80211/ieee80211_linux.c
+--- old/net80211/ieee80211_linux.c 2004-08-05 13:34:54.000000000 -0400
++++ new/net80211/ieee80211_linux.c 2004-08-14 19:49:24.000000000 -0400
+@@ -357,7 +357,7 @@
+
+ static int
+ ieee80211_sysctl_debug(ctl_table *ctl, int write, struct file *filp,
+- void *buffer, size_t *lenp)
++ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+ struct ieee80211com *ic = ctl->extra1;
+ u_int val;
+@@ -366,12 +366,12 @@
+ ctl->data = &val;
+ ctl->maxlen = sizeof(val);
+ if (write) {
+- ret = proc_dointvec(ctl, write, filp, buffer, lenp);
++ ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
+ if (ret == 0)
+ ic->msg_enable = val;
+ } else {
+ val = ic->msg_enable;
+- ret = proc_dointvec(ctl, write, filp, buffer, lenp);
++ ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
+ }
+ return ret;
+ }
diff --git a/net-wireless/madwifi-driver/files/madwifi-multi-ssid-support.patch b/net-wireless/madwifi-driver/files/madwifi-multi-ssid-support.patch
new file mode 100644
index 000000000000..b62a5e60204d
--- /dev/null
+++ b/net-wireless/madwifi-driver/files/madwifi-multi-ssid-support.patch
@@ -0,0 +1,89 @@
+Index: net80211/ieee80211_input.c
+===================================================================
+RCS file: /cvsroot/madwifi/madwifi/net80211/ieee80211_input.c,v
+retrieving revision 1.12
+diff -u -r1.12 ieee80211_input.c
+--- madwifi/net80211/ieee80211_input.c 19 Aug 2004 02:15:44 -0000 1.12
++++ madwifi/net80211/ieee80211_input.c 25 Aug 2004 17:14:08 -0000
+@@ -1684,17 +1684,20 @@
+ }
+
+ /*
+- * Use mac and channel for lookup so we collect all
+- * potential AP's when scanning. Otherwise we may
++ * Use mac, channel and SSID for lookup so we collect all
++ * potential AP's with all SSIDs when scanning. Otherwise we may
+ * see the same AP on multiple channels and will only
+- * record the last one. We could filter APs here based
++ * record the last one, or omit the second response from an
++ * AP supporting several SSIDs. We could filter APs here based
+ * on rssi, etc. but leave that to the end of the scan
+ * so we can keep the selection criteria in one spot.
+ * This may result in a bloat of the scanned AP list but
+ * it shouldn't be too much.
+ */
+- ni = ieee80211_find_node_with_channel(ic, wh->i_addr2,
+- &ic->ic_channels[chan]);
++ ni = ieee80211_find_node_with_channel_and_ssid(ic, wh->i_addr2,
++ &ic->ic_channels[chan], ssid);
++
++
+ if (ni == NULL) {
+ #ifdef IEEE80211_DEBUG
+ if (ieee80211_msg_scan(ic))
+Index: net80211/ieee80211_node.c
+===================================================================
+RCS file: /cvsroot/madwifi/madwifi/net80211/ieee80211_node.c,v
+retrieving revision 1.7
+diff -u -r1.7 ieee80211_node.c
+--- madwifi/net80211/ieee80211_node.c 19 Aug 2004 02:09:13 -0000 1.7
++++ madwifi/net80211/ieee80211_node.c 25 Aug 2004 17:14:08 -0000
+@@ -817,6 +817,31 @@
+ }
+
+ /*
++ * Like find but search based on the channel too.
++ */
++struct ieee80211_node *
++ieee80211_find_node_with_channel_and_ssid(struct ieee80211com *ic, u_int8_t *macaddr,
++ struct ieee80211_channel *chan, char *ssid)
++{
++ struct ieee80211_node *ni;
++ int hash;
++
++ hash = IEEE80211_NODE_HASH(macaddr);
++ IEEE80211_NODE_LOCK(ic);
++ LIST_FOREACH(ni, &ic->ic_hash[hash], ni_hash) {
++ if (IEEE80211_ADDR_EQ(ni->ni_macaddr, macaddr) &&
++ ni->ni_chan == chan &&
++ (ssid[1] == 0 || (ssid[1] == ni->ni_esslen &&
++ !memcmp(ssid + 2, ni->ni_essid, ssid[1])))){
++ ieee80211_node_incref(ni);/* mark referenced */
++ break;
++ }
++ }
++ IEEE80211_NODE_UNLOCK(ic);
++ return ni;
++}
++
++/*
+ * Like find but search based on the ssid too.
+ */
+ struct ieee80211_node *
+Index: net80211/ieee80211_node.h
+===================================================================
+RCS file: /cvsroot/madwifi/madwifi/net80211/ieee80211_node.h,v
+retrieving revision 1.4
+diff -u -r1.4 ieee80211_node.h
+--- madwifi/net80211/ieee80211_node.h 19 Aug 2004 01:06:58 -0000 1.4
++++ madwifi/net80211/ieee80211_node.h 25 Aug 2004 17:14:08 -0000
+@@ -193,6 +193,9 @@
+ extern struct ieee80211_node *ieee80211_find_node_with_channel(
+ struct ieee80211com *, u_int8_t *macaddr,
+ struct ieee80211_channel *);
++extern struct ieee80211_node *ieee80211_find_node_with_channel_and_ssid(
++ struct ieee80211com *, u_int8_t *macaddr,
++ struct ieee80211_channel *, char *);
+ extern struct ieee80211_node *ieee80211_find_node_with_ssid(
+ struct ieee80211com *, u_int8_t *macaddr, u_int ssidlen,
+ const u_int8_t *ssid);
diff --git a/net-wireless/madwifi-driver/madwifi-driver-0.1_pre20040824-r1.ebuild b/net-wireless/madwifi-driver/madwifi-driver-0.1_pre20040824-r1.ebuild
new file mode 100644
index 000000000000..508e1a931c7e
--- /dev/null
+++ b/net-wireless/madwifi-driver/madwifi-driver-0.1_pre20040824-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-driver/madwifi-driver-0.1_pre20040824-r1.ebuild,v 1.1 2004/08/29 04:41:33 solar Exp $
+
+# All work on madwifi is pretty much done under the WPA branch. At some
+# point in the near future it should be merged back into HEAD.
+# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co -r WPA madwifi
+
+inherit eutils kernel-mod
+
+DESCRIPTION="Wireless driver for Atheros chipset a/b/g cards"
+HOMEPAGE="http://madwifi.sourceforge.net/"
+
+# Point to any required sources; these will be automatically downloaded by
+# Portage.
+SRC_URI="mirror://gentoo/$P.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~x86"
+IUSE=""
+DEPEND=""
+
+S=${WORKDIR}
+
+pkg_setup() {
+ if [[ "${KV}" > "2.5" ]] ; then
+ cd ${ROOT}/usr/src/linux
+ if [[ "${KV}" > "2.6.8" ]] ; then
+ ./scripts/mod/modpost ./vmlinux
+ else
+ ./scripts/modpost ./vmlinux
+ fi
+ fi
+}
+
+src_unpack() {
+ check_KV
+ unpack ${A}
+ cd ${S}
+
+ # http://article.gmane.org/gmane.linux.drivers.madwifi.user/4033
+ epatch ${FILESDIR}/madwifi-multi-ssid-support.patch
+
+ if kernel-mod_is_2_6_kernel && [ ${KV_PATCH} -gt 5 ]; then
+ for dir in ath ath_hal net80211; do
+ sed -i -e "s:SUBDIRS=:M=:" ${S}/${dir}/Makefile
+ done
+
+ [[ "${KV_PATCH}" -ge 8 ]] && epatch ${FILESDIR}/${PN}-2.6.8-20040814-proc_dointvec.patch
+ fi
+}
+
+src_compile() {
+ unset ARCH
+ make clean
+ make KERNELPATH="${ROOT}/usr/src/linux" KERNELRELEASE="${KV}" || die
+}
+
+src_install() {
+ unset ARCH
+ make KERNELPATH="${ROOT}/usr/src/linux" KERNELRELEASE="${KV}" \
+ DESTDIR="${D}" install || die
+
+ dodoc README
+}
+
+pkg_postinst() {
+
+ [ -r "${ROOT}/usr/src/linux/System.map" ] && \
+ depmod -ae -F "${ROOT}/usr/src/linux/System.map" -b "${ROOT}" -r ${KV}
+
+ einfo ""
+ einfo "The madwifi drivers create an interface named 'athX'"
+ einfo "Create /etc/init.d/net.ath0 and add a line for athX"
+ einfo "in /etc/conf.d/net like 'iface_ath0=\"dhcp\"'"
+ einfo ""
+}