Broadcom Wireless Driver Keeps Disconnecting

A while ago, I installed Ubuntu 16.04 on my new laptop, and there was no working wireless driver. I asked how to fix it here, and was advised to install bcmwl-kernel-source. This worked, but my wireless has been randomly disconnecting, often taking a really long time before it reconnects, and I'm pretty sure it's also a lot slower than it should be. I googled this and it's apparently a common problem. I came across this forum post, which advises to do the following:

sudo apt-get remove --purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf #ignore any error or cant find,,,on this line
sudo apt-get update
sudo apt-get install linux-firmware-nonfree
sudo modprobe b43

reboot

Since linux-firmware-nonfree doesn't contain the Broadcom drivers any more, I replaced the fourth line with:

sudo apt-get install firmware-b43-installer

as advised by this forum post. After doing this, I'm back to square one, with (apparently) no wireless, the network menu not showing any wireless options. The network entry given by

sudo lshw

is as follows:

*-network
   description: Network controller
   product: BCM43142 b/g/n
   vendor: Broadcom Corporation
   physical id: 0
   bus info: pci@0000:02:00.0
   version: 01
   width: 64 bits
   clock: 33 MHz
   capabilities: pm msi pciexpress bus_master cap_list
   configuration: driver=bcma-pci-bridge latency=0
   resources: irq:36 memory:f0c00000-f0c07fff

Now I'm thinking, since that firmware-b43-installer is called "installer", do I still have to do something with it to get the actual driver installed? What else could I conceivably do? The second forum post also suggests you might need to install firmware-b43legacy-installer instead. I tried that and I'm going to reboot, but I've typed this much so I'm going to post this anyway, and anyhow I'm pretty sure that my brand-new 2016 computer with a driver version that's not even listed on Broadcom's own site doesn't need a "legacy" driver.

It also occurs to me that the lshw entry for network (that is, the one that comes up when I'm using the crappy bcmwl-kernel-source driver) also has "broadcast=yes" listed under "config", is it maybe just configured wrong at the moment? How could I reconfigure it?

I know I haven't done all that much myself, but I've kind of exhausted my Google skills and nothing I've found has been by anyone using my device or using Ubuntu 16, so I'm not sure what else to do but ask here. Do you guys have any idea how I can fix this?

EDIT: By the way, this is what lshw brings up after I reinstalled bcmwl-kernel-source, which is still functional but keeps disconnecting all the damn time.

           *-network
                description: Wireless interface
                product: BCM43142 802.11b/g/n
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:02:00.0
                logical name: wlo1
                version: 01
                serial: 48:e2:44:de:a8:11
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=wl0 driverversion=6.30.223.248 (r487574) ip=192.168.178.143 latency=0 multicast=yes wireless=IEEE 802.11abg
                resources: irq:38 memory:f0c00000-f0c07fff

Posted May 29, 2016, 7:18 PM UTC · edited

36
Loading comments…