Linux does not recognize my Wi-fi card with Broadcom BCM4366

I recently installed an ASUS PCE AC88 which is fairly new. According to this list it's supposed to be recognized by the kernel modul "brcmfmac" but it's not although loaded.

The particular chipset and device ID is:
BCM4366, 14e4:43c3, Supported in Kernel 4.4+

The instructions on the page tell me to extract parameters from the NVRAM stored in "/sys/firmware/efi/efivars" however there is no such file matching the description.

Has anyone successfully enabled this wireless card on Linux, yet?

Broadcom has always had problems in linux. You can either change the card or see if broadcom has the drivers available on their cabinet site.

1 Like

Or you could try a distribution that feutures a newer kernel.
Like Fedora25, Manjaro, Ubuntu 16.10 releases.

1 Like

The instructions on the page tell me to extract parameters from the NVRAM stored in "/sys/firmware/efi/efivars" however there is no such file matching the description.

/sys/firmware/efi/efivars only has contents when you are booting a system via UEFI. If you're using ye olde BIOS, then it won't have contents because it isn't booting using EFI.

I only know that because that's how Arch tells you to check if you actually booted in UEFI mode. By seeing if that directory has files in it and exists.

https://wiki.archlinux.org/index.php/installation_guide#Verify_the_boot_mode

Verify the boot mode

If UEFI mode is enabled on an UEFI motherboard, Archiso will boot Arch Linux accordingly via systemd-boot. To verify this, list the efivars directory:

# ls /sys/firmware/efi/efivars

If the directory does not exist, the system may be booted in BIOS or CSM mode. Refer to your motherboard's manual for details.

Needing to boot in UEFI mode to use a wireless adapter sounds strange though....

Then again, Motherboard manufacturers don't handle UEFI very well in terms of standards, so you can't just expect it to be the same and work right every time between all implementations of it.

I made some progress.

It turned out that brcmfmac requires a firmware "/lib/firmware/brcm/brcmfmac4366c-pcie.bin" which isn't available in the kernel module (yet?). SInce there was no bin-file to find on the internet I managed to extract one from my drivers in Windows 10 and renamed it appropriately.

Now I can detect wireless networks but connecting to them fails everytime. It seems there is that file "brcmfmac4366c-pcie.txt" missing which I am supposed to extract from the NVRAM but I can't figure out where or how to do that.

I am running Arch Linux, kernel 4.8.13-1, in UEFI mode

Here is a part of my dmesg log:

[  951.230825] usbcore: registered new interface driver brcmfmac
[  951.338876] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[  952.046727] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar  2 2016 03:05:01 version 10.10.69.64 (r622288) FWID 01-e6c8c961
[  952.080188] brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0
[  952.718469] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[  952.718693] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[  952.718702] brcmfmac: brcmf_cfg80211_add_iface: add iface p2p-dev-wlp2s0 type 10 failed: err=-23
[  980.362101] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1027.280001] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1036.376215] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1043.052868] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1086.790516] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1098.790348] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1161.913399] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1178.935802] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1182.643143] brcmfmac: brcmf_cfg80211_scan: scan error (-16)
[ 1474.638245] usbcore: deregistering interface driver brcmfmac
[ 1475.164725] brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
[ 1475.164753] brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
[ 1545.944178] usbcore: registered new interface driver brcmfmac
[ 1546.049365] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[ 1546.770490] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar  2 2016 03:05:01 version 10.10.69.64 (r622288) FWID 01-e6c8c961
[ 1546.782664] brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0
[ 1547.425677] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[ 1547.425854] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[ 1547.425864] brcmfmac: brcmf_cfg80211_add_iface: add iface p2p-dev-wlp2s0 type 10 failed: err=-23