Overlay OTG Host mode not working on Zero 3w

HI Everyone.

I have a Radxa zero 3w (8Gb, 64 eMMC on board).
Official OS Radxa Debian 11 / 5.10.160-38-rk356x for arm64.

I would like to use the usb 2.0 on board (used to power on the zero 3w) with an OTG cable that splt power and USB-A connector intothe USB-c of the board, to have the keyboard dongle or the wired mouse connected on that port, without wasting a port from the USB-c 3.0.

What I did was to open the rssetup app and navigating the overlays section and enable the option for OTG Host as showed in the picture.
Screenshot_2024-10-17_11-24-05

and then sudo reboot now.

Unfortunately, no change on the behavior.

To ensure that cable and&or devices are working fine, I tried the same setup within other devices and they are working fine.

Am I missing some steps to have the OTG Host mode enabled on my Radxa zero 3w?

Many thanks for your help.

After I set the usb_otg port to host via rsetup and powered it up at the same time, it worked fine with a mouse and keyboard.

Can you give me a picture of how you connected it?

You can use the following command to see if USB_OTG has been successfully modified to host:

sudo su
cat /sys/kernel/debug/usb/fcc00000.dwc3/mode

Hello @Mitchell.

By running the command, I get the same result.
Please find here my setup, with the mouse connected to the OTG cable (mouse not working) and with the mouse connected to the usb hub (mouse working).

The power cable is providing 30W / 5 Volt.

The OTG cable is a 2 in 1 USB-C Splitter with PD 60W Quick Charge Type C OTG and USB A Female Port (not usb 3.0). I tired also with other two OTG cables with the same result.

Is there I can measure the voltage or other OTG Host thing related via the GPIO pins? (e.g. voltage or ampere with a multitester, since my feeling is this ould be an hardaware issue related).

Same setup but with just other sbc is working fine.

I am open to buy a new specific one if you could let me know some specifications for the OTG cable.

Thank you for your help.

I have been using the Radxa zero 3w and use the USB2.0 OTG port as an ethernet gadget with no problem. I connected the configured OTG port with a host (Mac and iPad) and ssh / vnc into the board.

But I try a lot of these splitter cable and it seems to me none of them work on the USB 2.0 OTG port. It does give power to the board but it doesn’t have any functioning data line.

Depending on the use case, you may want to use a UPS like PiSugar 3 that gives power to the board via its GPIO 5v and GND pin so you can free up both ports

1 Like

BTW I think I looked into it and I think you need further configuration with libcomposite and g_ether that you can configure the OTG port into a multi function port. But I don’t think you can use the USB 2.0 OTG port to run essentially as host (plugging in USB peripherals for Radxa Zero 3W) and as device (to be a OTG ethernet device / mass storage etc.)

However, I can never understand why there are 3 buses of usb 2.0 hub and 2 buses of usb 1.1 hub in Radxa Zero3w

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Hello @Mitchell and @Frankie_Yuen.
Thank you for your help.
@Frankie_Yuen i will give it a try to the Pisugar 3.
@Mitchell Could you please validate my setup and share a picture of your working setup?

Thanks

–Update–

Finally the setup worked.
To make it what I did was to boot the zero 3w with the only OTG Y cable, and after that attach the usb hub cable on the usb 3.0 port.
OR
keep all connected and power the zero 3w with a PD higher than 30W.

Thank you @Mitchell and @Frankie_Yuen, your comments and sharing gave me idea on what to do to make my setup working :wink:

1 Like

Glad that it works.

Just for the record if anyone’s use case is to make use of both onboard USB type c ports, you may want to power the board with 5v on GPIO. I think by default if power is supplied by the 5v GPIO, the board will not draw any power from the usb port.

@radxa may want to double check on that and it’s worth documenting it in the wiki.

By the way I think with the ‘new’ wiki by Radxa, common people like me can’t make any edit or add any new page.

1 Like

There is an edit link at the end of the page. Click it and GitHub should guide you with fork and PR steps.