ITADN

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

#1344Opencagedbird043 创建于 2026-04-11
C
cagedbird043commented
## 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: ```text 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: ```text 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.
1 条评论