Re: UVC Configuration Issue on RB5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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:
         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)
                 if (ret)
                         ret = -ENODEV;
                 else if (udc->driver)
                         ret = -EBUSY;
                         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.


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux