Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

New Contributor


We use the FX3S as part of a camera to store the recorded shots on a SD card. When USB is connected the images can be read from the internal SD card since the FX3S works as a USB Mass Storage Device. As Mass Storage device it can be accessed using the universally available drivers for all host operation systems. So no driver writing is needed.

When USB is disconnected the camera works standalone and records the shots on the SD card.

It has been requested to add a USB Video Class (uvc) device to the implementation of the FX3S firmware. In this situation the camera still records the shots to the SD card when USB is disconnected. But when USB is connected two devices should be presented to the operating system. The Mass Storage device for access to the SD card, and an USB Video Class device for direct access to the stream of shots (like a webcam).

Is there a way to present two devices descriptors to the operating system, like if there were two independent devices, with their own interfaces? So when connecting USB to the camera two devices are recognized and appear (under Windows or Linux) as a USB Mass Storage Device and as an Imaging Device.



1 Solution

Hello Rene,

- Under the "Configuration Descriptor" section of the descriptor file, a new descriptor information has to be included to add the UVC interface. The length of the "Configuration Descriptor" and the "Number of interfaces" section has to be updated accordingly.

- The endpoints that are used in the UVC and MSC descriptors should not coincide.

- The endpoints must be configured in the device firmware.

- The functionalities for the new interface must be included in the firmware.

Best regards,

Srinath S

View solution in original post

3 Replies