Dell 3520 This laptop has a clean install dual boot Win10pro/Ubuntu Desktop 24.04.2 LTS. Under Win both wired and wireless ethernet (wifi) work with the installed drivers (BT does not). Device manager show the wifi driver as "Dell Wireless 1704.802.11 etc" made by Broadcom. The wifi radio can be toggled on/off using Fn+F2.
Under Ubu only the wired ethernet works. If I look in the system tray only the wired network shows active. There is an inactive BT icon which has a toggle but it turns off immediately when switched on. If I use Fn+F2, I can tell when the radio is off or on due to the toggle being greyed out or not. There is no separate wifi icon as I have seen on another install.
Updater showed 1 proprietary driver in use: BCM43142 802.11b/g/n (Wireless 1704 802.11n+BT4.0) using dkms source for the Broadcom STA Wireless driver from broadcom-sta-dkms
Since this driver isn't working, I used the updater to remove this driver, and then:
$sudo apt-get update
$sudo apt-get install broadcom-sta-dkms
Which was no help. This hw/driver is still reported as UNCLAIMED
Is there another driver or diagnostic step to get the wifi working? I don't care about BT.
$sudo lshw -C network
*-network UNCLAIMED
description: Network controller
product: BCM43142 802.11b/g/n
vendor: Broadcom Inc. and subsidiaries
physical id: 0
bus info: pci@0000:07:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress cap_list
configuration: latency=0
resources: memory:f7c00000-f7c07fff
*-network
description: Ethernet interface
product: RTL810xE PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:09:00.0
logical name: enp9s0
version: 05
serial: e0:db:55:94:50:3f
size: 100Mbit/s
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=6.11.0-19-generic duplex=full firmware=rtl_nic/rtl8105e-1.fw ip=192.168.1.116 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
resources: irq:17 ioport:e000(size=256) memory:f0004000-f0004fff memory:f0000000-f0003fff
$iwconfig
lo no wireless extensions.
enp9s0 no wireless extensions.
$lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Bus 001 Device 004: ID 0c45:6473 Microdia Laptop_Integrated_Webcam_HD
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 003: ID 0bda:0138 Realtek Semiconductor Corp. RTS5138 Card Reader Controller
$ifconfig
enp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.116 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e2db:55ff:fe94:503f prefixlen 64 scopeid 0x20<link>
ether e0:db:55:94:50:3f txqueuelen 1000 (Ethernet)
RX packets 302 bytes 236196 (236.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 388 bytes 40406 (40.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 234 bytes 22444 (22.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 234 bytes 22444 (22.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Following the link "Installing Broadcom Wireless Drivers" above, I purged the dkms driver and installed the one associated with my PCID [14e4:4365] which was the firmware-b43-installer/linux-firmware (this is incorrect - use the bcmwl-kernel-source noted below):
$sudo apt-get purge broadcom-sta-dkms
$sudo apt update
$sudo update-pciids
$sudo apt install firmware-b43-installer
$sudo apt install linux-firmware
I didn't see any change so:
$sudo modprobe -r b43
$sudo modprobe
$sudo rfkill unblock all
$sudo lshw -C network
*-network
description: Network controller
product: BCM43142 802.11b/g/n
vendor: Broadcom Inc. and subsidiaries
physical id: 0
bus info: pci@0000:07:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=bcma-pci-bridge latency=0
resources: irq:19 memory:f7c00000-f7c07fff
The wifi hw/driver is no longer UNCLAIMED, and I can toggle the BT on in the system tray, but I still have no wifi or wifi toggle or any icon for wifi. Only the wired network works.
$mokutil --sb
SecureBoot enabled
Disabling secureboot has made no difference. With SB off, purging the b43 driver and reinstalling it made no difference. Somewhere along this path the BT toggle returned to where it cannot be switched on.
Finally some progress. When I had looked at the Broadcom wireless hw table, I failed to see that my [14e4:4365] (rev 01) actually matched the bcmwl driver.
(purge prior drivers first)
$sudo apt install bcmwl-kernel-source
$sudo apt install linux-firmware
$sudo reboot
This seems to install the original broadcom-sta-dkms plus the bcmwl-kernel-source. I now have working wifi. BT is still hopeless, but that is another day. Its possible that if I hadn't turned on secureboot at the start of my OS installs I would never have had an issue with wifi.
$cd /lib/firmware/brcm
$sudo wget https://github.com/winterheart/broadcom-bt-firmware/raw/refs/heads/master/brcm/BCM43142A0-0a5c-21d7.hcd
This fixed the BT issues. Wifi and BT now working.
I discovered a well-known aspect of dual-boot and BT. Every pairing of the mouse can erase the prior one. I didn't see that coming. I see there are convoluted key-copying tricks that may solve this, but maybe its simpler to keep a second mouse around or a wired mouse if you aren't mobile.