Broadcom [BCM4360] Wifi not working after fresh install

I am having an issue that seems to happen from time to time to some people, but none of the solutions I have found seem to work.

My wifi is not working.
I was able to connect in the live install environment.
I was able to connect on first boot.
I rebooted without doing anything other than veryfing wifi worked.
Wifi still worked after first reboot.
I then used the garuda assistant to perform a system upgrade, the first step it does. I did not install any of the additional optional software. The upgrade completed with no errors. I then rebooted.
Now wifi does not work and the applet gets stuck at “configuring interface”

Based on searches, I tried the following commands:

[đź”´] Ă— sudo  nmcli dev wifi con "Turtle Reef"
Error: Connection activation failed: Secrets were required, but not provided.

I imagine this does not work since by default the password was stored in kwallet, since I initially entered it in plasma as the non-root user.

However, passing the password into the nmcli command, either with the password flag or the --ask switch yields the same result.

 ╭─igor@kinch in ~ took 561ms
[đź”´] Ă— sudo  nmcli dev wifi con "<my-wifi-ssid>" password "<my-wifi-password>"
Error: Connection activation failed: Secrets were required, but not provided.

 ╭─igor@kinch in ~ took 563ms
[đź”´] Ă— sudo  nmcli dev wifi con "<my-wifi-ssid>" --ask
Password: •••••••••••
Error: Connection activation failed: Secrets were required, but not provided.

I have also tried the same commands after

 ╭─igor@kinch in ~ as 🧙 took 620ms
 ╰─λ sudo nmcli radio wifi off && sudo nmcli radio wifi on

I then deleted the connection using

nmcli connections  # to show connections
nmcli connections delete "<my-wifi-ssid>"
nmcli connections  # to confirm deletion

Then I tried connecting again with the same nmcli commands as above with the same resulting error. However, this time it took about 15 seconds for the error to pop up. It was instant before.

 ╭─igor@kinch in ~ took 561ms
[đź”´] Ă— sudo  nmcli dev wifi con "<my-wifi-ssid>" password "<my-wifi-password>"
Error: Connection activation failed: Secrets were required, but not provided.

 ╭─igor@kinch in ~ took 563ms
[đź”´] Ă— sudo  nmcli dev wifi con "<my-wifi-ssid>" --ask
Password: •••••••••••
Error: Connection activation failed: Secrets were required, but not provided.

I am guessing something got messed up with upgrading from plasma 6.0 to plasma 6.1 and related gear/framework updates that caused kwallet to be confused, but this should not affect trying to connect as root using nmcli, should it?

I really appreciate any help with this!

Per instructions, posting output of garuda-inxi:

 ╭─igor@kinch in ~ as 🧙 took 623ms
 ╰─λ garuda-inxi
System:
  Kernel: 6.10.10-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=9e7b3c99-bfc8-48fb-be11-1652976c102a rw rootflags=subvol=@
    quiet rd.luks.uuid=9c4b8945-6efe-4294-a025-da52b90526bc
    rd.luks.uuid=80cff95d-12de-458c-9f44-2728de874b29
    resume=/dev/mapper/luks-80cff95d-12de-458c-9f44-2728de874b29 loglevel=3
    ibt=off
  Console: pty pts/1 DM: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: Apple product: MacBookPro11,5 v: 1.0
    serial: <superuser required> Chassis: type: 9 v: Mac-06F11F11946D27C5
    serial: <superuser required>
  Mobo: Apple model: Mac-06F11F11946D27C5 v: MacBookPro11,5
    serial: <superuser required> uuid: <superuser required> UEFI: Apple
    v: 430.140.3.0.0 date: 04/18/2022
Battery:
  ID-1: BAT0 charge: 101.1 Wh (100.0%) condition: 101.1/99.4 Wh (101.7%)
    volts: 12.6 min: 11.3 model: SMP bq20z451 type: Li-ion serial: N/A
    status: full cycles: 7
