Arducam IMX519 USB 3.0 UVC Camera freezes on Jetson Nano

Hello, I’m trying to use an Arducam 16MP IMX519 Motorized Focus USB 3.0 Camera Module) connected to a Jetson Nano via a USB hub, but I’m facing the problem of freezing after taking 100 frames, at 101 images it freezes, it doesn’t depend on the resolution, it actually affects just the number of frames per freeze rate. After freezing, the camera stops responding and can only be fixed by physically reconnecting to the hub. I’ve tried over 10 different hubs and none of them work consistently on the Jetson Nano, while Windows 10 works great.

The result of viewing connected USB devices:

jetson@nano:~$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 5000M
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
         |__ Port 1: Dev 10, If 0, Class=Hub, Driver=hub/4p, 5000M
             |__ Port 3: Dev 11, If 0, Class=Hub, Driver=hub/4p, 5000M
             |__ Port 4: Dev 22, If 0, Class=Video, Driver=uvcvideo, 5000M
             |__ Port 4: Dev 22, If 1, Class=Video, Driver=uvcvideo, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/5p, 480M
     |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
         |__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M
             |__ Port 3: Dev 9, If 0, Class=Hub, Driver=hub/4p, 480M

dmesg after working with the camera:

[ 1100.335833] uvcvideo: Found UVC 1.10 device Arducam B0471 (USB3 16MP) (04b4:0471)
[ 1100.337675] uvcvideo 2-1.1.3.4:1.0: Entity type for entity Extension 3 was not initialized!
[ 1100.346158] uvcvideo 2-1.1.3.4:1.0: Entity type for entity Processing 2 was not initialized!
[ 1100.354676] uvcvideo 2-1.1.3.4:1.0: Entity type for entity Camera 1 was not initialized!
[ 1105.565430] uvcvideo: Non-zero status (-71) in video completion handler.
[ 2311.319303] uvcvideo: Found UVC 1.10 device Arducam B0471 (USB3 16MP) (04b4:0471)
[ 2311.321284] uvcvideo 2-1.1.4:1.0: Entity type for entity Extension 3 was not initialized!
[ 2311.329605] uvcvideo 2-1.1.4:1.0: Entity type for entity Processing 2 was not initialized!
[ 2311.338041] uvcvideo 2-1.1.4:1.0: Entity type for entity Camera 1 was not initialized!
[ 2348.426881] uvcvideo: Non-zero status (-71) in video completion handler.

Found the following for this problem but failed to apply it. Maybe you can tell me how to replace BULK with ISOC for testing?

Available video formats:

jetson@nano:~$ v4l2-ctl --list-formats-ext -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
Index: 0
Type: Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
Size: Discrete 1280x720
Interval: Discrete 0.008s (120.000 fps)
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 2320x1748
Interval: Discrete 0.025s (40.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 3840x2160
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 4656x3496
Interval: Discrete 0.111s (9.000 fps)
Interval: Discrete 0.200s (5.000 fps)

The pipeline with which I start the camera:

gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=YUY2, width=4656, height=3496, framerate=9/1" ! xvimagesink

I also tested through qv4l2, the problem persists, the hang is accompanied by the following:

jetson@nano:~$ qv4l2
Opening in O_NONBLOCKING MODE
Opening in O_NONBLOCKING MODE
v4l-convert: error short yuyv data frame

error
Opening in O_NONBLOCKING MODE
Error White Balance Temperature: Input/output error
Error Exposure (Absolute): Input/output error

Also, I had doubts about sufficient power, so I installed a separate power supply at 5.2 V, here is the result of looking at the input voltage in the Jetson Nano:

jetson@nano:~$ sudo cat /sys/bus/i2c/drivers/ina3221x/6-0040/iio\:device0/in_voltage0_input
5200

Perhaps you have encountered the connection of similar USB cameras through hubs, which can cause freezes? Or how can you bring the video display to the level of the Windows OS?

Thank you in advance!

How about connect to Nano directly?

Are you saying that you have a extra usb power to the camera? or something else?

What is the usb topology (your connection) here?

What is the usb topology (your connection) here?

The topology of my connection is as follows, all cables support data transmission of 5 Gb/s.

How about connect to Nano directly?

When connecting the camera directly, that is, replacing the USB hub with a cable, or directly connecting the existing cable, the camera works perfectly, problems appear only when connecting the hub.

Are you saying that you have a extra usb power to the camera? or something else?

I only have additional power from the Jetson Nano side, but I checked the hubs that have an additional power connection and it still didn’t help. I would like to note that on a Windows PC, everything works even without additional power in exactly the topology I indicated.