Download previous source of driver version bcmwl-5.60.48.36
In file src/include/wl_linux.h replace #include <linux/autoconf.h> to
<generated/autoconf.h>
in file src/wl/sys/wl_linux.c find function wl_set_multicast_list (sting 1416)
and replace it all on
static void
_wl_set_multicast_list(struct net_device *dev)
{
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
struct dev_mc_list *mclist;
#else
struct netdev_hw_addr *ha;
int num;
#endif
wl_info_t *wl;
int i, buflen;
struct maclist *maclist;
bool allmulti;
if (!dev)
return;
wl = WL_INFO(dev);
WL_TRACE(("wl%d: wl_set_multicast_list\n", wl->pub->unit));
if (wl->pub->up) {
allmulti = (dev->flags & IFF_ALLMULTI)? TRUE: FALSE;
buflen = sizeof(struct maclist) + (MAXMULTILIST *
ETHER_ADDR_LEN);
if ((maclist = MALLOC(wl->pub->osh, buflen)) == NULL) {
return;
}
i = 0;
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
for (mclist = dev->mc_list; mclist && (i < dev->mc_count);
mclist = mclist->next) {
if (i >= MAXMULTILIST) {
allmulti = TRUE;
i = 0;
break;
}
bcopy(mclist->dmi_addr, &maclist->ea[i++],
ETHER_ADDR_LEN);
}
#else
num = min_t(int, netdev_mc_count(dev), MAXMULTILIST);
netdev_for_each_mc_addr(ha, dev) {
if (i >= num) {
allmulti = TRUE;
i = 0;
break;
}
bcopy(ha->addr, &maclist->ea[i++], ETHER_ADDR_LEN);
}
#endif
maclist->count = i;
WL_LOCK(wl);
wlc_iovar_setint(wl->wlc, "allmulti", allmulti);
wlc_set(wl->wlc, WLC_SET_PROMISC, (dev->flags & IFF_PROMISC));
wlc_iovar_op(wl->wlc, "mcast_list", NULL, 0, maclist,
buflen, IOV_SET, NULL);
WL_UNLOCK(wl);
MFREE(wl->pub->osh, maclist, buflen);
}
}
Compile and install new driver.
I have linux kernel 3.0.17. The driver is working for me.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/732677
Title:
bcmwl 5.100.82.38+bdcom-0ubuntu2 not work on BCM4311/4312
To manage notifications about this bug go to:
https://bugs.launchpad.net/broadcom-sta/+bug/732677/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs