cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N6570-DK Ux_Host_VIDEO example not working with UVC cameras (e.g. Logitech C270)

JayGani
Associate

Hello,

I'm trying to run the Ux_Host_VIDEO example from STM32CubeN6 on the STM32N6570-DK board, but UVC camera streaming does not work. The USB device is detected, but no video stream starts.

 

Test Environment:

  • Board: STM32N6570-DK

  • Example: Ux_Host_VIDEO (from STM32CubeN6 package)

  • IDE: STM32CubeIDE 1.18.1

  • Camera models tested: Logitech C270

  • Connection: USB-C OTG (HS) port using USB-A adapter

 

USB host stack detects the device and logs:

 

**** USB OTG HS in HS VIDEO Host ****

USB Host Video library started.

Starting VIDEO Application
Connect your VIDEO Device

USB Video Device Inserted

PID: 0x825
VID: 0x46d
USB Video Host App...
Video Device is ready...

 

 

  • No streaming happens after that.

  • Function _ux_host_class_video_alternate_setting_locate() filters out most alternate settings.

  • The condition:

     
    if (payload_size >= max_payload_size)

    causes only a few alternate settings (e.g., >= 7) to be selected, but those don’t work either.


    Questions:

    1. Has anyone successfully tested this example with a specific UVC camera model?

    2. Why is the payload size condition (payload_size >= max_payload_size) required? Can I safely bypass it?

    3. What’s the correct way to manually select an alternate setting or override wMaxPacketSize?

    4. Is there any known issue with Logitech C270 compatibility in USBX Ux_Host_VIDEO?

    5. Some UVC alternate settings use high-bandwidth isochronous endpoints with multiple transactions (wMaxPacketSize > 1024). Are these supported in the Ux_Host_VIDEO example?

    Let me know if I should share logs or control packet dumps. Any help would be greatly appreciated.

    Thanks!

 

 

 

 

1 REPLY 1
FBL
ST Employee

Hi @JayGani 

First, the camera provided with the board is recommended to be used with available examples. In your case, you need to make sure your camera is compatible. 

In USB Video Class (UVC), alternate settings correspond to different bandwidth capabilities. Some have smaller max packet sizes (lower bandwidth), others higher.
As of now, it is implemented in examples. (It's supported in device mode we have this example function  and we support it in core MW, configurable here and descriptor here

Without this condition, the host might pick an alternate setting with insufficient bandwidth, resulting in dropped frames or streaming failure. Needs to be tested!

>Are these supported in the Ux_Host_VIDEO example?

As of now, it is not supported in this example.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.