Unable to boot Jetson Orin in root port mode for PCIe communication after kernel recompilation with CONFIG_STRICT_DEVMEM=n

We are trying to establish bi-directional PCIe communication between two Jetson Orin AGX.

We have flashed Jetpack 5.1 using Ubuntu 20.04. For flashing root port Orin we have made changes using PCIe Endpoint Mode — Jetson Linux Developer Guide documentation

On root port we were unable to access devmem due to permission issues and to solve this we have added CONFIG_STRICT_DEVMEM=n in tegra_defconfig and recompiled the kernel using [Kernel Customization — Jetson Linux Developer Guide documentation ]

The build was successful and we were able to flash the orin successfully but the orin is not booting up after that. There is no display. We are not able to access through minicom in recovery mode as well.

How do we resolve this issue to make our Jetson Orin work in root port mode and access devmem?

How about you use the default BSP to boot up first and then change the kernel?

Would that method work?

The build was successful and we were able to flash the orin successfully but the orin is not booting up after that. There is no display. We are not able to access through minicom in recovery mode as well.

Also, your comment is actually conflicting to itself. There is no “flash succesffully” and “minicom cannot access in recovery mode”. If your board successfully flashed, then it won’t be in recovery mode. Thus, your comment could be just a newbie mistake.

I have done the following steps again :

  1. I re-flashed the Orin using default BSP.

  2. Made changes to default BSP ( added CONFIG_STRICT_DEVMEM=n in tegra_defconfig) using this Kernel Customization — Jetson Linux Developer Guide documentation

  3. After building the kernel I flashed orin using the command : sudo ./flash.sh -k kernel jetson-agx-orin-devkit mmcblk0p1.
    After this i faced the same issue that my device led is on but there is no display.

  4. After this i reattempted again. I reflashed the orin with default kernel.
    Then I followed this link : Flashing Newly Built Kernel to Jetson AGX Orin causes Jetson to not boot (with logs) - #16 by jtaghipour and copied my modified kernel image to /boot/ and modified /boot/extlinux/extlinux.conf ( as mentioned in this file i have renamed the original kernel as backup and add the required likes to reflect the backup)
    Even after doing this i am not getting any display on reboot.

Am I missing some step ? Kindly guide on what steps to take to allow devmem access for PCIe (CONFIG_STRICT_DEVMEM=n) in Orin.

  1. We tried all the steps from scratch.

  2. Flashed the PCI endpoint on AGX orin with following change (P3701.conf.common)
    ODMDATA = nvhs-uphy-config-1

  3. after connecting two Orin devkits with PCIe custom card ,we did the following

boot the endpoint AND RUN THE FOLLOWING WITH SUDO

cd /sys/kernel/config/pci_ep/
mkdir functions/pci_epf_nv_test/func1
echo 0x10de > functions/pci_epf_nv_test/func1/vendorid
echo 0x0001 > functions/pci_epf_nv_test/func1/deviceid
ln -s functions/pci_epf_nv_test/func1 controllers/141a0000.pcie_ep/
echo 1 > controllers/141a0000.pcie_ep/start

apt install busybox pciutils

dmesg | grep pci_epf_nv_test

AFTER THIS

when we read or write to RAM we are getting operation not permitted.
please find screenshot attached.

after this we did kernel recompilation as mentioned in prev post but still the Orin display does not show up after recompilation

can you provide some detailed steps on kernel recompilation with CONFIG_STRICT_DEVMEM=n ?

Have you checked Debugging the Kernel — Jetson Linux Developer Guide documentation (nvidia.com)?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.