This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Question for am5728 uvc gadget camera.

Part Number: AM5728

Hi all,

My customer used am57xx platform for uvc gadget camera development.

The kernel version 4.14.79+gitAUTOINC+3438de3474

questions as below:

1, If the UVC support Bulk transform? If not can you please share the patch?

2,USB3.0 not working for UVC, it will enumeration failed and the device will identify as usb 2.0 device. Does the UVC driver support usb3.0? or should customer add some patch for usb 3.0 uvc support?

3, Working at usb 2.0 ISO mode, there  2 issues:

a, User space program send the datat to uvc-gadget drvier, DQBUF and QBUF will have long time delay, it will cause transmit hung.

b,if the transmit image data far less than the usb throughput, Qbuf  send the parameter buf.bytesused as 0, but the driver always send the data to host at highest framerate.

Customer will add comments at below. please help.

thanks!

BR,
Denny 

  • Denny,

    Can you share the link to the UVC camera specs for us to take a look further?

    Regards

    Karthik

  • Hi Karthik,

    I am using AM5728 as a uvc camera to connect to the PC, not connecting the camera to am5728

    Thanks,

  • so the AM5728 is a device to connect to a PC? can you be more specific as to what is going on? does the PC able to see the aM5728 device? can you guys connect a usb bus analyzer to see what is going on?

    Thanks

  • Hi Karthik,

    Yes, AM5728 is a device. I executed the following command, then connect AM5728 to PC with USB2.0 cable, 

    modprobe g_webcam

    ./uvc-gadget -d /dev/video1

    then AM5728  was detected as a UVC device. I execute amcap on the PC, and I can see normal images.

    (the uvc-gadget source code is  git clone git://git.ideasonboard.org/uvc-gadget.git)

    Now AM5728 is working at usb 2.0 ISO mode, but when I modify the source code in uvc-gadget,  add a short delay(for waiting avaliable image data) between VIDIOC_DQBUF and VIDIOC_QBUF :

    ioctl(dev->uvc_fd, VIDIOC_DQBUF, &ubuf);

    short delay

    ioctl(dev->uvc_fd, VIDIOC_QBUF, &ubuf);

    The short delay will cause transmit hung, How is this going?

    Due to the above issue, if no image data is currently available, I set parameter ubuf.bytesused = 0, but this cause the driver send the data to host at highest framerate.

    when the image size is 320*180, the frame rate is up to 60fps. How is this going?

    If you change to a USB3.0 cable, sometimes AM5728 was detected  as a super speed uvc device, but sometimes it will enumeration failed and the device will identify as usb 2.0 device.

    When AM5728 was detected  as a super speed uvc device, amcap cannot receive normal images, Does the am5728 UVC driver support usb3.0?

    Hope to get your help.

    thanks!

    zhenkai zhao