I am trying to get a ASUS PCE-AC88 working with Fedora 24. It is running with a 4.6.3 kernel. The firmware is missing from linux-firmware(please add brcm/brcmfmac4366c-pcie.bin). As a workaround I dug into http://dlcdnet.asus.com/pub/ASUS/wireless/PCE-AC88/UT_PCE-AC88_2803.zip. In it I found data1.cab, and in that I found bcmwdidhdpcie.inf. Referenced in that inf file is 4365c0rtecdc.bin. I then renamed it to brcmfmac4366c-pcie.bin, and put it in /lib/firmware/brcm. Which loads and at least lets me see wireless networks. But when I try to connect to a WPA2-PSK 5ghz network, it fails to connect, and I get errors about firmware and p2p. When I try to connect to a WPA2-PSK 2.4ghz network, it also fails, but I don't get the same errors.
There are actually two different 4365c0rtecdc.bin versions in the cab file. One is for Windows 10 and one is for other Windows versions. Neither works for me in Linux. The Windows 10 copy seems to be a slightly older version.
06:00.0 0280: 14e4:43c3 (rev 04)
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-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 48
Region 0: Memory at fb000000 (64-bit, non-prefetchable) [size=32K]
Region 2: Memory at fa800000 (64-bit, non-prefetchable) [size=8M]
Region 4: Memory at d2400000 (64-bit, prefetchable) [size=4M]
Capabilities:  Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=2 PME-
Capabilities:  MSI: Enable+ Count=1/32 Maskable- 64bit+
Address: 00000000fee0800c Data: 41d4
Capabilities:  Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 10.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr+ NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <32us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via WAKE#
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [13c v1] Device Serial Number 00-00-00-ff-ff-00-00-00
Capabilities: [150 v1] Power Budgeting <?>
Capabilities: [160 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [1b0 v1] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [220 v1] #15
Kernel driver in use: brcmfmac
Kernel modules: brcmfmac
[ 3.389589] brcmfmac 0000:06:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[ 4.096359] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 9 2016 09:10:03 version 10.10.69.67 (r623531) FWID 01-fd0b647f
[ 4.102818] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 4.106696] brcmfmac 0000:06:00.0 wlp6s0: renamed from wlan0
[ 4.632945] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[ 4.633157] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[ 160.037161] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[ 160.037277] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[ 173.225533] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 183.912693] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 249.768548] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1118.745711] usbcore: deregistering interface driver brcmfmac
[ 1118.755902] brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
[ 1131.183117] usbcore: registered new interface driver brcmfmac
[ 1131.284811] brcmfmac 0000:06:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[ 1131.999877] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 2 2016 03:05:01 version 10.10.69.64 (r622288) FWID 01-e6c8c961
[ 1132.019800] brcmfmac 0000:06:00.0 wlp6s0: renamed from wlan0
[ 1163.244194] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[ 1163.244310] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
[ 1176.912055] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1187.603677] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 1252.804518] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 2467.307310] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 2486.904763] usbcore: deregistering interface driver brcmfmac
[ 2486.919256] brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
[ 2492.661046] usbcore: registered new interface driver brcmfmac
[ 2492.762874] brcmfmac 0000:06:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[ 2493.480837] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 2 2016 03:05:01 version 10.10.69.64 (r622288) FWID 01-e6c8c961
[ 2493.493397] brcmfmac 0000:06:00.0 wlp6s0: renamed from wlan0
[ 2503.551073] brcmfmac: brcmf_p2p_set_firmware: failed to update device address ret -23
[ 2503.551190] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
I have the exact same issue. Fedora 24, now also confirmed with kernel 4.6.4.
I think there are two problems:
1. brcmfmac4366c-pcie.bin is not publicly available, this chip is used in the Asus PCE-AC88 which is available in retails stores.
2. The driver will request for a file called brcm/brcmfmac4366c-pcie.txt after it found the firmware. Where should this come from? I assume this contains calibration data which should be stored on the PCIe device.
The .txt is just another format the firmware can be stored in, it's the same content as the .bin, the driver will use whichever is available.
I have this card working using a fe extracted from an RT-AC88U but there still seems to be some issue with p2p mode. Mostly this working is waiting on broadcom to contribute a fe file officially.
(In reply to Aaron Miller from comment #3)
> The .txt is just another format the firmware can be stored in, it's the same
> content as the .bin, the driver will use whichever is available.
Definitely not. Take a look at brcmfmac sources, it checks .txt file looking for *NVRAM* (variables file), not the firmware (image running on card's CPU).
Ah, that's right. Still it is not necessary for use with the PCE-AC88 -- it's a mechanism for the driver to relay variables to the card f/w per: https://wireless.wiki.kernel.org/en/users/drivers/brcm80211#firmware_installation1
> (this file should be optional in the case of PCIe devices)
I'm using this card currently with only a firmware .bin I extracted from a router.
I was able to get my PCE-AC88 working on Fedora 24 with the firmware from Aaron Miller. It even works reliably and it is fast. I still get the p2p and ISO code errors, but it works anyway.
Has the issue been fixed in 4.8? I'd prefer to use the official Broadcom firmware if possible sometime soon.
Has anything happened on releasing or locating brcmfmac4366c-pcie.bin ??
The card I have wants this file and I don't see any motion on this? Is there a means to acquire or build the necessary file that is hidden somewhere?
Last time I asked Arend about this in December but there wasn't any update
Created attachment 250001 [details]
Its possible to slice it out of a router firmware, but as I understand its
not actually the same build -- I believe the FW images are built for the
driver they go with. The windows one (the NDIS driver) doesn't work at all,
router ones meant for the 'dhd' driver *mostly work* -- I wind up having it
fail to connect a couple times before it gets going.
On Tue, Jan 3, 2017 at 12:22 PM <firstname.lastname@example.org> wrote:
> --- Comment #9 from Rafał Miłecki <email@example.com> ---
> Last time I asked Arend about this in December but there wasn't any update
> You are receiving this mail because:
> You are on the CC list for the bug.
Any updates on this issue?
In kernel 4.11.1 this card is still not working error:
brcmfmac: brcmf_pcie_download_fw_nvram: FW failed to initialize
Any updates? Is this actual on either broadcom or Asus's road-map?
Attempting to follow implementation details from comment #10 to get a Broadcom 14ee:4365 USB/WLAN device working. Based on the lookup table this model Broadcom device implements the BCM4366c driver.
I have extracted the drivers as prescribed and thought that was the hard part. However, there is no wlan device that is listed when I run "iwconfig."
The broadcom-wl module is not loaded but rather brcmfmac module is. I am suspicious that this kennel brcmfmac/brcmfmac.ko.xz module is not compatible.
Also, the Broadcom Bluetooth driver is loading but with the error bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2 due to a missing patch. Don't know if this is a separate issue or a contributing factor.
I am attaching the output of lspci -k and the ouput of a Fedora modified version chilli555.
Thanks for any advice on resolving this issue.
Created attachment 258099 [details]
Created attachment 258101 [details]
lspci -k output
Created attachment 258113 [details]
chilli555 output from successful wifi configuration
Yep it was the kernel driver. Replaced the module brcmfmac with the module wl and the wifi device lit up. Also, the bluetooth load module error disappeared too.
I attached the output of the chilli555 for a successfully configured Broadcom BCM4366 device type.
There were two errors show in the journalctl. THese errors are not continuous as others have documented.
Aug 25 23:45:54 BRSINC-01Fed kernel: error (-1)
Aug 25 23:45:54 BRSINC-01Fed kernel: ERROR @wl_cfg80211_get_tx_power :
Aug 25 23:45:54 BRSINC-01Fed kernel: error (-1)
Aug 25 23:45:54 BRSINC-01Fed kernel: ERROR @wl_dev_intvar_get :
Have any luck getting the connection strength up with the wl driver?
I have enough connection strength for surfing though with the router just one room away it does vary significantly. Not sure the HP laptop I am using has a very good antenna. There are time when the wifi icon reverts to the "?", it still loads pages ok, however.
watch -n1 0 iwconfig link quality ranges from 44 - 77 and signal level -40 to -62
wavemon quality ranges from 54 - 100 and signal level -35 to -72
What are you getting on Speed test?
This is what I have.
ping: 7 ms
Download: 35.53 Mbps
Upload: 9.15 Mbps
ping: 5 ms
Download: 227.61 Mbps
Speed test on 12 mbps connection
I second Michael Lojkovic and would also like to have official Broadcom firmware if possible. In the meantime I found a temporary solution that works for me here: https://ubuntuforums.org/showthread.php?t=2337200.
My system: Linux 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64 GNU/Linux