So, after a bit of hacking around, I was able to get my BCM4313 working with the latest bcmwl-6.30.223.30 and the latest kernel 3.10.0.
I think the main problem that I originally had, and that others
( https://mail.gnome.org/archives/networkmanager-list/2013-February/msg00125.html )
started having was due to the bcmwl driver changing to use API=CFG80211 (the current make default) instead of API=WEXT, which I assume it was using before? Well, switching back to WEXT made things work for me.
Getting it to compile with 3.10.0 was an additional tangential hurdle -- the function "create_proc_entry" no longer exists. Perhaps something like this should do the trick:
So, after a bit of hacking around, I was able to get my BCM4313 working with the latest bcmwl-6.30.223.30 and the latest kernel 3.10.0.
I think the main problem that I originally had, and that others /mail.gnome. org/archives/ networkmanager- list/2013- February/ msg00125. html )
( https:/
started having was due to the bcmwl driver changing to use API=CFG80211 (the current make default) instead of API=WEXT, which I assume it was using before? Well, switching back to WEXT made things work for me.
Getting it to compile with 3.10.0 was an additional tangential hurdle -- the function "create_proc_entry" no longer exists. Perhaps something like this should do the trick:
--- wl_linux.c 2013-07-31 21:28:10.000000000 -0400 wl_linux. c 2013-07-31 23:18:22.000000000 -0400
+++ /sloppyhacked/
@@ -3461,19 +3461,27 @@
return length;
}
+static const struct file_operations wlp_fops = { proc_entry( wl_info_ t *wl)
sprintf( tmp, "%s%d", HYBRID_PROC, wl->pub->unit); proc_entry( tmp, 0644, NULL)) == NULL) {
WL_ERROR( ("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
ASSERT( 0);
return -1;
wl->proc_ entry-> read_proc = wl_proc_read;
wl->proc_ entry-> write_proc = wl_proc_write;
wl->proc_ entry-> data = wl;
+ .owner = THIS_MODULE,
+ .read = wl_proc_read,
+ .write = wl_proc_write
+};
+
static int
wl_reg_
{
char tmp[32];
- if ((wl->proc_entry = create_
+ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wlp_fops)) == NULL) {
}
+/*
+*/
return 0;
}
#ifdef WLOFFLD