Is the C4 PCI port supported to be used in endpoint mode in Jetpack 5.1.3 on the Orin NX? Are there are any additional patches that are required? Here’s the stack trace that happens when we assign the interface an IP address:
@WayneWWW, the poster ( @daniel.ruiz1 ) is working with me & I will try to provide as much info as possible for his question.
The PCIE Root Complex device is an X86 CPU module ( the same one that we use with your Xavier NX in endpoint mode ).
In this case, we have a custom carrier board designed for the Orin NX instead of the Xavier NX.
On the Root Complex ( CPU side ), the same tegra_vnet driver is used like before and the pci interface comes up like normal on that side via lscpi & the tegra_vnet interface also shows up properly.
The Orin NX boots up off of an NVME SSD drive.
Just like on the Xavier NX, on the Orin NX, we make sure that the Root Complex device boots up after the Orin NX boots up as we use the Orin in PCIE endpoint mode over the C4 PCIE channel.
In Daniel’s post, the attached stacktrace happens after running these 2 commands:
sudo ip link set dev eth1 up
( we rename eth1 to pci0 , but it’s the same interface ).
After running this, we get a bunch of these messages:
469.250062] NOHZ tick-stop error: Non-RCU local softirq work is pending, hand!
[ 469.410972] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
[ 470.106965] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
[ 471.354958] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
Then we ping the IP address that is on the root complex device ( running this command on the Orin ).
After maybe 15-20 seconds that stack trace occurs.
On the Root Complex Side, this message shows up as expected:
IPv6: ADDRCONF(NETDEV_CHANGE): pci0: link becomes ready
along with this:
lspci | grep -i nvidia
03:00.0 Network controller: NVIDIA Corporation Tegra PCIe Endpoint Virtual Network
No errors on any of the logs on our Root Complex side.
Attached is are the full logs for the Orin NX.
The NetworkManager services are disabled on both of the Root Complex & Orin NX as well.
Also, our hardware engineer has triple checked our pinmux files and has confirmed that they are correct.
We have also verified that our device tree settings are in use by running this on the Orin NX:
dtc -I fs -O dts /sys/firmware/devicetree/base > deviceTree.dts
to extract the currently used device tree.
Please see our attached files.
I have appended “.txt” to the file names, so we can upload them uncompressed here.