summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2009-03-10 17:27:20 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2009-03-10 17:27:20 +0000
commit8fbcde563f50e952500cf64e033f9ed02c8a4c63 (patch)
tree93344792f9d6bbd584ac03b029d44ea97b551f0c /net-wireless
parentAdded Broadcom LICENSE for net-wireless/broadcom-sta. (diff)
downloadgentoo-2-8fbcde563f50e952500cf64e033f9ed02c8a4c63.tar.gz
gentoo-2-8fbcde563f50e952500cf64e033f9ed02c8a4c63.tar.bz2
gentoo-2-8fbcde563f50e952500cf64e033f9ed02c8a4c63.zip
Initial import, bug #248450.
(Portage version: 2.1.6.7/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/broadcom-sta/ChangeLog12
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-5.10.79.10.ebuild46
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-hidden-essid.patch11
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-linux-2.6.29.patch174
-rw-r--r--net-wireless/broadcom-sta/metadata.xml9
5 files changed, 252 insertions, 0 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog
new file mode 100644
index 000000000000..c45c305eee58
--- /dev/null
+++ b/net-wireless/broadcom-sta/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for net-wireless/broadcom-sta
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.1 2009/03/10 17:27:12 matsuu Exp $
+
+*broadcom-sta-5.10.79.10 (10 Mar 2009)
+
+ 10 Mar 2009; MATSUU Takuto <matsuu@gentoo.org>
+ +files/broadcom-sta-5.10.79.10-hidden-essid.patch,
+ +files/broadcom-sta-5.10.79.10-linux-2.6.29.patch, +metadata.xml,
+ +broadcom-sta-5.10.79.10.ebuild:
+ Initial import, bug #248450.
+
diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10.ebuild
new file mode 100644
index 000000000000..5082f5f1d02f
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10.ebuild,v 1.1 2009/03/10 17:27:12 matsuu Exp $
+
+inherit eutils linux-mod versionator
+
+MY_PV="$(replace_all_version_separators _)"
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver."
+HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86"
+SRC_URI="
+ x86? ( ${SRC_BASE}_32-v${MY_PV}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-v${MY_PV}.tar.gz )"
+
+LICENSE="Broadcom"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RESTRICT="mirror"
+
+DEPEND=">=virtual/linux-sources-2.6.22"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ if kernel_is ge 2 6 29; then
+ CONFIG_CHECK="LIB80211"
+ else
+ CONFIG_CHECK="IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+ linux-mod_pkg_setup
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch \
+ "${FILESDIR}/${P}-hidden-essid.patch" \
+ "${FILESDIR}/${P}-linux-2.6.29.patch"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-hidden-essid.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-hidden-essid.patch
new file mode 100644
index 000000000000..1a7e063630b0
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-hidden-essid.patch
@@ -0,0 +1,11 @@
+diff -Naur ori/src/wl/sys/wl_iw.c edit/src/wl/sys/wl_iw.c
+--- ori/src/wl/sys/wl_iw.c 2009-02-09 22:43:18.000000000 +0100
++++ edit/src/wl/sys/wl_iw.c 2009-03-06 19:00:55.271406043 +0100
+@@ -580,6 +580,7 @@
+ range->enc_capa |= IW_ENC_CAPA_CIPHER_TKIP;
+ range->enc_capa |= IW_ENC_CAPA_CIPHER_CCMP;
+ range->enc_capa |= IW_ENC_CAPA_WPA2;
++ range->scan_capa = IW_SCAN_CAPA_ESSID;
+ #endif
+
+ return 0;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-linux-2.6.29.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-linux-2.6.29.patch
new file mode 100644
index 000000000000..92593787e959
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-linux-2.6.29.patch
@@ -0,0 +1,174 @@
+diff -u -r a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
+--- a/src/wl/sys/wl_iw.c 2009-01-19 23:02:56.000000000 +0100
++++ b/src/wl/sys/wl_iw.c 2009-01-24 12:33:59.810703840 +0100
+@@ -610,7 +610,11 @@
+ char *extra
+ )
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+ struct sockaddr *addr = (struct sockaddr *) extra;
+ int i;
+
+@@ -635,7 +639,11 @@
+ char *extra
+ )
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+ struct sockaddr *addr = (struct sockaddr *) extra;
+ struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num];
+ int i;
+@@ -1111,7 +1119,11 @@
+ char *extra
+ )
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+
+ WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name));
+
+@@ -1135,7 +1147,11 @@
+ char *extra
+ )
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+
+ WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name));
+
+@@ -1795,7 +1811,11 @@
+ int paramid;
+ int paramval;
+ int val = 0;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+
+ WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name));
+
+@@ -1926,7 +1946,11 @@
+ int paramid;
+ int paramval = 0;
+ int val;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_iw_t *iw = netdev_priv(dev);
++#else
+ wl_iw_t *iw = dev->priv;
++#endif
+
+ WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name));
+
+diff -u -r a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+--- a/src/wl/sys/wl_linux.c 2009-01-19 23:03:09.000000000 +0100
++++ b/src/wl/sys/wl_linux.c 2009-01-24 13:55:13.397012940 +0100
+@@ -53,6 +53,9 @@
+ #include <linux/pci_ids.h>
+ #define WLC_MAXBSSCFG 1
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++#include <net/lib80211.h>
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
+ #include <net/ieee80211.h>
+ #endif
+@@ -149,7 +152,11 @@
+ bool resched;
+ uint32 pci_psstate[16];
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ struct lib80211_crypto_ops *tkipmodops;
++#else
+ struct ieee80211_crypto_ops *tkipmodops;
++#endif
+ struct ieee80211_tkip_data *tkip_ucast_data;
+ struct ieee80211_tkip_data *tkip_bcast_data;
+ #endif
+@@ -190,7 +197,11 @@
+
+ static int wl_found = 0;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++#define WL_DEV_IF(dev) ((wl_if_t*)netdev_priv(dev))
++#else
+ #define WL_DEV_IF(dev) ((wl_if_t*)(dev)->priv)
++#endif
+ #define WL_INFO(dev) ((wl_info_t*)(WL_DEV_IF(dev)->wl))
+
+ #define WL_LOCK(wl) spin_lock_bh(&(wl)->lock)
+@@ -350,6 +361,9 @@
+ dev = wlif->dev;
+ wl->dev = dev;
+ wl_if_setup(dev);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wlif = netdev_priv(dev);
++#endif
+
+ dev->base_addr = regs;
+
+@@ -423,10 +437,19 @@
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP");
++#else
+ wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
++#endif
+ if (wl->tkipmodops == NULL) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ request_module("lib80211");
++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP");
++#else
+ request_module("ieee80211_crypt_tkip");
+ wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
++#endif
+ }
+ #endif
+ #ifdef CONFIG_WIRELESS_EXT
+@@ -725,7 +748,11 @@
+ }
+
+ if (wl->monitor) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor));
++#else
+ wl_free_if(wl, (wl_if_t *)(wl->monitor->priv));
++#endif
+ wl->monitor = NULL;
+ }
+
+@@ -895,6 +922,9 @@
+ #else
+
+ dev = alloc_netdev(0, name, ether_setup);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++ wlif = netdev_priv(dev);
++#endif
+ if (!dev) {
+ MFREE(wl->osh, wlif, sizeof(wl_if_t));
+ WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n",
+@@ -908,7 +938,9 @@
+ wlif->wl = wl;
+ wlif->wlcif = wlcif;
+ wlif->subunit = subunit;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ dev->priv = wlif;
++#endif
+
+ if (iftype != WL_IFTYPE_MON && wl->dev && netif_queue_stopped(wl->dev))
+ netif_stop_queue(dev);
diff --git a/net-wireless/broadcom-sta/metadata.xml b/net-wireless/broadcom-sta/metadata.xml
new file mode 100644
index 000000000000..5b14597b8ad0
--- /dev/null
+++ b/net-wireless/broadcom-sta/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+<email>matsuu@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
+