summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schweizer <genstef@gentoo.org>2007-05-10 11:05:45 +0000
committerStefan Schweizer <genstef@gentoo.org>2007-05-10 11:05:45 +0000
commit0e5b694d0b75c35ebde8479648150e038c031b0d (patch)
tree95aa08111fd80710bebbe0b60167c17943f0544d /net-wireless/orinoco-sn
parentStable on alpha wrt security #170977 (diff)
downloadgentoo-2-0e5b694d0b75c35ebde8479648150e038c031b0d.tar.gz
gentoo-2-0e5b694d0b75c35ebde8479648150e038c031b0d.tar.bz2
gentoo-2-0e5b694d0b75c35ebde8479648150e038c031b0d.zip
Add forked driver thanks to Marcin <pr0d1r2@gmail.com> in bug 172863 and a kernel 2.6.21 patch
(Portage version: 2.1.2.5)
Diffstat (limited to 'net-wireless/orinoco-sn')
-rw-r--r--net-wireless/orinoco-sn/ChangeLog12
-rw-r--r--net-wireless/orinoco-sn/Manifest20
-rw-r--r--net-wireless/orinoco-sn/files/digest-orinoco-sn-0.13e_pre153
-rw-r--r--net-wireless/orinoco-sn/files/orinoco-sn-2.6.21.patch240
-rw-r--r--net-wireless/orinoco-sn/metadata.xml5
-rw-r--r--net-wireless/orinoco-sn/orinoco-sn-0.13e_pre15.ebuild102
6 files changed, 382 insertions, 0 deletions
diff --git a/net-wireless/orinoco-sn/ChangeLog b/net-wireless/orinoco-sn/ChangeLog
new file mode 100644
index 000000000000..8f5f0c924934
--- /dev/null
+++ b/net-wireless/orinoco-sn/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for net-wireless/orinoco-sn
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/orinoco-sn/ChangeLog,v 1.1 2007/05/10 11:05:45 genstef Exp $
+
+*orinoco-sn-0.13e_pre15 (10 May 2007)
+
+ 10 May 2007; Stefan Schweizer <genstef@gentoo.org>
+ +files/orinoco-sn-2.6.21.patch, +metadata.xml,
+ +orinoco-sn-0.13e_pre15.ebuild:
+ Add forked driver thanks to Marcin <pr0d1r2@gmail.com> in bug 172863 and a
+ kernel 2.6.21 patch
+
diff --git a/net-wireless/orinoco-sn/Manifest b/net-wireless/orinoco-sn/Manifest
new file mode 100644
index 000000000000..b771985c24a8
--- /dev/null
+++ b/net-wireless/orinoco-sn/Manifest
@@ -0,0 +1,20 @@
+AUX orinoco-sn-2.6.21.patch 7507 RMD160 8799c0c38b409aecdea12d2ba3e0ae77ee28a6a2 SHA1 093272ec1c1ad45114a61f88d82fa1c829f1506f SHA256 13827d482a65367337889174ab803e4423c5e6f86d8ccb422edd1bfe675406be
+MD5 15e86351c9dfcd101ceb5a89a3882b28 files/orinoco-sn-2.6.21.patch 7507
+RMD160 8799c0c38b409aecdea12d2ba3e0ae77ee28a6a2 files/orinoco-sn-2.6.21.patch 7507
+SHA256 13827d482a65367337889174ab803e4423c5e6f86d8ccb422edd1bfe675406be files/orinoco-sn-2.6.21.patch 7507
+DIST orinoco-0.13e-SN-15.tar.bz2 61082 RMD160 d570bbebc7f905a09cb5a337de2788f538643674 SHA1 56eab0876c5e4b15113489cc4d3aa8d7f29af9a4 SHA256 10c17725e869cf9abcf2ab81ce9cefc16f30f45f39891564c4d8f7b35097a6d7
+EBUILD orinoco-sn-0.13e_pre15.ebuild 2487 RMD160 b86f689ab5d87b1261db543b3391d9dfa7ed94ca SHA1 16141341ba5aab419aafb27046007e9932f7a9d2 SHA256 9445fade9dc292b8d469d4a5d81685359f1da22f66bbed70e6593d372ae2b86e
+MD5 05c2717bbccb8f664cde21d64a9753ef orinoco-sn-0.13e_pre15.ebuild 2487
+RMD160 b86f689ab5d87b1261db543b3391d9dfa7ed94ca orinoco-sn-0.13e_pre15.ebuild 2487
+SHA256 9445fade9dc292b8d469d4a5d81685359f1da22f66bbed70e6593d372ae2b86e orinoco-sn-0.13e_pre15.ebuild 2487
+MISC ChangeLog 399 RMD160 f5a10f937a30b3f1533530e334021a478505f096 SHA1 2bdc4ec4cc15e5613533429f4ea85ef36e660fb4 SHA256 1aaaaa19e998fcfffd7f7da37b703fe6751a1834ca22fec9b58ad7fb1746f3e9
+MD5 9266f1db708d5e5c114f5c1a47e46068 ChangeLog 399
+RMD160 f5a10f937a30b3f1533530e334021a478505f096 ChangeLog 399
+SHA256 1aaaaa19e998fcfffd7f7da37b703fe6751a1834ca22fec9b58ad7fb1746f3e9 ChangeLog 399
+MISC metadata.xml 159 RMD160 54af1e9a61e5ed1b49b2bbbf3ef2278999c66b13 SHA1 bce3da4745192397c9a08bdbcf7e4914eac9b77b SHA256 ed3a0d440cfa5672284f4172ebde0ea6506c1a38e9a3ed9f14f3d2c093aac42f
+MD5 19fd766bac8e110b4620363a1ace26dd metadata.xml 159
+RMD160 54af1e9a61e5ed1b49b2bbbf3ef2278999c66b13 metadata.xml 159
+SHA256 ed3a0d440cfa5672284f4172ebde0ea6506c1a38e9a3ed9f14f3d2c093aac42f metadata.xml 159
+MD5 d1586671dfc2d83d604ad92318741018 files/digest-orinoco-sn-0.13e_pre15 259
+RMD160 891737ee229c495e9eb2d20ede8575da4b796236 files/digest-orinoco-sn-0.13e_pre15 259
+SHA256 83e2e58dc9cb835d16a8e2572363f63a29bb0eea8118df1916f6b851c591fbb8 files/digest-orinoco-sn-0.13e_pre15 259
diff --git a/net-wireless/orinoco-sn/files/digest-orinoco-sn-0.13e_pre15 b/net-wireless/orinoco-sn/files/digest-orinoco-sn-0.13e_pre15
new file mode 100644
index 000000000000..5f51768d3822
--- /dev/null
+++ b/net-wireless/orinoco-sn/files/digest-orinoco-sn-0.13e_pre15
@@ -0,0 +1,3 @@
+MD5 2882fa6230f5311149a9047a9abfbdc6 orinoco-0.13e-SN-15.tar.bz2 61082
+RMD160 d570bbebc7f905a09cb5a337de2788f538643674 orinoco-0.13e-SN-15.tar.bz2 61082
+SHA256 10c17725e869cf9abcf2ab81ce9cefc16f30f45f39891564c4d8f7b35097a6d7 orinoco-0.13e-SN-15.tar.bz2 61082
diff --git a/net-wireless/orinoco-sn/files/orinoco-sn-2.6.21.patch b/net-wireless/orinoco-sn/files/orinoco-sn-2.6.21.patch
new file mode 100644
index 000000000000..acb539414659
--- /dev/null
+++ b/net-wireless/orinoco-sn/files/orinoco-sn-2.6.21.patch
@@ -0,0 +1,240 @@
+Only in orinoco-0.13e-SN-15.orig: .orinoco.o.d
+Common subdirectories: orinoco-0.13e-SN-15.orig/.tmp_versions and orinoco-0.13e-SN-15/.tmp_versions
+diff -u orinoco-0.13e-SN-15.orig/hermes.h orinoco-0.13e-SN-15/hermes.h
+--- orinoco-0.13e-SN-15.orig/hermes.h 2007-05-10 12:30:39.000000000 +0200
++++ orinoco-0.13e-SN-15/hermes.h 2007-05-10 12:36:58.000000000 +0200
+@@ -206,7 +206,7 @@
+ u8 rate;
+ u8 rxflow;
+ u32 reserved;
+-} __attribute__ ((packed));
++} ;
+
+ #define HERMES_RXSTAT_ERR (0x0003)
+ #define HERMES_RXSTAT_BADCRC (0x0001)
+@@ -226,7 +226,7 @@
+ u8 retry_count;
+ u8 tx_rate;
+ __le16 tx_control;
+-} __attribute__ ((packed));
++} ;
+
+ #define HERMES_TXSTAT_RETRYERR (0x0001)
+ #define HERMES_TXSTAT_AGEDERR (0x0002)
+@@ -269,7 +269,7 @@
+ /* Those last are probably not available in very old firmwares */
+ __le16 RxDiscards_WEPICVError;
+ __le16 RxDiscards_WEPExcluded;
+-} __attribute__ ((packed));
++} ;
+
+ /* Grabbed from wlan-ng - Thanks Mark... - Jean II
+ * This is the result of a scan inquiry command */
+@@ -286,13 +286,13 @@
+ u8 rates[10]; /* Bit rate supported */
+ __le16 proberesp_rate; /* Data rate of the response frame */
+ __le16 atim; /* ATIM window time, Kus (hostscan only) */
+-} __attribute__ ((packed));
++} ;
+ /* Container */
+ struct prism2_scan_frame {
+ __le16 rsvd; /* ??? */
+ __le16 scanreason; /* ??? */
+ struct prism2_scan_apinfo aps[HERMES_SCANRESULT_MAX]; /* Scan result : using the constant here, in case we change some day -- PlasmaHH*/
+-} __attribute__ ((packed));
++} ;
+
+ /* Same stuff for the Lucent/Agere card.
+ * Thanks to h1kari <h1kari AT dachb0den.com> - Jean II */
+@@ -306,7 +306,7 @@
+ /* bits: 0-ess, 1-ibss, 4-privacy [wep] */
+ __le16 essid_len; /* ESSID length */
+ u8 essid[32]; /* ESSID of the network */
+-} __attribute__ ((packed));
++} ;
+
+ /* Moustafa: Scan structure for Symbol cards */
+ struct symbol_scan_apinfo {
+@@ -324,7 +324,7 @@
+ __le16 basic_rates; /* Basic rates bitmask */
+ u8 unknown2[6]; /* Always FF:FF:FF:FF:00:00 */
+ u8 unknown3[8]; /* Always 0, appeared in f/w 3.91-68 */
+-} __attribute__ ((packed));
++} ;
+
+ union hermes_scan_info {
+ struct agere_scan_apinfo a;
+@@ -342,7 +342,7 @@
+
+ struct hermes_linkstatus {
+ __le16 linkstatus; /* Link status */
+-} __attribute__ ((packed));
++} ;
+
+ struct hermes_response {
+ u16 status, resp0, resp1, resp2;
+@@ -352,11 +352,11 @@
+ struct hermes_idstring {
+ u16 len;
+ u16 val[16];
+-} __attribute__ ((packed));
++} ;
+
+ typedef struct hermes_multicast {
+ u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN];
+-} __attribute__ ((packed)) hermes_multicast_t;
++} hermes_multicast_t;
+
+
+ // #define HERMES_DEBUG_BUFFER 1
+diff -u orinoco-0.13e-SN-15.orig/ieee802_11.h orinoco-0.13e-SN-15/ieee802_11.h
+--- orinoco-0.13e-SN-15.orig/ieee802_11.h 2007-05-10 12:30:39.000000000 +0200
++++ orinoco-0.13e-SN-15/ieee802_11.h 2007-05-10 12:36:58.000000000 +0200
+@@ -22,7 +22,7 @@
+ u8 addr3[ETH_ALEN];
+ u16 seq_ctl;
+ u8 addr4[ETH_ALEN];
+-} __attribute__ ((packed));
++} ;
+
+ /* Frame control field constants */
+ #define IEEE802_11_FCTL_VERS 0x0002
+diff -u orinoco-0.13e-SN-15.orig/orinoco.c orinoco-0.13e-SN-15/orinoco.c
+--- orinoco-0.13e-SN-15.orig/orinoco.c 2007-05-10 12:30:39.000000000 +0200
++++ orinoco-0.13e-SN-15/orinoco.c 2007-05-10 12:37:52.000000000 +0200
+@@ -229,7 +229,7 @@
+ /* SNAP */
+ u8 oui[3];
+ u16 ethertype;
+-} __attribute__ ((packed));
++} ;
+
+
+ #define ENCAPS_OVERHEAD (sizeof(encaps_hdr) + 2)
+@@ -1296,7 +1296,7 @@
+ struct {
+ u16 len;
+ u16 type;
+- } __attribute__ ((packed)) info;
++ } info;
+ int len, type;
+ int err;
+
+@@ -1733,7 +1733,7 @@
+
+ struct sta_id {
+ u16 id, variant, major, minor;
+-} __attribute__ ((packed));
++} ;
+
+ static int determine_firmware_type(struct net_device *dev, struct sta_id *sta_id)/*{{{*/
+ {
+@@ -2110,7 +2110,7 @@
+ } else {
+ struct {
+ u16 qual, signal, noise;
+- } __attribute__ ((packed)) cq;
++ } cq;
+
+ err = HERMES_READ_RECORD(hw, USER_BAP,
+ HERMES_RID_COMMSQUALITY, &cq);
+@@ -4227,8 +4227,8 @@
+ strncpy(info->driver, DRIVER_NAME, sizeof(info->driver) - 1);
+ strncpy(info->version, DRIVER_VERSION, sizeof(info->version) - 1);
+ strncpy(info->fw_version, priv->fw_name, sizeof(info->fw_version) - 1);
+- if (dev->class_dev.dev)
+- strncpy(info->bus_info, dev->class_dev.dev->bus_id,
++ if (dev->dev.parent)
++ strncpy(info->bus_info, dev->dev.parent->bus_id,
+ sizeof(info->bus_info) - 1);
+ else
+ snprintf(info->bus_info, sizeof(info->bus_info) - 1,
+@@ -4471,7 +4471,7 @@
+ priv->hw_unavailable = 1; /* orinoco_init() must clear this
+ * before anything else touches the
+ * hardware */
+- INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev);
++ INIT_WORK(&priv->reset_work, dev);
+
+ priv->last_linkstatus = 0xffff;
+ priv->connected = 0;
+diff -u orinoco-0.13e-SN-15.orig/orinoco.h orinoco-0.13e-SN-15/orinoco.h
+--- orinoco-0.13e-SN-15.orig/orinoco.h 2007-05-10 12:30:39.000000000 +0200
++++ orinoco-0.13e-SN-15/orinoco.h 2007-05-10 12:36:58.000000000 +0200
+@@ -31,7 +31,7 @@
+ struct orinoco_key {
+ __le16 len; /* always stored as little-endian */
+ char data[ORINOCO_MAX_KEY_SIZE];
+-} __attribute__ ((packed));
++} ;
+
+ typedef enum {
+ FIRMWARE_TYPE_AGERE,
+@@ -45,18 +45,18 @@
+ /* message data item for INT, BOUNDEDINT, ENUMINT */
+ typedef struct p80211item_uint32
+ {
+- uint32_t did __attribute__ ((packed));
+- uint16_t status __attribute__ ((packed));
+- uint16_t len __attribute__ ((packed));
+- uint32_t data __attribute__ ((packed));
+-} __attribute__ ((packed)) p80211item_uint32_t;
++ uint32_t did ;
++ uint16_t status ;
++ uint16_t len ;
++ uint32_t data ;
++} p80211item_uint32_t;
+
+ typedef struct p80211msg
+ {
+- uint32_t msgcode __attribute__ ((packed));
+- uint32_t msglen __attribute__ ((packed));
+- uint8_t devname[WLAN_DEVNAMELEN_MAX] __attribute__ ((packed));
+-} __attribute__ ((packed)) p80211msg_t;
++ uint32_t msgcode ;
++ uint32_t msglen ;
++ uint8_t devname[WLAN_DEVNAMELEN_MAX] ;
++} p80211msg_t;
+
+ #define DIDmsg_lnxind_wlansniffrm 0x0041
+ #define DIDmsg_lnxind_wlansniffrm_hosttime 0x1041
+@@ -85,7 +85,7 @@
+ p80211item_uint32_t rate;
+ p80211item_uint32_t istx;
+ p80211item_uint32_t frmlen;
+-} __attribute__ ((packed)) p80211msg_lnxind_wlansniffrm_t;
++} p80211msg_lnxind_wlansniffrm_t;
+
+ #define P80211ENUM_truth_false 0
+ #define P80211ENUM_truth_true 1
+@@ -186,12 +186,12 @@
+
+ typedef struct p80211ioctl_req
+ {
+- char name[WLAN_DEVNAMELEN_MAX] __attribute__ ((packed));
+- void *data __attribute__ ((packed));
+- uint32_t magic __attribute__ ((packed));
+- uint16_t len __attribute__ ((packed));
+- uint32_t result __attribute__ ((packed));
+-} __attribute__ ((packed)) p80211ioctl_req_t;
++ char name[WLAN_DEVNAMELEN_MAX] ;
++ void *data ;
++ uint32_t magic ;
++ uint16_t len ;
++ uint32_t result ;
++} p80211ioctl_req_t;
+
+ struct orinoco_private {
+ void *card; /* Pointer to card dependent structure */
+diff -u orinoco-0.13e-SN-15.orig/orinoco_cs.c orinoco-0.13e-SN-15/orinoco_cs.c
+--- orinoco-0.13e-SN-15.orig/orinoco_cs.c 2007-05-10 12:30:39.000000000 +0200
++++ orinoco-0.13e-SN-15/orinoco_cs.c 2007-05-10 12:36:58.000000000 +0200
+@@ -431,7 +431,7 @@
+
+ /* Finally, report what we've done */
+ printk(KERN_DEBUG "%s: " DRIVER_NAME " at %s, irq %d, io "
+- "0x%04x-0x%04x\n", dev->name, dev->class_dev.dev->bus_id,
++ "0x%04x-0x%04x\n", dev->name, dev->dev.parent->bus_id,
+ link->irq.AssignedIRQ, link->io.BasePort1,
+ link->io.BasePort1 + link->io.NumPorts1 - 1);
+
diff --git a/net-wireless/orinoco-sn/metadata.xml b/net-wireless/orinoco-sn/metadata.xml
new file mode 100644
index 000000000000..b27ff8eb4ed6
--- /dev/null
+++ b/net-wireless/orinoco-sn/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mobile</herd>
+</pkgmetadata>
diff --git a/net-wireless/orinoco-sn/orinoco-sn-0.13e_pre15.ebuild b/net-wireless/orinoco-sn/orinoco-sn-0.13e_pre15.ebuild
new file mode 100644
index 000000000000..4c16bb8e28e2
--- /dev/null
+++ b/net-wireless/orinoco-sn/orinoco-sn-0.13e_pre15.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit linux-mod eutils
+
+MY_P=${P/-sn}
+MY_P=${MY_P/_pre/-SN-}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="ORiNOCO WLAN drivers for PCMCIA and PCI with extended monitor mode and scanning support"
+HOMEPAGE="http://www.projectiwear.org/~plasmahh/orinoco.html"
+
+SRC_URI="http://www.projectiwear.org/~plasmahh/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2 MPL-1.1"
+SLOT="0"
+KEYWORDS="~ppc ~x86"
+
+IUSE="pcmcia"
+DEPEND="!net-wireless/orinoco-usb"
+RDEPEND="net-wireless/wireless-tools"
+
+BUILD_TARGETS="all"
+MODULESD_ORINOCO_DOCS="README.orinoco"
+
+CONFIG_CHECK="~FW_LOADER !HERMES NET_RADIO"
+ERROR_HERMES="${P} requires Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) (CONFIG_HERMES) to be DISABLED."
+ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
+MODULESD_ORINOCO_NORTEL_ENABLED="no"
+MODULESD_ORINOCO_PCI_ENABLED="no"
+MODULESD_ORINOCO_PLX_ENABLED="no"
+MODULESD_ORINOCO_TMD_ENABLED="no"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ if kernel_is lt 2 6 11; then
+ eerror
+ eerror "${P} requires kernel 2.6.11 or above."
+ eerror
+ die "Kernel version too old."
+ fi
+
+ MODULE_NAMES="hermes(net/wireless:)
+ orinoco(net/wireless:)"
+
+ if linux_chkconfig_present PCI; then
+ MODULE_NAMES="${MODULE_NAMES}
+ orinoco_pci(net/wireless:)
+ orinoco_plx(net/wireless:)
+ orinoco_tmd(net/wireless:)"
+ fi
+
+ if linux_chkconfig_present PPC_PMAC; then
+ MODULE_NAMES="${MODULE_NAMES} airport(net/wireless:)"
+ fi
+
+ if use pcmcia && linux_chkconfig_present PCMCIA; then
+ MODULE_NAMES="${MODULE_NAMES} orinoco_cs(net/wireless:)"
+ fi
+
+ BUILD_PARAMS="KERNEL_PATH=${KV_OUT_DIR}"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/orinoco-sn-2.6.21.patch
+}
+
+src_compile() {
+ linux-mod_src_compile
+
+ if use pcmcia; then
+ emake hermes.conf || die "emake hermes.conf failed"
+ fi
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc NEWS
+
+ if use pcmcia; then
+ insinto /etc/pcmcia
+ doins hermes.conf
+ fi
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ if [[ -e ${ROOT}/lib/modules/${KV_FULL}/pcmcia/orinoco.${KV_OBJ} ]]; then
+ ewarn
+ ewarn "The modules from this package conflicts with the modules installed"
+ ewarn "by the pcmcia-cs package. You will have to manually delete the"
+ ewarn "duplicate modules from the"
+ ewarn " ${ROOT}lib/modules/${KV_FULL}/pcmcia/"
+ ewarn "directory and manually run '/sbin/depmod -ae'"
+ ewarn
+ fi
+}