Ethernet Port Not Waking Up on Custom Carrier Board for Nvidia Jetson Orin Nano
Issue Overview
The user has designed a custom carrier board for the Nvidia Jetson Orin Nano module, encountering issues with the Ethernet port not functioning properly. While other ports (USB and DisplayPorts) are working fine, the Ethernet port fails to wake up. The user observes an error message during debugging through the UART interface: "tegra194-pcie 14160000.pcie: Phy link never came up". This issue is particularly problematic as the Ethernet controller in the module is connected via the PCIe bus.
Possible Causes
-
Hardware Design Discrepancies: Differences between the custom carrier board design and the reference design may be causing the issue.
-
PCIe Controller Configuration: The PCIe controller for the Ethernet (C8) might not be properly configured or initialized.
-
Power Sequencing: Incorrect power sequencing for the PCIe link (C8) connected to Ethernet could prevent it from waking up.
-
Missing Enable Pin: There might be an enable pin for Ethernet that needs to be set high, which could have been overlooked in the custom design.
-
Software Modifications: Although the user claims no software changes were made, any unintended modifications to the PCIe-related software could cause issues.
Troubleshooting Steps, Solutions & Fixes
-
Review Hardware Design:
- Carefully review the custom carrier board design against the Nvidia Design Guide document.
- Pay special attention to the PCIe controller design for the Ethernet bridge.
- Use the checklist sheet attached to the Design Guide document to systematically review your design.
-
Focus on PCIe C8:
- Concentrate on troubleshooting PCIe controller C8, which is specifically used for Ethernet.
- Verify that all necessary PCIe control pins (PERST, WAKE, CLKREQ, etc.) are properly connected and in the correct state.
-
Check Power Sequencing:
- Review the power sequencing section in the updated Design Guide document.
- Ensure that the power sequencing for the PCIe link (C8) connected to Ethernet follows the recommended timings.
-
Verify PCIe Link Status:
- Use the following command to check the PCIe link status:
lspci -vvv
- Look for the Ethernet controller in the output and verify its link status.
- Use the following command to check the PCIe link status:
-
Examine UART Console Logs:
- Analyze the UART console logs for any error messages or warnings related to PCIe or Ethernet initialization.
- Pay attention to messages about link training or PHY initialization failures.
-
Compare with Reference Design:
- If possible, obtain the reference carrier board design from Nvidia.
- Compare your custom design with the reference, focusing on PCIe routing, power delivery, and signal integrity.
-
Test with Original Carrier Board:
- If available, test the Jetson Orin Nano module on the original carrier board to isolate whether the issue is with the module or the custom carrier board.
-
Check Unused Pins:
- Verify that unused multi-purpose standard CMOS pad interfaces are left unconnected, as specified in chapter 14.1 of the Design Guide.
-
Consult Nvidia Support:
- If the issue persists after trying the above steps, consider reaching out to Nvidia support for further assistance.
- Provide them with detailed information about your custom carrier board design and the troubleshooting steps you’ve already taken.
-
Consider Hardware Revision:
- If all software-based solutions fail, you may need to revise your hardware design.
- Focus on the Ethernet controller’s PCIe connection, power delivery, and signal integrity.
Remember to document all your troubleshooting steps and findings. This will be valuable information if you need to consult with Nvidia support or revise your hardware design.