CPU:
  Info: model: Intel Core i7-4870HQ bits: 64 type: MT MCP arch: Haswell
    gen: core 4 level: v3 note: check built: 2013-15 process: Intel 22nm
    family: 6 model-id: 0x46 (70) stepping: 1 microcode: 0x1C
  Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2
    smt: enabled cache: L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB
    desc: 4x256 KiB L3: 6 MiB desc: 1x6 MiB
  Speed (MHz): avg: 3700 min/max: 800/3700 scaling: driver: intel_cpufreq
    governor: performance cores: 1: 3700 2: 3700 3: 3700 4: 3700 5: 3700
    6: 3700 7: 3700 8: 3700 bogomips: 39911
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Venus XT [Radeon HD 8870M / R9
    M270X/M370X] vendor: Apple driver: radeon v: kernel alternate: amdgpu
    arch: GCN-1 code: Southern Islands process: TSMC 28nm built: 2011-20
    pcie: gen: 3 speed: 8 GT/s lanes: 8 link-max: lanes: 16 ports:
    active: eDP-1 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 01:00.0
    chip-ID: 1002:6821 class-ID: 0300 temp: 59.0 C
  Display: unspecified server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.2
    compositor: kwin_wayland driver: X: loaded: radeon unloaded: modesetting
    alternate: fbdev,vesa dri: radeonsi gpu: radeon tty: 78x16
  Monitor-1: eDP-1 model: Apple Color LCD built: 2015 res: 2880x1800
    dpi: 221 gamma: 1.2 size: 331x207mm (13.03x8.15") diag: 390mm (15.4")
    ratio: 16:10 modes: 2880x1800
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi inactive: x11
  API: OpenGL v: 4.5 vendor: mesa v: 24.2.3-arch1.1
    note: console (EGL sourced) renderer: llvmpipe (LLVM 18.1.8 256 bits),
    VERDE (radeonsi LLVM 18.1.8 DRM 2.50 6.10.10-zen1-1-zen)
  API: Vulkan v: 1.3.295 layers: 9 device: 0 type: cpu name: llvmpipe
    (LLVM 18.1.8 256 bits) driver: mesa llvmpipe v: 24.2.3-arch1.1 (LLVM
    18.1.8) device-ID: 10005:0000 surfaces: wayland
Audio:
  Device-1: Intel 8 Series/C220 Series High Definition Audio
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8c20
    class-ID: 0403
  Device-2: Advanced Micro Devices [AMD/ATI] Oland/Hainan/Cape
    Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] vendor: Apple
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8
    link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 1002:aab0 class-ID: 0403
  Device-3: Broadcom 720p FaceTime HD Camera driver: N/A pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 14e4:1570 class-ID: 0480
  API: ALSA v: k6.10.10-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: PipeWire v: 1.2.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Broadcom BCM43602 802.11ac Wireless LAN SoC vendor: Apple
    driver: brcmfmac v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    bus-ID: 04:00.0 chip-ID: 14e4:43ba class-ID: 0280
  IF: wlp4s0 state: down mac: <filter>
  Device-2: ASIX AX88179 Gigabit Ethernet driver: ax88179_178a type: USB
    rev: 3.0 speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-1.1:7
    chip-ID: 0b95:1790 class-ID: ff00 serial: <filter>
  IF: enp0s20u1u1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, sshd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Apple Bluetooth Host Controller driver: btusb,hid-generic,usbhid
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-8:4
    chip-ID: 05ac:8290 class-ID: fe01
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 4.2
    lmp-v: 8 status: discoverable: no pairing: no class-ID: 6c010c
