D-Link 885L/R A2

Wikidevi only seems to list an A1 revision.

D-Link is notorious for switching platforms between revisions...

890 can be quite different from 885

I will try to install over the weekend:

http://downloads.lede-project.org/releases/17.01.2/targets/bcm53xx/generic/

dlink-dir-885l-squashfs.bin

and see how it behave.

There is an online tutorial with the bellow version but on the A1 version of the router:

http://downloads.lede-project.org/releases/17.01.0/targets/bcm53xx/generic/lede-17.01.0-r3205-59508e3-bcm53xx-dlink-dir-885l-squashfs.bin

Blimey. I really wonder how my search engine managed to swap 890 for 885 :confounded:

I did install the LEDE 17.01.1/ and I was able to connect to the Internet but the wifi was not detected. I believe that the most relevant part from the dmsg is bellow.

8.816152] pci 0000:00:00.0: enabling device (0140 -> 0142)
[ 8.821856] brcmfmac 0000:01:00.0: enabling device (0140 -> 0142)
[ 8.978821] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.bin failed with error -2
[ 13.978712] pci 0001:00:00.0: enabling device (0140 -> 0142)
[ 13.984396] brcmfmac 0001:01:00.0: enabling device (0140 -> 0142)
[ 14.148728] brcmfmac 0001:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.bin failed with error -2

And obviously there was no wireless file in /etc/config

Any idea how can this be fixed?

Thank you.

dg

It looks like these issues were solved sometimes in August this year but I am not sure if it was implemented in the current kernel on LEDE. Anyway all these things are way above my head.

https://bugzilla.kernel.org/show_bug.cgi?id=135321

What seems to have worked in the end for the person on the kernel bugzilla was installing the proprietary Broadcom driver (called 'wl'). I think this However, afaik Broadcom does not provide any sources for this driver to use with the newer kernels OpenWrt/LEDE use. There's also a link to kernel patches being provided for the binary firmware, but it is indeed unclear whether they were applied upstream; LEDE's using a 4.9 kernel and the first 4.9 release dates from December 2016; the bugzilla entry linking to firmware patches is from January 2017.

Do you have any firmware files named brcmfmac4366c-pcie.bin under /lib/firmware/brcm/? If not, you can find instructions on how to extract the firmare here. Going by this message, it looks like the firmware didn't make it upstream yet.

Good luck!

After more research I found:

this forum

and in this page find line "Special Case #2 - For the ASUS PCE-AC88 AC3100"

and download this driver brcmfmac4366c-pcie.7z

unzip and copy into /lib/firmware/brcm/ folder on the LEDE router, reboot and everything worked. This driver has an August 18, 2017 timestamp so it should be a new one.

My router has LEDE 17.01.1.

Looks like I was lucky. :slight_smile:

Thank you,

dg

PS. Also I came across this info on another forum with an older driver, it might help someone

Is it possible to have the driver available in the next release of LEDE?

Anyone tried the brcmfmac4366c-pcie.bin with the latest openwrt 18.06.0? 5 GHz stopped working on my 885L-A2, while 2.4 GHz works just fine. Any thoughts?
dmesg:

root@OpenWrt:/lib/firmware/brcm# dmesg | grep brcm
[    0.314368] nand: WARNING: brcmnand.0: the ECC used on your system is too weak compared to the one required by the NAND chip
[    0.936644] 1 fixed-partitions partitions found on MTD device brcmnand.0
[    0.943361] Creating 1 MTD partitions on "brcmnand.0":
[    9.497264] usbcore: registered new interface driver brcmfmac
[    9.543974] brcmfmac 0000:01:00.0: enabling device (0140 -> 0142)
[    9.732133] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[    9.885285] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[   10.204825] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[   10.213575] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.clm_blob failed with error -2
[   10.223887] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[   10.235209] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4366/4 wl0: Sep 12 2016 13:26:44 version 10.10.69.6908 (r658761) FWID 01-fed440e1
[   10.293794] brcmfmac 0001:01:00.0: enabling device (0140 -> 0142)
[   10.482150] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[   10.493232] brcmfmac 0001:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[   13.402105] brcmfmac: brcmf_pcie_download_fw_nvram: FW failed to initialize

You also need to provide the correct brcmfmac4366c-pcie.txt for your device, which is model specific and not generic to all BCM4366 wlan cards on different routers. Maybe you'll find it stored somewhere in the OEM firmware's rootfs, maybe it's hidden somewhere in an otherwise untouched flash partition, maybe its contents are spread over nvram and need to be extracted.

1 Like

Thanks for your swift reply. I suspect I screwed up something the other day when I needed to hard-reset the router. Checked a few different fw (extracting them), but no luck. I'll have to make good with 2.4 G for the time being :slight_smile:

Cheers

The 18.06 does not come with brcmfmac4366c-pcie.bin or at least wasn't there when I installed on my router. I have both 2.4 and 5GHz running fine after using the original brcmfmac4366c-pcie.bin from the 17.04 install. See a few posts above.

I use the same binary as you posted above (TY for providing it btw! :slight_smile: ), but I needed to enter recovery mode after upgrading from the webui went south. I installed openwrt 18.06 (not stock fw) directly in the recovery, and I suspect I should have gone stock->openwrt.

This is how you do it here. Once on that screen you can upload the new firmware or return to stock. If you go to stock make sure you reset all settings and try again.

I attempted to do my upgrade from inside 17.04 and it didn't work. Then after following the above I got it working. And it is all good.

  1. D-Link DIR-885L/R A1:
    • It uses WiFi chipset 4366b1
    • It requires brcmfmac4366b-pcie.bin which is included in firmware/linux-firmware.git and in LEDE images.
    • It's expected to work out of the box and I just verified it with OpenWrt 18.06.0
  2. D-Link DIR-885L/R A2:
    • It uses WiFi chipset 4366c0
    • It requires brcmfmac4366c-pcie.bin which is not available officially
    • I don't own any A2 unit

You also need to provide the correct brcmfmac4366c-pcie.txt for your device, which is model specific

This is not correct. Routers have nvram partition on flash with NVRAM content. It's supported by brcmfmac. There is no need for .txt file.

Anyone tried the brcmfmac4366c-pcie.bin with the latest openwrt 18.06.0? 5 GHz stopped working on my 885L-A2, while 2.4 GHz works just fine. Any thoughts?

@hkn: are you 100% sure you use the same brcmfmac4366c-pcie.bin as with 17.01? Could you switch back to the 17.01 and verify (just to be 100% sure) that 5 GHz still works for you there?

I attempted to do my upgrade from inside 17.04 and it didn't work.

I first flashed lede-17.01.5-bcm53xx-dlink-dir-885l-squashfs.bin and then used openwrt-18.06.0-bcm53xx-dlink-dir-885l-squashfs.bin to sysupgrade using LuCI. It worked for me. If you experience some sysupgrade problem, please report it as a bug with a proper description.

Well,the reason he was able to use 17.01 is because it uses kernel 4.4 which treats the 4366b and 4366c as the same device.
4.9 does not due to this commit
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.9.118&id=bc86fdb9ac02c77b9f55325f64fb70decc425962

There is a manual way to extract the firmware from kernel module.
This is what I was able to extract from 1.13 firmware.
https://drive.google.com/file/d/1YDH6Prz7j14-pte2YNiJ0XhBypCvDC8n/view?usp=sharing

So,can you that firmware?

Nope.
OpenWrt uses wireless drivers from compat-wireless or backports. There was a proper support (using a proper firmware) for 4366c0 in 17.01.

Yeah,completely forgot that those backports were based on wireless testing brach that was pretty much 4.10

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