UVC (USB Video Class) on CM3

I am currently developing on the most recent release of radxa-build for the cm3-io board

Confirmed that kernel has the necessary flags enabled for UVC

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_F_UVC=y
CONFIG_USB_CONFIGFS_F_UVC=y

So I’m working on enabling UVC functionality utilizing the micro OTG port in peripheral mode.

Using rsetup I enabled the peripheral mode USB overlay, and from rsetup I found radxa-otgutils

Using that as a reference, I built a script, radxa-uvcutils.sh, to try to enable UVC by forwarding the /dev/video0 interface from another program.

I’m consistently running into errors initialing the UVC device after setting up the directory structure and running the enable_udc() function, which results in dmesg errors

[  157.471232] configfs-gadget gadget: uvc: uvc_function_bind()
[  157.471253] configfs-gadget gadget: uvc: overriding streaming_maxpacket to 1024
[  157.471290] udc fcc00000.dwc3: failed to start fcc00000.dwc3: -19

I am wondering if any community member or Radxa engineer has dealt with similar issues and managed to create a functioning solution