I added the "f1" subdirectory, and noticed an ss header missing, and I finally was able to bind, then run the ideasonboard's uvc-gadget app, then see a video device on my 18.04 laptop host. The device appeared for a second but the host said the device wouldn't accept the address it was providing. But still the best progress I've had in weeks. Thank you so much Krishna, it was getting frustrating. I'm not sure what you meant by "deferred for a600000.usb"...does that mean the UDC driver went into the "pending" list of drivers? Big Thanks, Robert On Tue, Feb 27, 2024 at 8:42 PM Krishna Kurapati PSSNV <quic_kriskura@xxxxxxxxxxx> wrote: > > > On 2/28/2024 8:17 AM, Robert Arndt wrote: > > Hi Folks, I was wondering if anyone has gotten UVC working on the RB5? > > I'm having trouble with the UDC probe and not sure if it's a problem > > with kernel configuration, configFS script (haven't made into a service > > yet), or some UDC problem. > > > > I'm getting a ENODEV error 19 when I try to bind my UVC configuration to > > the UDC according to dmesg, and stdin output says "Device or resource > > busy". I put printk statements into driver/usb/udc/core.c's > > usb_gadget_probe_driver() which is producing the error line: > > >> > > mutex_lock(&udc_lock); > > if (driver->udc_name) { > > list_for_each_entry(udc, &udc_list, list) { > > ret = strcmp(driver->udc_name, > > dev_name(&udc->dev)); > > > > printk("****DEBUG: Driver->udc_name: %s\n", > > driver->udc_name); > > printk("****DEBUG: udc->dev name: %s\n", > > &udc->dev); > > > > if (!ret) > > break; > > } > > if (ret) > > ret = -ENODEV; > > else if (udc->driver) > > ret = -EBUSY; > > else > > goto found; > > << > > > > ...and while udc_name came up with the string a600000.usb, &udc->dev was > > an empty string. So it seems like the device is not in the master UDC > > list? I don't know why...maybe my ConfigFS script is wrong? > > > > I've attached my kernel config, ConfigFS script, and dmesg output as a > > single file. Would appreciate if someone could tell me if I'm looking > > in the right direction or completely off. > > > > Hi Robert, > > Can you check if dwc3 driver probe was successful or if it was > deferred for the a600000.usb controller. And seems like you are printing > &udc->dev instead of dev_name(&udc->dev). > > Also the symlink being created must be the following: > ln -s functions/uvc.usb0 configs/c.1/f1 > > You are directly linking it to c.1 in your script like the following > which is wrong: > ln -s functions/uvc.usb0 configs/c.1 > > Can you check if fixing the symlink is helping with successful > enumeration. > > Regards, > Krishna,