I have a Murata 1FX evaluation kit, and I'm attempting to use it to get WiFi working on a Compute Module 3 (with the CMIO board). It uses the Broadcom BCM43364 chipset, which is similar to what the RPi 3 uses and is supported in theory by the brcmfmac driver. I'm running an up-to-date Raspbian install.
The evaluation kit provides a full-sized SD card breakout (it's meant for i.MX6 boards which have a slot for it), so I've soldered wires to the pads and hooked them up to the CMIO board GPIO, and wired a resistor to pull the WL_REG_ON pin high. I've got it hooked up to GPIO 22-27 (suggested by this thread).
I've added this line to the config.txt file:
dtoverlay=sdio,poll_once=off
The device does seem to get detected during boot, this is dmesg:
$ dmesg | grep mmc1
[ 1.963612] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 2.040350] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 2.049793] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 2.060346] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 2.102246] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 2.112453] mmc1: queuing unknown CIS tuple 0x80 (6 bytes)
[ 2.339903] mmc1: new high speed SDIO card at address 0001
Trawling through the web, I came across a bug report that suggested a few things to try, so I've run this:
$ cd /sys/class/mmc_host/mmc1/mmc1:0001; find . -type f -exec grep -H . {} \;
./mmc1:0001:1/vendor:0x02d0
./mmc1:0001:1/device:0xa9a4
./mmc1:0001:1/power/runtime_suspended_time:0
grep: ./mmc1:0001:1/power/autosuspend_delay_ms: Input/output error
./mmc1:0001:1/power/runtime_active_time:0
./mmc1:0001:1/power/control:auto
./mmc1:0001:1/power/runtime_status:unsupported
./mmc1:0001:1/class:0x00
./mmc1:0001:1/modalias:sdio:c00v02D0dA9A4
./mmc1:0001:1/uevent:SDIO_CLASS=00
./mmc1:0001:1/uevent:SDIO_ID=02D0:A9A4
./mmc1:0001:1/uevent:MODALIAS=sdio:c00v02D0dA9A4
./power/runtime_suspended_time:0
grep: ./power/autosuspend_delay_ms: Input/output error
./power/runtime_active_time:0
./power/control:auto
./power/runtime_status:unsupported
./type:SDIO
./mmc1:0001:2/vendor:0x02d0
./mmc1:0001:2/device:0xa9a4
./mmc1:0001:2/power/runtime_suspended_time:0
grep: ./mmc1:0001:2/power/autosuspend_delay_ms: Input/output error
./mmc1:0001:2/power/runtime_active_time:0
./mmc1:0001:2/power/control:auto
./mmc1:0001:2/power/runtime_status:unsupported
./mmc1:0001:2/class:0x00
./mmc1:0001:2/modalias:sdio:c00v02D0dA9A4
./mmc1:0001:2/uevent:SDIO_CLASS=00
./mmc1:0001:2/uevent:SDIO_ID=02D0:A9A4
./mmc1:0001:2/uevent:MODALIAS=sdio:c00v02D0dA9A4
./uevent:MMC_TYPE=SDIO
./uevent:MMC_NAME=
./uevent:MODALIAS=mmc:block
The report suggests that it looks like there isn't a driver being loaded, and indeed dmesg | grep brcmfmac gives no results. I tried the following to get the MODALIAS to load the brcmfmac driver, but it doesn't seem to do anything.
$ grep sdio /lib/modules/`uname -r`/modules.alias
alias sdio:c*v02D0dA9A4* brcmfmac <- added by me
alias sdio:c*v02D0d4373* brcmfmac
alias sdio:c*v02D0d4356* brcmfmac
alias sdio:c*v02D0d4354* brcmfmac
alias sdio:c*v02D0dA9BF* brcmfmac
alias sdio:c*v02D0d4345* brcmfmac
alias sdio:c*v02D0dA9A6* brcmfmac
alias sdio:c*v02D0d4339* brcmfmac
alias sdio:c*v02D0d4335* brcmfmac
alias sdio:c*v02D0dA962* brcmfmac
alias sdio:c*v02D0dA94D* brcmfmac
alias sdio:c*v02D0dA94C* brcmfmac
alias sdio:c*v02D0d4334* brcmfmac
alias sdio:c*v02D0d4330* brcmfmac
alias sdio:c*v02D0d4329* brcmfmac
alias sdio:c*v02D0d4324* brcmfmac
alias sdio:c*v02D0dA887* brcmfmac
It looks like I can't get the brcmfmac driver to load. What else should I be trying to do?