diff options
author | 2009-03-10 17:27:20 +0000 | |
---|---|---|
committer | 2009-03-10 17:27:20 +0000 | |
commit | 8fbcde563f50e952500cf64e033f9ed02c8a4c63 (patch) | |
tree | 93344792f9d6bbd584ac03b029d44ea97b551f0c /net-wireless | |
parent | Added Broadcom LICENSE for net-wireless/broadcom-sta. (diff) | |
download | gentoo-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')
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> + |