USB Device Recognition Issue on Orin Nano Core Board Without FUSB301 Chip
Issue Overview
Users of the Nvidia Jetson Orin Nano core board (JP5.1.4) are experiencing problems with USB device recognition. The issue occurs when using USBSS1 and USB0 as Type-A ports without the FUSB301 chip, which is typically used for USB device detection on the Nvidia development board with Type-C ports. As a result, external USB devices are not being recognized by the system, impacting the functionality and usability of the Orin Nano core board.
Possible Causes
-
Missing USB Device Detection Chip: The absence of the FUSB301 chip, which is responsible for USB device detection on the standard Nvidia development board, may be preventing proper recognition of USB devices.
-
Incorrect Port Configuration: The use of USBSS1 and USB0 as Type-A ports instead of Type-C ports (as in the Nvidia development board) might require different software configurations.
-
Incompatible Software Settings: The current software configuration may not be optimized for the hardware setup without the FUSB301 chip, leading to device recognition issues.
-
Driver Issues: The absence of necessary drivers or incorrect driver configurations could prevent proper USB device detection and communication.
-
Hardware Incompatibility: There might be a hardware incompatibility between the core board’s USB controller and the connected USB devices without the FUSB301 chip to mediate the connection.
Troubleshooting Steps, Solutions & Fixes
-
Verify USB Controller Configuration:
- Check the current USB controller configuration in the device tree or UEFI settings.
- Ensure that the USB ports are properly configured for Type-A operation.
-
Update Software and Drivers:
- Ensure that the Jetson Linux (L4T) version is up to date.
- Check for any available USB controller driver updates specific to the Orin Nano core board.
-
Modify Device Tree:
- Edit the device tree to reflect the correct USB port configuration without the FUSB301 chip.
- Add or modify the USB controller node to specify Type-A port operation.
-
Enable USB Controller in Software:
- Use the following command to check if the USB controller is enabled:
sudo lsusb -t
- If the controller is not listed, enable it using the appropriate kernel module:
sudo modprobe tegra_xusb_padctl
- Use the following command to check if the USB controller is enabled:
-
Configure USB Power Delivery:
- Since the FUSB301 chip is typically used for USB Power Delivery negotiation, ensure that the USB ports are configured for appropriate power delivery without the chip.
- This may involve modifying UEFI settings or kernel parameters related to USB power management.
-
Test with Different USB Devices:
- Try connecting various USB devices to isolate whether the issue is specific to certain devices or a general problem.
- Use both low-power and high-power USB devices to test power delivery capabilities.
-
Check for Hardware Issues:
- Inspect the USB ports for any physical damage or debris.
- Verify that all necessary connections on the core board related to USB functionality are properly soldered and intact.
-
Consult Nvidia Developer Resources:
- Check the Nvidia Developer forums and documentation for any known issues or workarounds related to USB configuration on custom Orin Nano boards.
- Consider posting a detailed description of your hardware configuration and the steps you’ve taken to troubleshoot on the Nvidia Developer forums for additional support.
-
Custom Driver Development:
- If the issue persists, it may be necessary to develop a custom USB driver or modify existing drivers to work with the specific hardware configuration of your Orin Nano core board without the FUSB301 chip.
- This would require in-depth knowledge of USB protocols and Jetson platform driver development.
-
Hardware Modification (Last Resort):
- If software solutions prove ineffective, consider adding a USB device detection chip similar to FUSB301 to your core board design.
- This should only be attempted by experienced hardware engineers and may void any warranties or support agreements.