Drives:
  Local Storage: total: 465.92 GiB used: 20.45 GiB (4.4%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Apple model: SSD SM0512G
    size: 465.92 GiB block-size: physical: 4096 B logical: 512 B
    speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 3A0Q scheme: GPT
Partition:
  ID-1: / raw-size: 448.57 GiB size: 448.57 GiB (100.00%)
    used: 20.45 GiB (4.6%) fs: btrfs dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-9c4b8945-6efe-4294-a025-da52b90526bc
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 728 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 448.57 GiB size: 448.57 GiB (100.00%)
    used: 20.45 GiB (4.6%) fs: btrfs dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-9c4b8945-6efe-4294-a025-da52b90526bc
  ID-4: /var/log raw-size: 448.57 GiB size: 448.57 GiB (100.00%)
    used: 20.45 GiB (4.6%) fs: btrfs dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-9c4b8945-6efe-4294-a025-da52b90526bc
  ID-5: /var/tmp raw-size: 448.57 GiB size: 448.57 GiB (100.00%)
    used: 20.45 GiB (4.6%) fs: btrfs dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-9c4b8945-6efe-4294-a025-da52b90526bc
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
    zswap: no
  ID-1: swap-1 type: partition size: 17.05 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/dm-1 maj-min: 254:1
    mapped: luks-80cff95d-12de-458c-9f44-2728de874b29
  ID-2: swap-2 type: zram size: 15.5 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 8 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 57.0 C pch: 61.5 C mobo: N/A gpu: radeon
    temp: 60.0 C
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB available: 15.5 GiB used: 3.23 GiB (20.9%)
  Processes: 373 Power: uptime: 29m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 1 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.19 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1797 libs: 538 tools: octopi,paru Compilers:
    clang: 18.1.8 gcc: 14.2.1 Shell: garuda-inxi default: Bash v: 5.2.32
    running-in: pty pts/1 (SSH) inxi: 3.3.36
Garuda (2.6.26-1):
  System install date:     2024-09-25
  Last full system update: 2024-09-25
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:

I also followed the instructions to connect to wifi using iw and wpa_supplicant on the arch wiki.

The relevant portion of lspci -k:

lspci -k |grep -i broadcom -C 4
04:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)
	Subsystem: Apple Inc. Device 0152
	Kernel driver in use: brcmfmac
	Kernel modules: brcmfmac

This may be an issue:

dmesg | grep firmware
[    8.048074] brcmfmac 0000:04:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro11,5.bin failed with error -2
[    8.053954] brcmfmac 0000:04:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
[    8.060407] brcmfmac 0000:04:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.clm_blob failed with error -2
[    8.060462] brcmfmac 0000:04:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txcap_blob failed with error -2

Might this be the issue?
Could this be due to a problematic firmware package shipped since the live CD was made?
If firmware was not loaded, why can I still scan for access points successfully? I can scan with either plasma applet, nmcli, and wpa_supplicant.

IIt keeps timing out, which I am not sure what it means

> set network 0 ssid "<my-wifi-ssid>"
FAIL
> set_network 0 ssid "<my-wifi-ssid>"
OK
> set_network 0 psk "<my-wifi-passkey"
OK
> enable_network 0
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with SSID '<my-wifi-ssid>'
<3>Associated with 3c:7c:3f:0a:3e:f4
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US
<3>CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US
<3>Authentication with 3c:7c:3f:0a:3e:f4 timed out.
<3>Added BSSID 3c:7c:3f:0a:3e:f4 into ignore list, ignoring for 10 seconds
<3>CTRL-EVENT-DISCONNECTED bssid=3c:7c:3f:0a:3e:f4 reason=3 locally_generated=1
<3>BSSID 3c:7c:3f:0a:3e:f4 ignore list count incremented to 2, ignoring for 10 seconds
<3>CTRL-EVENT-DSCP-POLICY clear_all
<3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
<3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with SSID '<my-wifi-ssid>'
<3>Associated with 3c:7c:3f:0a:3e:f0
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US
<3>CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US
<3>Authentication with 3c:7c:3f:0a:3e:f0 timed out.

Hi there, welcome to the forum.
Please check if this solution helps:

2 Likes

Running the commands shown in the post you linked:

 ╭─igor@kinch in ~ as 🧙 took 2s
 ╰─λ hwinfo --netcard --bluetooth | grep -Ei "(speed|hotplug|model|status|cmd|file|detected|driver:)" | grep -v "Config S"
  Model: "Broadcom BCM43602 802.11ac Wireless LAN SoC"
  Driver: "brcmfmac"
  Device File: wlp4s0
  Link detected: no
    Driver Status: brcmfmac is active
    Driver Activation Cmd: "modprobe brcmfmac"
  Model: "ASIX Electronics AX88179 Gigabit Ethernet"
  Hotplug: USB
  Driver: "ax88179_178a"
  Device File: enp0s20u1u1
  Link detected: yes
    Driver Status: ax88179_178a is active
    Driver Activation Cmd: "modprobe ax88179_178a"

 ╭─igor@kinch in ~ took 339ms
 ╰─λ sudo systemctl stop NetworkManager; sudo modprobe -r wl; sudo modprobe -r brcmfmac; sleep 3; sudo modprobe brcmfmac; sudo systemctl start NetworkManager
