Interconnecting Jetson Orin Nano/NX Modules via USB 3.2
Issue Overview
Users are seeking to interconnect multiple Jetson Orin Nano/NX modules to create a small compute cluster. The conventional method of using an Ethernet switch is insufficient due to the 1GbE limitation of Jetson modules. Instead, users want to utilize the three USB 3.2 Gen 2 ports, which offer higher speeds (10Gb/s in host mode and 5Gb/s in device mode). However, there are concerns about the limitations of device mode connections and the need for dynamic configuration.
Possible Causes
-
Hardware Limitations: The Orin Technical Reference Manual indicates that only one USB 3.2 connection can be in device mode at any given time.
-
Configuration Complexity: The process of dynamically changing which connection is in device/host mode is not straightforward and requires specific software configuration.
-
Lack of Documentation: There is limited documentation available for implementing dynamic device/host connections, especially for USB 3.2 configurations.
-
Circuit Design Challenges: Implementing the correct circuit design for USB 3.2 connections, including appropriate transient voltage suppressor diodes and capacitors, requires careful consideration.
Troubleshooting Steps, Solutions & Fixes
-
Dynamic Device/Host Mode Configuration
- It is possible to dynamically change which connection is in device/host mode, but only one device mode port can be in use at a time.
- Use the software node
/sys/class/usb_role/usb2-0-role-switch/role
to switch the role dynamically.
-
USB 3.2 Circuit Design
- For combining USB0 and USBSS0, follow Figure 7-2 from the Product Design Guide, but swap USB1 with USB0.
- Add a switch to USB0 similar to the P2822 schematic design.
- For VBUS detection, use pin 87 (GPIO00) as in the Nano design.
- For other USB 3.2 ports in host mode, arbitrary GPIO pins can be used for the EN connection.
-
Device-Only Schematic
- A sample device-only schematic was provided and confirmed by the forum:
[Insert image of the device-only schematic here]
-
Transient Voltage Suppressor Diodes
- For USB 3.2 connections, use TPD4E05U06 diodes as shown in Figure 7-2 of the Product Design Guide.
-
AC Capacitors
- The necessity of 0.1uF AC capacitors on the TX lines was not explicitly confirmed, but following the design in Figure 7-2 is recommended.
-
Multiple Host Ports
- It is possible to have multiple host ports, but there will always be only one device mode port.
-
Custom Driver Development
- Bypassing the USB protocol and utilizing UPHY lanes directly with custom drivers is not possible. Communication must go through the provided interface/driver.
-
Reference Designs
- For more complex configurations, refer to the Xavier devkit carrier P2822 schematic for switch design examples.
-
Limitations
- Be aware that only one device mode port can be in use at the same time, even with dynamic configuration.
- Direct UPHY lane utilization and custom driver development are not supported options.
By following these steps and guidelines, users should be able to interconnect Jetson Orin Nano/NX modules using USB 3.2 connections. However, it’s important to note that this setup has limitations, particularly in terms of simultaneous device mode connections. For optimal performance, careful planning of the module interconnections and roles is necessary.