0

I believe I've tried all proposed solutions for other questions involving the Broadcom BCM4352 wifi hardware, but on a fresh install of Ubuntu 16.10 on a Dell XPS 13 9343 (2015) I cannot get the system to recognise the device.

Output of sudo lshw -C network:

  *-network
       description: Network controller
       product: BCM4352 802.11ac Wireless Network Adapter
       vendor: Broadcom Limited
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 03
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=bcma-pci-bridge latency=0
       resources: irq:19 memory:f7200000-f7207fff memory:f7000000-f71fffff

Output of rfkill list all (only bluetooth is recognised, not wifi):

2: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

Output of lspci -knn | grep -A2 Net:

02:00.0 Network controller [0280]: Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
    Subsystem: Dell BCM4352 802.11ac Wireless Network Adapter [1028:0019]
    Kernel driver in use: bcma-pci-bridge
    Kernel modules: bcma, wl

Secure boot is disabled in the BIOS:

enter image description here

Wifi hardware is not shown in the Network Manager indicator:

enter image description here

I have selected bcmwl-kernel-source from the additional drivers application:

enter image description here

The wl module is loaded and and I have tried removing and reloading it.

I have also tried unloading wl, uninstalling and purging bcmwl-kernel-source and installing firmware-b43-installer and b43-fwcutter, but the problem remains the same.

The wireless hardware works in Windows 10 and older versions of Ubuntu up until 16.04 so there is no question of a hardware fault.

What else can I try to get the device working or debug the problem?

1 Answers1

1

We have found that, even though it is properly blacklisted, bcma loads anyway!! Let's correct it in rc.local.

Please do:

gksudo gedit /etc/systemd/system/rc-local.service

Put in the following:

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

Proofread carefully, save and close the text editor. Next:

gksudo gedit /etc/rc.local

Place the following:

#!/bin/sh -e

modprobe -r wl
modprobe -r bcma
modprobe wl

exit 0

Proofread carefully, save and close the text editor. Next:

sudo chmod +rx /etc/rc.local

sudo systemctl enable rc-local

sudo systemctl start rc-local.service
sudo systemctl status rc-local.service

If there are no errors, reboot and test.

chili555
  • 61,330