Page 1 of 1

SDIO wifi for CM3

Posted: Mon Jan 21, 2019 7:11 am
by chiyul
Hi,

I made my own custom PCB with CM3 (NEC version, 16GB eMMC).
I added Murata LBEE5KL1DX wifi SDIO module to the PCB and connected at GPIO 34-39.
I installed latest Rasbian and changed device tree (GPIO 34-39 as ALT3 (SD1)).
I also added Murata's NVRAM file to CM3.
But Rpi can not recognize wifi module.
I checked SDIO line with protocol analyzer and the communication line is alive.
Rpi sent SDIO command and WIFI module responses according to SDIO protocol.
Rpi SDIO channel sent CMD0, CMD8, CMD5, CMD5, CMD3, CMD7, and CMD52 and WIFI module responded.
After that, a bunch of CMD52 were sent and wifi also responded.
Consequently, the Rpi sent CMD55 five times and CMD0.
At this time linux booting log was 'MMC1: -110 whilst initialising SD card'.
After that the Rpi repreated these sequence 3 times.

So I think the wifi module properly worked but the Rpi can not properly loaded WIFI driver.
What should I do or check to solve this situation?
Please give me any comment about similar problems.
Many thanks.

Re: SDIO wifi for CM3

Posted: Wed Feb 06, 2019 2:28 am
by rahmanuh
Hi,

Do you use dt-overlay to enabling the SDIO function on GPIO34 - GPIO39?
If yes, try to add this dtoverlay=sdio34,poll_once=off,sdio_overclock=50. Try to variate the sdio-overclock until mmc1 is ok. It worked for me when I hook another SDCard to CM3. I variated sdio_overclock until mmc1 worked well.

I am wondering, how do you check the SDIO communication line is alive with protocol analyser? I also have a problem with SDIO when trying to enabling WiFI. Seems like the raspi does not know if there is a device hooked in SDIO line. Do you have any suggestion? I use WL1273 WiFi card.

regards,
Rahmanu

Re: SDIO wifi for CM3

Posted: Wed Feb 27, 2019 12:12 am
by chiyul
Hi,
Actually I solved this problem a few weeks ago.
I forgot this post and didn't get any alert about reply. Sorry to delay response.
I write brief debugging report for anyone who also have problem with SDIO WIFI module in the future.

I changed DTS(&DTO) file as my own PCB.
I added some zero ohm between wifi module and rpi.
And I soldered some wires to the zero ohms and connected the wire to protocol analyzer. (Saleae LOGIC8)

I found that the wifi module properly worked when rpi want to access CCCR (standard SDIO register).
But it is stopped when the rpi want to access FBR (it is also SDIO register).
I tested several thins and found that rpi use 50Mhz clock when it access to FBR.
But my wifi module can not support 50Mhz during that process.
So I limited SDIO clock up to 25Mhz and it perfectly works.

Re: SDIO wifi for CM3

Posted: Thu Feb 28, 2019 4:06 pm
by njsss
What is the difference between SDIO wifi and USB wifi module in transferring speed? Is the SDIO faster?

Re: SDIO wifi for CM3

Posted: Tue Mar 05, 2019 11:15 am
by GLRobotics
NOOB here : can you elaborate more on changes made to DTS(&DTO) to enable SDIO WIFI ? and how limited SDIO clock
chiyul wrote:
Wed Feb 27, 2019 12:12 am

I write brief debugging report for anyone who also have problem with SDIO WIFI module in the future.

I changed DTS(&DTO) file as my own PCB.
...
So I limited SDIO clock up to 25Mhz and it perfectly works.

Re: SDIO wifi for CM3

Posted: Mon May 20, 2019 12:42 pm
by lini27
"I installed latest Rasbian and changed device tree (GPIO 34-39 as ALT3 (SD1))."

How did you change the device tree?