summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/broadcom-sta/bc_wl_abiupdate.patch21
-rw-r--r--network/broadcom-sta/broadcom-sta.SlackBuild10
-rw-r--r--network/broadcom-sta/broadcom-sta.info8
-rw-r--r--network/broadcom-sta/linux-recent.patch102
4 files changed, 111 insertions, 30 deletions
diff --git a/network/broadcom-sta/bc_wl_abiupdate.patch b/network/broadcom-sta/bc_wl_abiupdate.patch
deleted file mode 100644
index 0e6e639b02..0000000000
--- a/network/broadcom-sta/bc_wl_abiupdate.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/src/wl/sys/wl_linux.c 2009-06-19 12:30:52.000000000 -0500
-+++ b/src/wl/sys/wl_linux.c 2011-01-11 22:21:10.623044411 -0600
-
-332c332
-< .ndo_set_multicast_list = wl_set_multicast_list,
----
-> .ndo_set_rx_mode = wl_set_multicast_list,
-
-
---- a/src/wl/sys/wl_linux.c
-+++ b/src/wl/sys/wl_linux.c
-@@ -40,7 +40,9 @@
- #include <linux/pci_ids.h>
- #define WLC_MAXBSSCFG 1
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
- #include <asm/system.h>
-+#endif
- #include <asm/io.h>
- #include <asm/irq.h>
- #include <asm/pgtable.h>
diff --git a/network/broadcom-sta/broadcom-sta.SlackBuild b/network/broadcom-sta/broadcom-sta.SlackBuild
index 161d0c57ef..d3f43734eb 100644
--- a/network/broadcom-sta/broadcom-sta.SlackBuild
+++ b/network/broadcom-sta/broadcom-sta.SlackBuild
@@ -4,7 +4,7 @@
# Public domain.
PRGNAM=broadcom-sta
-VERSION=5.100.82.112
+VERSION=6.30.223.141
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
@@ -27,9 +27,9 @@ WORKDIR=$TMP/build-$PRGNAM
# Skipped the usual set of variables since they don't apply here
# (libdir isn't needed, and custom CFLAGS aren't wanted).
if [ "$ARCH" = "i486" ]; then
- MY_ARCH="x86_32"
+ MY_ARCH=""
elif [ "$ARCH" = "x86_64" ]; then
- MY_ARCH="x86_64"
+ MY_ARCH="_64"
else
printf "\n\n$ARCH is not supported...\n"
exit 1
@@ -40,9 +40,9 @@ set -e
rm -rf $WORKDIR $PKG
mkdir -p $TMP $WORKDIR $PKG $OUTPUT
cd $WORKDIR
-tar xvf $CWD/hybrid-portsrc_${MY_ARCH}-v$(printf $VERSION|tr . _).tar.gz
+tar xvf $CWD/hybrid-v35${MY_ARCH}-nodebug-pcoem-$(printf $VERSION|tr . _).tar.gz
-patch -p1 < $CWD/bc_wl_abiupdate.patch
+patch -p2 < $CWD/linux-recent.patch
# Build the module
make -C /lib/modules/$KERNEL/build M=$WORKDIR clean
diff --git a/network/broadcom-sta/broadcom-sta.info b/network/broadcom-sta/broadcom-sta.info
index 98cf9012b6..77bd38cb21 100644
--- a/network/broadcom-sta/broadcom-sta.info
+++ b/network/broadcom-sta/broadcom-sta.info
@@ -1,10 +1,10 @@
PRGNAM="broadcom-sta"
VERSION="5.100.82.112"
HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz"
-MD5SUM="62d04d148b99f993ef575a71332593a9"
-DOWNLOAD_x86_64="http://ponce.cc/slackware/sources/repo/hybrid-portsrc_x86_64-v5_100_82_112.tar.gz"
-MD5SUM_x86_64="310d7ce233a9a352fbe62c451b2ea309"
+DOWNLOAD="http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_141.tar.gz"
+MD5SUM="f4809d9149e8e60ef95021ae93a4bf21"
+DOWNLOAD_x86_64="http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz"
+MD5SUM_x86_64="039f33d2a3ff2890e42717092d1eb0c4"
REQUIRES=""
MAINTAINER="David Matthew Jerry Koenig"
EMAIL="koenigdavidmj@gmail.com"
diff --git a/network/broadcom-sta/linux-recent.patch b/network/broadcom-sta/linux-recent.patch
new file mode 100644
index 0000000000..c575f289a2
--- /dev/null
+++ b/network/broadcom-sta/linux-recent.patch
@@ -0,0 +1,102 @@
+diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c
+--- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c 2013-04-23 12:31:31.011588881 +0200
++++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c 2013-05-20 18:27:18.830187333 +0200
+@@ -3229,7 +3229,12 @@
+ wl_tkip_printstats(wl_info_t *wl, bool group_key)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++ struct seq_file sfile;
++ struct seq_file *debug_buf = &sfile;
++#else
+ char debug_buf[512];
++#endif
+ int idx;
+ if (wl->tkipmodops) {
+ if (group_key) {
+@@ -3242,7 +3247,11 @@
+ wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
+ else
+ return;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++ printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast");
++#else
+ printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast");
++#endif
+ }
+ #endif
+ }
+@@ -3401,17 +3410,24 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
++#else
++static ssize_t
++wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data)
++#endif
+ {
+ wl_info_t * wl = (wl_info_t *)data;
+ int bcmerror, to_user;
+ int len;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ if (offset > 0) {
+ *eof = 1;
+ return 0;
+ }
++#endif
+
+ if (!length) {
+ WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
+@@ -3424,8 +3440,13 @@
+ return len;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
++#else
++static ssize_t
++wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data)
++#endif
+ {
+ wl_info_t * wl = (wl_info_t *)data;
+ int from_user = 0;
+@@ -3455,19 +3476,34 @@
+ return length;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++static const struct file_operations wl_fops = {
++ .owner = THIS_MODULE,
++ .read = wl_proc_read,
++ .write = wl_proc_write,
++};
++#endif
++
+ static int
+ wl_reg_proc_entry(wl_info_t *wl)
+ {
+ char tmp[32];
+ sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
+ WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
++#else
++ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
++ WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
++#endif
+ ASSERT(0);
+ return -1;
+ }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ wl->proc_entry->read_proc = wl_proc_read;
+ wl->proc_entry->write_proc = wl_proc_write;
+ wl->proc_entry->data = wl;
++#endif
+ return 0;
+ }
+ #ifdef WLOFFLD