Laurent, I finally did it ! On usbcore, I correct the bandwidth of endpoint 4 from 912 to 1024. maxp = usb_endpoint_maxp(&endpoint->desc) & 0x07ff; if (maxp == 912) endpoint->desc.wMaxPacketSize = cpu_to_le16(1024); On uvcvideo: I set: 768 B/frame bandwidth I use endpoint alt-setting 4 by disabling some checking code. And I get uvcvideo: Allocated 5 URB buffers of 32x1024 bytes each. So I can run the 4 cam on the same USB card: gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=160,height=120,framerate=30/1' ! xvimagesink gst-launch v4l2src device=/dev/video1 ! 'video/x-raw-yuv,width=160,height=120,framerate=30/1' ! xvimagesink gst-launch v4l2src device=/dev/video2 ! 'video/x-raw-yuv,width=160,height=120,framerate=30/1' ! xvimagesink gst-launch v4l2src device=/dev/video3 ! 'video/x-raw-yuv,width=160,height=120,framerate=30/1' ! xvimagesink I will try to do it less dirty next week ... Thank's a lot for pointing me on usbcore ... Many regards, Pierre Selon Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>: > lsusb parses the raw descriptors. Could you print the wMaxPacketSize value > for all the endpoints in the uvcvideo driver ? The value is also exported through > a sysfs attribute. > > -- > Regards, > > Laurent Pinchart > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html