summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Brix Andersen <brix@gentoo.org>2004-09-29 20:04:57 +0000
committerHenrik Brix Andersen <brix@gentoo.org>2004-09-29 20:04:57 +0000
commite501d552b57da8b198a55b9a0973921e2516e29e (patch)
tree7f072a4d990052e02fcf50299a24d0b11331ca35 /net-wireless
parentadded ~ppc-macos keyword (Manifest recommit) (diff)
downloadgentoo-2-e501d552b57da8b198a55b9a0973921e2516e29e.tar.gz
gentoo-2-e501d552b57da8b198a55b9a0973921e2516e29e.tar.bz2
gentoo-2-e501d552b57da8b198a55b9a0973921e2516e29e.zip
Added ipw2100-0.55_manual-disable.patch and ipw2100-0.55-modparam-perm.patch
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/ipw2100/ChangeLog9
-rw-r--r--net-wireless/ipw2100/Manifest4
-rw-r--r--net-wireless/ipw2100/files/digest-ipw2100-0.55-r12
-rw-r--r--net-wireless/ipw2100/files/ipw2100-0.55-modparam-perm.patch22
-rw-r--r--net-wireless/ipw2100/files/ipw2100-0.55_manual-disable.patch97
-rw-r--r--net-wireless/ipw2100/ipw2100-0.55-r1.ebuild113
6 files changed, 246 insertions, 1 deletions
diff --git a/net-wireless/ipw2100/ChangeLog b/net-wireless/ipw2100/ChangeLog
index 3907c86f7624..8f016fb377e8 100644
--- a/net-wireless/ipw2100/ChangeLog
+++ b/net-wireless/ipw2100/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-wireless/ipw2100
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ChangeLog,v 1.27 2004/09/28 06:37:11 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ChangeLog,v 1.28 2004/09/29 20:04:57 brix Exp $
+
+*ipw2100-0.55-r1 (29 Sep 2004)
+
+ 29 Sep 2004; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2100-0.55-modparam-perm.patch,
+ +files/ipw2100-0.55_manual-disable.patch, +ipw2100-0.55-r1.ebuild:
+ Added ipw2100-0.55_manual-disable.patch and ipw2100-0.55-modparam-perm.patch
*ipw2100-0.55 (28 Sep 2004)
diff --git a/net-wireless/ipw2100/Manifest b/net-wireless/ipw2100/Manifest
index aeb4ae593883..c4e05500741c 100644
--- a/net-wireless/ipw2100/Manifest
+++ b/net-wireless/ipw2100/Manifest
@@ -12,12 +12,16 @@ MD5 ddbc81d5ff8dfd468986f70c0c44fd77 ChangeLog 5626
MD5 6b9b3aeeb719bd5691f538b4e5c9fed8 ipw2100-0.49.ebuild 2338
MD5 8a68b74057e911e6804f77dc21959e80 metadata.xml 282
MD5 78f6d8f071cd7615df4ad78abf3e55d0 ipw2100-0.44.ebuild 2305
+MD5 cb5a0391de773a6cd5b8902b202af9ac ipw2100-0.55-r1.ebuild 2966
MD5 a8f45ac36d3629f7fd90082355b44d89 files/ipw2100-0.38-resume.patch 717
MD5 1cf135e6f2a48d58c39f62e3e49ccfd3 files/ipw2100-0.33-acpi-fix.diff 863
MD5 15db5a26b062068727a810f0b88d2c2c files/ipw2100-0.38-makefile-1.diff 680
MD5 20408aa8a5494274471367204c5f2caa files/ipw2100-0.38-makefile-2.diff 284
MD5 1d1276f437b0101f8283429a0c048ec7 files/ipw2100-0.31-sched-fix.diff 1232
MD5 bc734236706a08cefb81aeb4965455ff files/digest-ipw2100-0.46-r1 126
+MD5 b3a600a244bd8a64fd8ade3036a390e1 files/digest-ipw2100-0.55-r1 124
+MD5 0a8c00c1860d7bb54686e647740f23d0 files/ipw2100-0.55-modparam-perm.patch 769
+MD5 1ce1888cb1dcbc65bc76ba8f3f7875b9 files/ipw2100-0.55_manual-disable.patch 2898
MD5 f9a4a4e4aacd5c115776d3ccc8333cab files/digest-ipw2100-0.41 123
MD5 5ccd21f930c68d8fd53afe3a87bcd56e files/digest-ipw2100-0.44 124
MD5 3d2b283cc098381a32b94d472e5b11dc files/digest-ipw2100-0.45 124
diff --git a/net-wireless/ipw2100/files/digest-ipw2100-0.55-r1 b/net-wireless/ipw2100/files/digest-ipw2100-0.55-r1
new file mode 100644
index 000000000000..836f8c72dc3c
--- /dev/null
+++ b/net-wireless/ipw2100/files/digest-ipw2100-0.55-r1
@@ -0,0 +1,2 @@
+MD5 5675472dbfcd09ba2eed9c785038f815 ipw2100-0.55.tgz 129663
+MD5 46aa75bcda1a00efa841f9707bbbd113 ipw2100-fw-1.3.tgz 248471
diff --git a/net-wireless/ipw2100/files/ipw2100-0.55-modparam-perm.patch b/net-wireless/ipw2100/files/ipw2100-0.55-modparam-perm.patch
new file mode 100644
index 000000000000..38501ea0f55e
--- /dev/null
+++ b/net-wireless/ipw2100/files/ipw2100-0.55-modparam-perm.patch
@@ -0,0 +1,22 @@
+diff -urp ipw2100-0.55/ipw2100.c ipw2100-0.55-modparam/ipw2100.c
+--- ipw2100-0.55/ipw2100.c 2004-09-28 01:29:17.000000000 +0800
++++ ipw2100-0.55-modparam/ipw2100.c 2004-09-28 13:07:17.989689056 +0800
+@@ -250,12 +250,12 @@ MODULE_PARM(disable, "i");
+ #else /* LINUX_VERSION_CODE < 2.6.0 */
+
+ #include <linux/moduleparam.h>
+-module_param(debug, int, -1);
+-module_param(if_name, charp, 0);
+-module_param(mode, int, 0);
+-module_param(channel, int, 1);
+-module_param(associate, int, 1);
+-module_param(disable, int, 1);
++module_param(debug, int, 0444);
++module_param(if_name, charp, 0444);
++module_param(mode, int, 0444);
++module_param(channel, int, 0444);
++module_param(associate, int, 0444);
++module_param(disable, int, 0444);
+
+ #endif /* LINUX_VERSION_CODE < 2.6.0 */
+
diff --git a/net-wireless/ipw2100/files/ipw2100-0.55_manual-disable.patch b/net-wireless/ipw2100/files/ipw2100-0.55_manual-disable.patch
new file mode 100644
index 000000000000..7352170adb67
--- /dev/null
+++ b/net-wireless/ipw2100/files/ipw2100-0.55_manual-disable.patch
@@ -0,0 +1,97 @@
+diff -u -p -r1.117 CHANGES
+--- CHANGES 27 Sep 2004 15:42:18 -0000 1.117
++++ CHANGES 28 Sep 2004 02:51:49 -0000
+@@ -1,3 +1,10 @@
++Changes in ...
++
++* Fixed manual disable parameter (thanks to Yi Zhu)
++* Fixed resume maintaining manual disable state (thanks to Ralf
++ Hemmenstaedt)
++
++
+ Changes in 0.55
+
+ NOTE: 0.55 requires firmware v1.3. You can obtain the latest firmware
+diff -u -p -r1.1044 ipw2100.c
+--- ipw2100.c 27 Sep 2004 14:51:19 -0000 1.1044
++++ ipw2100.c 28 Sep 2004 02:51:49 -0000
+@@ -1395,6 +1395,13 @@ static int ipw2100_up(struct ipw2100_pri
+ u32 lock;
+ u32 ord_len = sizeof(lock);
+
++ /* Quite if manually disabled. */
++ if (priv->manual_disable) {
++ printk(KERN_INFO "%s: Radio is disabled by Manual Disable "
++ "switch\n", priv->ndev->name);
++ return 0;
++ }
++
+ /* If the interrupt is enabled, turn it off... */
+ spin_lock_irqsave(&priv->low_lock, flags);
+ ipw2100_hw_disable_interrupt(priv);
+@@ -1441,26 +1448,17 @@ static int ipw2100_up(struct ipw2100_pri
+ }
+
+ priv->in_scan = 0;
++ priv->rf_kill = ipw2100_get_rf_switch(priv);
+
+- if (priv->hw_features & HW_FEATURE_RFKILL)
+- priv->rf_kill = ipw2100_get_rf_switch(priv);
+- else
+- priv->rf_kill = 0;
+-
+- if (priv->rf_kill || priv->manual_disable) {
+- if (priv->rf_kill)
+- printk(KERN_INFO "%s: Radio is disabled by RF switch\n",
+- priv->ndev->name);
+- if (priv->manual_disable)
+- printk(KERN_INFO "%s: Radio is disabled by Manual Disable switch\n",
+- priv->ndev->name);
++ if (priv->rf_kill) {
++ printk(KERN_INFO "%s: Radio is disabled by RF switch\n",
++ priv->ndev->name);
+
+ if (priv->stop_rf_check) {
+ priv->stop_rf_check = 0;
+ priv->rf_switch_timer.expires = jiffies + HZ;
+ add_timer(&priv->rf_switch_timer);
+ }
+-
+ /* Since the RF switch is off, we will defer
+ * the sending of the HOST_COMPLETE */
+ deferred = 1;
+@@ -5520,7 +5518,7 @@ static void shim__set_security(struct ie
+ priv->sec.flags & BIT(0) ? '1' : '0');
+
+ if (!priv->connected)
+- ipw2100_configure_security(priv, 0);
++ ipw2100_configure_security(priv, priv->manual_disable);
+ }
+
+ static struct ieee80211_helper_functions ipw2100_ieee_callbacks = {
+@@ -6312,7 +6310,10 @@ static void ipw2100_rf_switch_check(unsi
+ if (!priv->rf_kill) {
+ /* Kill timer; we don't need to poll for RF going
+ * off since the firmware will tell us */
+- priv->stop_rf_check = 1;
++ if (!priv->stop_rf_check) {
++ priv->stop_rf_check = 1;
++ del_timer_sync(&priv->rf_switch_timer);
++ }
+
+ /* Restart the NIC */
+ schedule_reset(priv);
+@@ -6813,9 +6814,10 @@ static int ipw2100_resume(struct pci_dev
+ * the queue of needed */
+ netif_device_attach(dev);
+
+- /* Bring the device back up */
+- ipw2100_up(priv, 0);
+-
++ /* Bring the device back up */
++ if (!priv->manual_disable)
++ ipw2100_up(priv, 0);
++
+ return 0;
+ }
+ #endif
diff --git a/net-wireless/ipw2100/ipw2100-0.55-r1.ebuild b/net-wireless/ipw2100/ipw2100-0.55-r1.ebuild
new file mode 100644
index 000000000000..8962eede3fbe
--- /dev/null
+++ b/net-wireless/ipw2100/ipw2100-0.55-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ipw2100-0.55-r1.ebuild,v 1.1 2004/09/29 20:04:57 brix Exp $
+
+inherit kernel-mod eutils
+
+FW_VERSION="1.3"
+
+DESCRIPTION="Driver for the Intel Centrino wireless chipset"
+
+HOMEPAGE="http://ipw2100.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz
+ mirror://gentoo/${PN}-fw-${FW_VERSION}.tgz"
+
+LICENSE="GPL-2 ipw2100-fw"
+SLOT="0"
+KEYWORDS="~x86"
+
+IUSE=""
+DEPEND="!net-wireless/ipw2200"
+RDEPEND=">=sys-apps/hotplug-20030805-r2
+ >=net-wireless/wireless-tools-27_pre23"
+
+src_unpack() {
+ if ! egrep "^CONFIG_NET_RADIO=[ym]" ${ROOT}/usr/src/linux/.config >/dev/null
+ then
+ eerror ""
+ eerror "${PN} requires support for Wireless LAN drivers (non-hamradio) &"
+ eerror "Wireless Extensions in the kernel."
+ eerror ""
+ die "Wireless LAN support not detected."
+ fi
+ if ! egrep "^CONFIG_CRYPTO_ARC4=[ym]" ${ROOT}/usr/src/linux/.config >/dev/null
+ then
+ eerror ""
+ eerror "New versions of ${PN} require the ARC4 CryptoAPI module from"
+ eerror "the kernel."
+ eerror ""
+ die "ARC4 Crypto support not detected."
+ fi
+
+ if ! egrep "^CONFIG_FW_LOADER=[ym]" ${ROOT}/usr/src/linux/.config >/dev/null
+ then
+ eerror ""
+ eerror "New versions of ${PN} require firmware loader support from"
+ eerror "your kernel. This can be found in Device Drivers --> Generic"
+ eerror "Driver Support on 2.6 or in Library Routines on 2.4 kernels."
+ eerror ""
+ die "Firmware loading support not detected."
+ fi
+
+ if ! egrep "^CONFIG_CRC32=[ym]" ${ROOT}/usr/src/linux/.config >/dev/null
+ then
+ eerror ""
+ eerror "New versions of ${PN} require support for CRC32 in"
+ eerror "your kernel. This can be found in Library Routines in"
+ eerror "kernel configs."
+ eerror ""
+ die "CRC32 function support not detected."
+ fi
+
+ unpack ${A}
+
+ cd ${S}
+ epatch ${FILESDIR}/ipw2100-0.55_manual-disable.patch
+ epatch ${FILESDIR}/ipw2100-0.55-modparam-perm.patch
+
+ einfo "Patching Makefile to enable WPA"
+ sed -i -e "s:^# CONFIG_IEEE80211_WPA=:CONFIG_IEEE80211_WPA=:" \
+ ${S}/Makefile
+
+ # let pkg_postinst() handle depmod
+ sed -i "s:/sbin/depmod -a::" ${S}/Makefile
+
+ kernel-mod_getversion
+
+ if [ ${KV_MINOR} -gt 5 ] && [ ${KV_PATCH} -gt 5 ]
+ then
+ sed -i 's:SUBDIRS=:M=:g' ${S}/Makefile
+ fi
+}
+
+src_compile() {
+ if [ ${KV_MINOR} -gt 5 ] && [ ${KV_PATCH} -gt 5 ]
+ then
+ unset ARCH
+ fi
+
+ emake KSRC=${ROOT}/usr/src/linux all || die
+}
+
+src_install() {
+ if [ ${KV_MINOR} -gt 5 ] && [ ${KV_PATCH} -gt 5 ]
+ then
+ unset ARCH
+ fi
+
+ emake KMISC=${D}/lib/modules/${KV}/net install || die
+
+ dodoc ISSUES README.ipw2100 CHANGES LICENSE
+
+ insinto /usr/lib/hotplug/firmware
+ doins ${WORKDIR}/${PN}-${FW_VERSION}.fw
+ doins ${WORKDIR}/${PN}-${FW_VERSION}-p.fw
+ doins ${WORKDIR}/${PN}-${FW_VERSION}-i.fw
+ newins ${WORKDIR}/LICENSE ${PN}-${FW_VERSION}-LICENSE
+}
+
+pkg_postinst() {
+ einfo "Checking kernel module dependencies"
+ test -r "${ROOT}/usr/src/linux/System.map" && \
+ depmod -ae -F "${ROOT}/usr/src/linux/System.map" -b "${ROOT}" -r ${KV}
+}