modprobe: FATAL: Module wl not found.
modprobe: FATAL: Module brcmfmac is in use.

and after fresh reboot

 ╭─igor@kinch in ~ took 8ms
 ╰─λ hwinfo --netcard --bluetooth | grep -Ei "(speed|hotplug|model|status|cmd|file|detected|driver:)" | grep -v "Config S"
  Model: "Broadcom BCM43602 802.11ac Wireless LAN SoC"
  Driver: "brcmfmac"
  Device File: wlp4s0
  Link detected: no
    Driver Status: brcmfmac is active
    Driver Activation Cmd: "modprobe brcmfmac"
  Model: "ASIX Electronics AX88179 Gigabit Ethernet"
  Hotplug: USB
  Driver: "ax88179_178a"
  Device File: enp0s20u1u1
  Link detected: yes
    Driver Status: ax88179_178a is active
    Driver Activation Cmd: "modprobe ax88179_178a"

 ╭─igor@kinch in ~ took 352ms
 ╰─λ sudo systemctl stop NetworkManager; sudo modprobe -r wl; sudo modprobe -r brcmfmac; sleep 3; sudo modprobe brcmfmac; sudo systemctl start NetworkManager
modprobe: FATAL: Module wl not found.
modprobe: FATAL: Module brcmfmac is in use.

Wifi still not working.

The wl module seems to be missing on my system.
Perhaps that’s been removed in the last 4 years.

So I did a search and found the following “wl*” modules

 ╭─igor@kinch in ~ as 🧙 took 10s
 ╰─λ find /lib/modules -iname "wl*"
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/media/radio/wl128x
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/mfd/wl1273-core.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl1251
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl1251/wl1251_sdio.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl1251/wl1251_spi.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl12xx
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl18xx
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wlcore
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko.zst
/lib/modules/6.10.10-zen1-1-zen/kernel/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko.zst
/lib/modules/6.10.10-zen1-1-zen/build/drivers/media/radio/wl128x
/lib/modules/6.10.10-zen1-1-zen/build/drivers/net/wireless/ti/wl1251
/lib/modules/6.10.10-zen1-1-zen/build/drivers/net/wireless/ti/wl12xx
/lib/modules/6.10.10-zen1-1-zen/build/drivers/net/wireless/ti/wl18xx
/lib/modules/6.10.10-zen1-1-zen/build/drivers/net/wireless/ti/wlcore
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WL1251
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WL1251_SDIO
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WL1251_SPI
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WL12XX
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WL18XX
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_ADMTEK
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_ATH
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_ATMEL
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_BROADCOM
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_INTEL
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_INTERSIL
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_MARVELL
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_MEDIATEK
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_MICROCHIP
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_PURELIFI
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_QUANTENNA
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_RALINK
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_REALTEK
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_RSI
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_SILABS
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_ST
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_TI
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLAN_VENDOR_ZYDAS
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLCORE
/lib/modules/6.10.10-zen1-1-zen/build/include/config/WLCORE_SDIO
/lib/modules/6.10.10-zen1-1-zen/build/include/linux/mfd/wl1273-core.h

Try disabling MAC address randomization:

sudo micro /etc/NetworkManager/conf.d/wifi_rand_mac.conf
[device]
wifi.scan-rand-mac-address=no

If that doesn’t work, I would still try switching to the LTS kernel…

sudo pacman -S linux-lts linux-lts-headers
3 Likes

Still same issue.
I double checked that I was booting into the 6.6 LTS kernel and not the 6.10 zen kernel. With the LTS kernel, I still can’t connect to wifi.
I also disabled low power mode wit hno effect.

In addition to the LTS kernel you should also test at least several other kernels.

sudo pacman -S linux-hardened linux-hardened-headers

sudo pacman -S linux-mainline linux-mainline-headers

