Just started giving a modern desktop linux distro a shot. Using a Mac Book Pro from 2017, and while almost everything was up and running quickly, I’m having trouble with my wifi card. It partially works but is not picking up 5 Ghz signals.
Issue appears to be linked to a channel issue. Changing the wireless channel to a lower channel number (like 40 or, if your router show MHz instead of channel numbers, like 5200 MHz or 5280 MHz) seems to allow connection to 5GHz bands. If your router has the same SSID for the 2.4GHZ and 5GHZ, this can fix problems with your wireless connection being unstable or very slow.
While I did switch my router to 40 and the width to 40 MHz, it’s still not listed in the wifi networks I can connect to.
After restart: Seems like nothing has changed. The only networks listed are around ~2.5 Ghz frequency instead of the 5 Ghz network broadcast from 3 ft away.
Any other options come to mind? Maybe I need to uninstall the previous driver?
Couldn’t edit previous post, asked around and learned about the dmesg and journalctl commands:
ay@localhost:~> journalctl -b | grep brcmfmac
Hint: You are currently not seeing messages from other users and the system.
Users in the 'systemd-journal' group can see all messages. Pass -q to
turn off this notice.
jay@localhost:~> sudo journalctl -b | grep brcmfmac
[sudo] password for root:
Aug 13 15:20:47 localhost kernel: usbcore: registered new interface driver **brcmfmac**
Aug 13 15:20:47 localhost kernel: **brcmfmac**: brcmf_fw_alloc_request: using brcm/**brcmfmac**43602-pcie for chip BCM43602/2
Aug 13 15:20:47 localhost kernel: **brcmfmac** 0000:03:00.0: Direct firmware load for brcm/**brcmfmac**43602-pcie.Apple Inc.-MacBookPro13,3.bin failed with error -2
Aug 13 15:20:47 localhost kernel: **brcmfmac** 0000:03:00.0: Direct firmware load for brcm/**brcmfmac**43602-pcie.Apple Inc.-MacBookPro13,3.txt failed with error -2
Aug 13 15:20:47 localhost kernel: **brcmfmac** 0000:03:00.0: Direct firmware load for brcm/**brcmfmac**43602-pcie.txt failed with error -2
Aug 13 15:20:47 localhost kernel: **brcmfmac**: brcmf_fw_alloc_request: using brcm/**brcmfmac**43602-pcie for chip BCM43602/2
Aug 13 15:20:47 localhost kernel: **brcmfmac**: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
Aug 13 15:20:47 localhost kernel: **brcmfmac**: brcmf_c_preinit_dcmds: Firmware: BCM43602/2 wl0: Nov 10 2015 06:38:10 version 7.35.177.61 (r598657) FWID 01-ea662a8c
Aug 13 15:20:48 localhost kernel: **brcmfmac** 0000:03:00.0 wlp3s0: renamed from wlan0
Aug 13 15:20:48 localhost.localdomain NetworkManager[1231]: <info> [1660418448.3904] rfkill0: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.0/0000:03:00.0/ieee802
11/phy0/rfkill0) (driver **brcmfmac**)
jay@localhost:~> sudo journalctl -b | grep Wi-Fi
Aug 13 15:20:48 localhost.localdomain NetworkManager[1231]: <info> [1660418448.3904] rfkill0: found **Wi-Fi** radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.0/0000:03:00.0/ieee802
11/phy0/rfkill0) (driver brcmfmac)
Aug 13 15:20:48 localhost.localdomain NetworkManager[1231]: <info> [1660418448.3908] manager[0x55db0df0d010]: rfkill: **Wi-Fi** hardware radio set enabled
Aug 13 15:20:48 localhost.localdomain NetworkManager[1231]: <info> [1660418448.3980] manager: rfkill: **Wi-Fi** enabled by radio killswitch; enabled by state file
Aug 13 15:20:48 localhost.localdomain NetworkManager[1231]: <info> [1660418448.4047] manager: (wlp3s0): new 802.11 **Wi-Fi** device (/org/freedesktop/NetworkManager/Devices/2)
Aug 13 15:20:49 localhost.localdomain NetworkManager[1231]: <info> [1660418449.1788] **Wi-Fi** P2P device controlled by interface wlp3s0 created
Aug 13 15:20:49 localhost.localdomain NetworkManager[1231]: <info> [1660418449.1790] manager: (p2p-dev-wlp3s0): new 802.11 **Wi-Fi** P2P device (/org/freedesktop/NetworkManager/Devices/4)
jay@localhost:~> open /org/freedesktop
If 'open' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf open
This line seems especially relevant:
Aug 13 15:20:47 localhost kernel: **brcmfmac**: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
Hi
The brcmfmac module should be blacklisted (and others) when installing the broadcom-wl package and equivalent kmp package with a file in /etc/modprobe.d/50-broadcom-wl-blacklist.conf does this file exist, if so, as root user run the command mkinitrd and reboot.
Thanks! I was able to fix this but will do those steps anyway just to make sure. A kind soul on the doom emacs discord server used my problem as an excuse to learn more about the kernel modules and was able to help find a solution.
It comes down to the particular WiFi chip I have, Broadcom 43602 just not really being really well supported by the firmware itself. Fortunately, someone came up with a workaround in the form of a config file that can be copied into the /lib/firmware/brcm/. Instructions may be found near the bottom of that link:
With that latest text file copied to /lib/firmware/brcm/ and a reboot I am now able to connect to my 5 Ghz network and see many more networks in the list.
The firmware update is not an easy task as it updates regulatory data in firmware it means a full verification cycle is required to assure the power levels stay within regulatory limits. This is always a hard sell for us as there is no return of investment for the engineering costs involved. Hence we release fullmac firmware that has been verified in running projects. Sadly the 43602 in the MacBook does not use a fullmac driver architecture so there is no fullmac firmware available. I have forwarded your request, but no high hopes we can resolve this.
Hi
If you going to use the brmc module(s), then you don’t want the broadcom-wl items installed or that blacklist file… once removed make sure to run mkinitrd to ensure the brmc module(s) are not blacklisted.
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02)
Subsystem: Apple Inc. Device [106b:015a]
Kernel driver in use: brcmfmac
Kernel modules: brcmfmac, wl
After installing broadcom-wl, broadcom-kmp, and running mkinitrd then rebooting:
03:00.0 **Network** controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02)
Subsystem: Apple Inc. Device [106b:015a]
Kernel driver in use: brcmfmac
Kernel modules: brcmfmac, wl
Is there a step I’m missing? Not sure anything changed.
Hi
Well it can use wl as shown is available, so what you could do is add blacklist brcmfmac to the blacklist file (location in previous post) and then run mkinitrd, reboot and check the lspci output and test if working. Else revmove the broadcom-wl packages, rebuild initrd and reboot use the oss driver…