Skip to content

Orange Pi 5 Pro AP6256 Wi-Fi is unstable on brcmfmac but stable on bcmdhd-sdio #1344

@cagedbird043

Description

@cagedbird043

Summary

On an Orange Pi 5 Pro with the onboard AP6256 / BCM43456 module, the default brcmfmac path on ubuntu-rockchip was unstable in real hardware testing, while switching the board to bcmdhd-sdio made 5 GHz stable again.

This is related to but more detailed than the older closed report in #841.

Environment

  • Board: Orange Pi 5 Pro
  • Wi-Fi module: AP6256 / BCM43456 (SDIO)
  • OS: Ubuntu 24.04.1 LTS
  • Kernel: 6.1.0-1025-rockchip
  • Repo/image family: Joshua-Riek/ubuntu-rockchip
  • Verified on hardware: 2026-04-12

Failure modes seen on the default path

With the board using the default brcmfmac path:

  1. Sometimes the Wi-Fi device failed during boot:
    • brcmf_attach: dongle is not responding: err=-52
    • brcmf_sdio_firmware_callback: brcmf_attach failed
  2. Other times 5 GHz came up briefly after boot, then disappeared after tens of seconds to a few minutes.
  3. In the unstable case, the board would effectively fall back to 2.4 GHz visibility only, and connectivity would drop.

Representative boot log from the failing brcmfmac path:

brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
ieee80211 phy0: brcmf_bus_started: failed: -52
ieee80211 phy0: brcmf_attach: dongle is not responding: err=-52
brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed

What was tested

The following did not fix the root problem:

  • replacing brcmfmac43456-sdio.bin
  • replacing brcmfmac43456-sdio.txt
  • removing / changing the clm_blob
  • NetworkManager / wpa_supplicant level workarounds

The firmware bin/txt matched the official Orange Pi image, so this did not look like a simple wrong-firmware-file problem.

What did fix it

Switching the board to the Broadcom BCMDHD SDIO path fixed the issue in repeated testing:

  • install bcmdhd-sdio-dkms
  • blacklist brcmfmac / brcmutil for this board
  • use the BCMDHD firmware / NVRAM / config paths explicitly
  • power the SDIO Wi-Fi module down cleanly on shutdown / reboot

Validation after the fix

After switching to bcmdhd_sdio, the board repeatedly connected and stayed on 5 GHz:

  • SSID: CMCC-201-5G
  • BSSID: 48:81:d4:89:db:3f
  • frequency: 5180 MHz / channel 36 / 80 MHz environment
  • driver path: bcmdhd_sdio + dhd_static_buf_sdio

This remained stable past the old failure window after:

  • cold boot
  • warm reboot

Representative successful log:

wl_android_wifi_on : Success
wl_iw_event : Link UP with 48:81:d4:89:db:3f
wl_bss_connect_done : Report connect result - connection succeeded

Proposed fix

I opened PR #1343 with the board-level change that matched the successful hardware validation:

  • install bcmdhd-sdio-dkms for Orange Pi 5 Pro
  • stop using the brcmfmac path for this board
  • replace the old reboot-only brcmfmac unbind helper with a shutdown/reboot poweroff helper

PR: #1343

If useful, I can also add a follow-up comment with full before/after command output from the live board.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions