Since I upgraded the system yesterday, brcmfmac is not able to recognize the chip anymore. It was working on previous kernel 4.7.XX (can't remember the full version number). I am now on :
% uname -a
Linux lamontagne 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Linux
When probing brcmfmac I got in dmesg:
[10396.415322] usbcore: registered new interface driver brcmfmac
[10396.415375] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
[10396.415377] brcmfmac: brcmf_pcie_probe: failed 14e4:43ba
And last detail, my card is :
% lspci -s 03:00.0 -vv
03:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)
Subsystem: Apple Inc. Device 0133
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 18
Region 0: Memory at c1400000 (64-bit, non-prefetchable) [size=32K]
Region 2: Memory at c1000000 (64-bit, non-prefetchable) [size=4M]
Capabilities: <access denied>
Kernel modules: brcmfmac, wl
Tell me if you need more information?
Digging a bit, when loading the module with debug information I can get:
[14845.365215] brcmfmac: brcmfmac_module_init No platform data available.
[14845.365346] brcmfmac: brcmf_usb_register Enter
[14845.365366] usbcore: registered new interface driver brcmfmac
[14845.365367] brcmfmac: brcmf_pcie_register Enter
[14845.365389] brcmfmac: brcmf_pcie_probe Enter 14e4:43ba (1/3)
[14845.365513] brcmfmac: brcmf_pcie_get_resource Phys addr : reg space = ffffc90001cc0000 base addr 0x000000c1400000
[14845.365514] brcmfmac: brcmf_pcie_get_resource Phys addr : mem space = ffffc90005000000 base addr 0x000000c1000000 size 0x400000
[14845.365525] brcmfmac: brcmf_chip_recognition found AXI chip: BCM65535, rev=15
[14845.365526] brcmf_chip_recognition: chip backplane type 15 is not supported
[14845.365527] brcmf_pcie_probe: failed 14e4:43ba
It seems the data read from the bus are wrong "0xffffffff" as it gives : BCM65535, rev=15
I don't know what to do more, then I downgraded to a previous working kernel:
% uname -a
Linux lamontagne 4.7.6-1-ARCH #1 SMP PREEMPT Fri Sep 30 19:28:42 CEST 2016 x86_64 GNU/Linux
And brcmfmac is working again (interface is created I still didn't try to connect to an ESSID).
I attached the output of dmesg when "insmod brcmfmac.ko debug=0xfffffff" in case it is useful.
Please tell me I if can try something else, or give more information to help?
Created attachment 242131 [details]
dmesg output when loading/unloading brcmfmac on a working kernel
Still the same issue with kernel 4.9.35-ARCH (lts) and 4.11.7-1-ARCH.
Am I the only one with this issue?
I finally found the solution in this comment: https://bugzilla.kernel.org/show_bug.cgi?id=196019#c6
Just add to make the PCIe reset as stated in the comment and it works!
I mark the bug as duplicated as both seems to be related.
*** This bug has been marked as a duplicate of bug 196019 ***