Using 3 USB 2.0 cameras with a Jetson Thor

Hello everyone,

I’m currently building a robot for which I’m planning to integrate three USB 2.0 cameras on my Jetson AGX Thor Dev Kit.

I tried plugging two cameras into both USB-A ports and plugging the 3rd camera in a USB-C hub plugged into either the USB-C ports 5a or 5b on this page, and it seems like the Thor doesn’t detect the 3rd camera.

I then tried plugging two cameras through a USB-A hub into one of the USB-A ports, and the third one into the other USB-A port. All cameras are detected, but I can only get streams from two cameras (one from the hub + the one on the port).

Did anyone manage to connect more than two cameras to a Thor? If yes, how did you achieve it?

Thanks in advance

Hi,
On AGX Thor developer kit, the type C port for flashing system image is configured to device mode. Please modify device tree to set it to host mode, so that USB devices can be enumerated. Please refer to

Jetson Thor Adaptation and Bring-Up — NVIDIA Jetson Linux Developer Guide

ports {
    usb2-0 {
            mode = "peripheral";
            usb-role-switch;
            role-switch-default-mode = "peripheral";
            status = "okay";
    };

    usb@a80aa10000 {
            phys = <&{/bus@0/padctl@a808680000/pads/usb2/lanes/usb2-1}>,
                <&{/bus@0/padctl@a808680000/pads/usb2/lanes/usb2-2}>,
                <&{/bus@0/padctl@a808680000/pads/usb2/lanes/usb2-3}>,
                <&{/bus@0/padctl@a808680000/pads/usb3/lanes/usb3-0}>,
                <&{/bus@0/padctl@a808680000/pads/usb3/lanes/usb3-2}>;
            phy-names = "usb2-1", "usb2-2", "usb2-3", "usb3-0", "usb3-2";
            status = "okay";
    };

Please modify usb2-0 to

    usb2-0 {
        mode = "host";
        status = "okay";
    };

overwrite the dtb file:

/boot/dtb/kernel_tegra264-p4071-0000+p3834-0008-nv.dtb

Put the line to /boot/extlinux/extlinux.conf:

      FDT /boot/dtb/kernel_tegra264-p4071-0000+p3834-0008-nv.dtb

And reboot the system.

You cannot re-flash the system after the modification, because the post has to be in device mode while flashing.