dmesg | grep brcmfmac will provide some ideas about what’s going wrong with the kernel driver.
You may also need to check if you have the firmware and the config file installed. The firmware file is at /lib/firmware/brcm/brcmfmac43455-sdio.bin. If this file does not exist, check if linux-firmware pacakge is installed. If still not, use the command below to install it manually.
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/cypress/cyfmac43455-sdio.bin -O /lib/firmware/brcm/brcmfmac43455-sdio.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/cypress/cyfmac43455-sdio.clm_blob -O /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
The firmware config file is not included in distros, you need to download it from radxa and install it. The command is:
sudo wget https://raw.githubusercontent.com/radxa/rkwifibt/master/firmware/broadcom/AP6254/wifi/nvram_ap6254.txt -O "/lib/firmware/brcm/brcmfmac43455-sdio.Radxa-ROCK Pi X.txt"
Hopefully Radxa will be interested in adding this to linux-firmware so that there will be no need to install the txt file manually. I would be more than happy to help Radxa upstreaming this txt file.