Switch kernels using the advanced grub menu at startup.


The wl driver will only be on your system if you had explicitly installed it. On the thread @filo linked the user must have erroneously installed that driver,. We’ll run different set of commands for you.

Copy and paste the sequence of commands below into your terminal and run them all at once together:

nmcli networking off
sleep .5
sudo systemctl stop NetworkManager
sleep .5
sudo ip link set wlp4s0 down
sudo modprobe -rv ssb
sudo modprobe -rv brcm80211
sudo modprobe -rv bcma
sudo modprobe -rv btusb
sudo modprobe -rv brcmfmac
sleep 3
sudo rfkill unblock wifi
sudo modprobe -v brcmfmac
sudo ip link set wlp4s0 mode default
sleep .5
sudo ip link set wlp4s0 up
sleep .5
sudo modprobe -v btusb
sleep .5
sudo systemctl start NetworkManager
nmcli networking on
nmcli r wifi off
nmcli r wifi on

Please post the entire input and output of the sequence of commands above.

Please also post:

sudo dmesg | grep brcmfmac

Unfortunately, this is one of Broadcoms many problematic wifi adapter’s that are often very difficult to get working properly. Hopefully we can get you fixed up @igor42.


4 Likes

If my prior suggestions didn’t help, you may want to implement my suggestion below.


I think it’s possible a wpa_supplicant update could be responsible for breaking your Broadcom wifi, as your symptoms seem similar to several instances where this has occurred in the past. You could always try downgrading wpa_supplicant , but it might be better to switch to using iwd instead. IWD tends to play better with some of the more flakey Broadcom wifi chips. Switching from wpa_supplicant to iwd may possibly fix your current issues.


How to replace wpa_supplicant with iwd:


With a text editor, create the required iwd configuration file for Network Manager:

/etc/NetworkManager/conf.d/wifi_backend.conf

With the following contents:

[device]
wifi.backend=iwd

Then, save the configuration file.


Next, Install and enable iwd, and mask wpa_supplicant:

sudo pacman -Syu iwd 
systemctl stop NetworkManager
systemctl stop wpa_supplicant
systemctl mask wpa_supplicant
systemctl enable --now iwd.service
systemctl daemon-reload
systemctl start NetworkManager

A reboot could possibly be required, if restarting Network Manager doesn’t immediately correct your connectivity issues.



If switching to iwd is no improvement, then the changes can easily be reverted.


How to revert your changes and restore wpa_supplicant:


To restore wpa_supplicant, comment out the lines you created in /etc/NetworkManager/conf.d/wifi_backend.conf , as so:

#[device]
#wifi.backend=iwd

Save the changes, then execute:

systemctl stop NetworkManager
systemctl disable --now iwd.service
systemctl mask iwd.service
systemctl unmask wpa_supplicant
systemctl enable --now wpa_supplicant
systemctl daemon-reload 
systemctl start NetworkManager

A reboot may be required afterwards to fully revert your changes.


IWD often improves reliability with Broadcom adapters, so it’s definitely worth giving it a try.


Good luck :crossed_fingers:


7 Likes

The first script with a lot of modprobes did not work.

Switching to iwd worked!

Thank you very much!!!

2 Likes

You’re very welcome @igor42.

I’m glad to see IWD worked out for you. For some reason Broadcom adapters seem prone to breakages when using wpa_supplicant, (when other brands of WiFi adapters are not affected). Generally it’s best to avoid Broadcom WiFi adapters entirely if using Linux, but I know many love their Apple hardware and giving it up is as difficult as kicking crack. :rofl:

The reason I do not recommend deleting /etc/NetworkManager/conf.d/wifi_backend.conf, when switching back to wpa_supplicant is that it saves a step if you ever want to switch back and forth between the two. That way you can simply uncomment the lines and re-enable the iwd.service once again to switch back to iwd. IWD can suffer breakages as well at times , but it seems less frequent than with wpa_supplicant. So if your WiFi goes down again in the future you can easily switch back and forth between the two services. It just saves a step with commenting, rather than having to recreate the required configuration file again.

Again, welcome to the Garuda community @igor42. :wave:

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.