CM3 + CM4-IO-BASE-B(Waveshare)

I want to use this https://www.waveshare.com/wiki/CM4-IO-BASE-B board for cm3. But USB ports do not work with this board. Tried to switch boot. Does not help. On this https://www.raspberrypi.com/products/compute-module-4-io-board/ works. The native Raspberry cm4 module is also ok. Who knows how it can be cured?

Hello.What system image do you use? Show me the link.

Hi. I am using Debian 10. https://github.com/radxa-build/radxa-cm3-io/releases/download/main-79d0ef98/radxa-cm3-io-debian-buster-xfce4-arm64-20220501-0215-gpt.img.xz

Thanks. Will check that and update to you.

I think that USB is not working because input 101 (USB_OTG0_ID) is not connected anywhere. Is it possible to programmatically connect it to the GND?

It turned out to solder this pin to the GND. Now everything works.

How you boot the board? by sdcard or eMMC?
I can’t boot the board with almost the same like you.

The only thing that didn’t work for me was the usb port. Everything is ok.

Hi @balaton

Try the following command

sudo su
echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode

@setq
that appears to work on the Waveshare CM4-10-Wireless-Base

Hello everybody.

I’m also trying to run CM3 on Waveshare CM4-IO-BASE-B. I managed to write OS image (radxa-cm3-io-debian-bullseye-xfce4-arm64-20221101-0302-gpt.img) to eMMC and boot it. But encountered the same problem - USB host ports (A type) are not working. They are powered up so I can power (from USB) my 7’’ HDMI screen and see the login screen but no keyboard nor mouse is working. So…

  1. Waveshare wiki:
    “The USB port is disabled by default on the CM4 to save power. If you need to start, you need to add the following to the config.txt file:
    dtoverlay=dwc2,dr_mode=host”

So I have written the .img on the SD card, used SD reader on PC to get to config.txt, added the line, created new .img out of this SD and rewrite in on eMMC. Booting works, USB still not.

  1. Radxa wiki: https://wiki.radxa.com/Rock3/downloads
    "User of Radxa CM3 RASPCM4IO will need to manually update /boot/uEnv.txt to use rk3566-radxa-cm3-rpi-cm4-io.dtb. "

So I have, using the method above, created “/boot/uEnv.txt” file with one line:
fdtfile=/dtbs/4.19.193-58-rockchip-gbac1feba87f0/rockchip/rk3566-radxa-cm3-rpi-cm4-io.dtb
Nothing changed.

Then I was also trying to mess with /boot/extlinux/extlinux.conf adding:
fdt /dtbs/4.19.193-58-rockchip-gbac1feba87f0/rockchip/rk3566-radxa-cm3-rpi-cm4-io.dtb
Nothing changed.

  1. I have been also trying ubuntu-server and android images - same effect: booting but no input devices available.

I have other things to try but need some help with that:
a) Is there any other .dtb or dtoverlay I can use to make USBs work?
b) @balaton - you suggested to “solder this pin to the GND” - I only managed to find “input 101 (USB_OTG0_ID)” on schematics (https://www.waveshare.com/w/upload/5/5b/CM4-IO-BASE_SchDoc.pdf) on the H4B CM_Interface. No way I can solder it there. Is it anywhere on the board too?
c) @setq - in a comment above you say to try “echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode”. But I guess I should do it on the running system and the problem is I can’t do anything there without any input device. Can you add some details how to do it?
d) Maybe somebody came up with any other idea?

Thanks in advance.

Only physical soldering solves the problem. See photo.

Hi @balaton,
thanks for the answer.

Looks like a tricky job. But if it’s a hardware problem how does original RPi CM4 work with this base?

Nevertheless, I will try other options before trying this one ;).

Via serial console or ssh @hellmut

@setq I have finally found some time to try that. I did changed otg_mode to host, as you described, but nothing changed. I also noticed that otg_mode backs to otg after restart.

@radxa You brag that your CM3 is working with Waveshare CM4 IO Base (https://wiki.radxa.com/Rock3/CM/CM3) but apparently it’s not the whole truth. Please be honest with customers or put some more effort to really make it worth bragging ;).

We have the same issue with the Waveshare Dual Ethernet 4G/5G IO Board. The CM is not recognized at all and we are unable to boot anything.

We are not sure about soldering on the board. I think we have to wait for Raspberry Pi CMs.

Can you run cat /sys/firmware/devicetree/base/compatible and post the output here?

It is really necessary to solder this pin USB for normal use.

Greetings… I am working on a theory that the CM3 without emmc wont work with the Waveshare CM4-IO-BASE-B board.

I successfully loaded the Radxa image to an SD card, but the CM3 in the CM4-IO-BASE-B board doesn’t appear to read the SD card slot or boot?

Could I please trouble those of you in this thread to provide the steps you took to get the CM3 to work in the CM4-IO-BASE-B board, and which model of the CM3 you were using i.e. with emmc or without.

I want to gather more data before I am sure my theory is correct.

Much appreciated.