Only nVidia logo is shown after flashing, cannot complete oem_config setup through GUI

I am attempting to flash JetPack 4.6 to my production Xavier NX module (16gb EMMC module) connected to the nVidia Xavier NX devkit. I am trying to flash to the NVMe SSD connected to the devkit. The module had JetPack 4.6 on it from an earlier flash and I was able to use my HDMI monitor just fine, however I recently reflashed my module and I am unable to load any GUI.

I have used SDK Manager to download the latest build of JetPack 4.6 and I have applied the Overlay to support Jetson Xavier NX 16GB. I have tried flashing to the eMMC storage and I have tried flashing to the SSD, both have the same problem.

The nVidia logo shows up on my monitor and I am unable to move past it to complete the system setup. I can complete the OEM_CONFIG through the /dev/ttyACM0 console but I am unable to see the GUI desktop after the system configuration completes.

I have attached logs from the UART ports of the devkit after a fresh flash to the NVMe SSD using SDK Manager.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.253-tegra (buildbrain@mobile-u64-5497-d3000) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #1 SMP PREEMPT Mon Jul 26 12:19:28 PDT 2021
[    0.000000] Boot CPU: AArch64 Processor [4e0f0040]
[    0.000000] OF: fdt:memory scan node memory, reg size 48,
[    0.000000] OF: fdt: - 80000000 ,  2c000000
[    0.000000] OF: fdt: - ac200000 ,  44800000
[    0.000000] OF: fdt: - 100000000 ,  180000000
[    0.000000] earlycon: tegra_comb_uart0 at MMIO32 0x000000000c168000 (options '')
[    0.000000] bootconsole [tegra_comb_uart0] enabled
[    0.000000] Found tegra_fbmem: 00800000@a06b2000
[    0.000000] Found lut_mem: 00002008@a06af000
[    1.946123] tegra_nvdisp_bandwidth_register_max_config: couldn't find valid max config!
[    1.946238] tegradc 15200000.nvdisplay: failed to register ihub bw client
[    1.949588] tegra_nvdisp_bandwidth_register_max_config: couldn't find valid max config!
[    1.949658] tegradc 15210000.nvdisplay: failed to register ihub bw client
[    2.504783] imx219 9-0010: imx219_board_setup: error during i2c read probe (-121)
[    2.505338] imx219 9-0010: board setup failed
[    2.530338] imx219 10-0010: imx219_board_setup: error during i2c read probe (-121)
[    2.531050] imx219 10-0010: board setup failed
\FF\E2WARNING: at platform/drivers/pg/pg-gpu-t194.c:185
WARNING: at platform/drivers/pg/pg-gpu-t194.c:185
\FF\E1[    4.369805] cgroup: cgroup2: unknown option "nsdelegate"
\FF\E2WARNING: at platform/drivers/pg/pg-gpu-t194.c:185
WARNING: at platform/drivers/pg/pg-gpu-t194.c:185
\FF\E1[    6.326114] random: crng init done
[    6.326402] random: 7 urandom warning(s) missed due to ratelimiting
[    6.813851] using random self ethernet address
[    6.814079] using random host ethernet address
[    7.669169] using random self ethernet address
[    7.669447] using random host ethernet address
[   10.085206] Please complete system configuration setup on the serial port provided by Jetson's USB device mode connection. e.g. /dev/ttyACMx where x can 0, 1, 2 etc.

I flashed the board using the following command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme_250.xml -S 225GiB --showlogs --erase-all jetson-xavier-nx-devkit-emmc nvme0n1p1

I have attached UART logs as out_GUI_problem.txt along with the xml file used and the logs generated by initrd_flash.

out_GUI_problem.txt (40.7 KB)
flash_l4t_nvme_250.xml (8.3 KB)
flash_1-2_0_20220728-162238.log (72.0 KB)

Please apply these patches to you BSP.

Patch1

diff --git a/scripts/board_config/p2822-0000+p2888-0008-maxn.conf b/scripts/board_config/p2822-0000+p2888-0008-maxn.conf
index 5ab2f5f..83e215b 100644
--- a/scripts/board_config/p2822-0000+p2888-0008-maxn.conf
+++ b/scripts/board_config/p2822-0000+p2888-0008-maxn.conf
@@ -34,7 +34,6 @@
 BPFDTB_FILE=tegra194-a02-bpmp-p2888-0008-b01-jaxi-maxn.dtb;
 DTB_FILE=tegra194-p2888-0008-p2822-0000-maxn.dtb;
 TBCDTB_FILE=tegra194-p2888-0008-p2822-0000-maxn.dtb;
-TRIM_BPMP_DTB="true";
 SCEFILE="bootloader/sce_t194.bin";
 DRAMECCFILE="bootloader/dram-ecc-t194.bin";
 BADPAGEFILE="bootloader/badpage.bin";
diff --git a/scripts/board_config/p2822-0000+p2888-0008-safety.conf b/scripts/board_config/p2822-0000+p2888-0008-safety.conf
index d69fca5..cfa2364 100644
--- a/scripts/board_config/p2822-0000+p2888-0008-safety.conf
+++ b/scripts/board_config/p2822-0000+p2888-0008-safety.conf
@@ -35,7 +35,6 @@
 BPFDTB_FILE=tegra194-a02-bpmp-p2888-0008-b01-jaxi-safe.dtb;
 DTB_FILE=tegra194-p2888-0008-p2822-0000-safety.dtb;
 TBCDTB_FILE=tegra194-p2888-0008-p2822-0000.dtb;
-TRIM_BPMP_DTB="true";
 SCEFILE="bootloader/sce_t194_safe.bin";
 DRAMECCFILE="bootloader/dram-ecc-t194.bin";
 BADPAGEFILE="bootloader/badpage.bin";
diff --git a/scripts/board_config/p2822-0000+p2888-0008.conf b/scripts/board_config/p2822-0000+p2888-0008.conf
index ff64922..af5f863 100644
--- a/scripts/board_config/p2822-0000+p2888-0008.conf
+++ b/scripts/board_config/p2822-0000+p2888-0008.conf
@@ -34,7 +34,6 @@
 BPFDTB_FILE=tegra194-a02-bpmp-p2888-0008-b01-jaxi.dtb;
 DTB_FILE=tegra194-p2888-0008-p2822-0000.dtb;
 TBCDTB_FILE=tegra194-p2888-0008-p2822-0000.dtb;
-TRIM_BPMP_DTB="true";
 SCEFILE="bootloader/sce_t194.bin";
 DRAMECCFILE="bootloader/dram-ecc-t194.bin";
 BADPAGEFILE="bootloader/badpage.bin";
diff --git a/scripts/board_config/p3668.conf.common b/scripts/board_config/p3668.conf.common
index 8458be1..0096fdc 100644
--- a/scripts/board_config/p3668.conf.common
+++ b/scripts/board_config/p3668.conf.common
@@ -130,7 +130,6 @@
 MB2APPLET="nvtboot_applet_t194.bin"
 FBFILE="fuse_bypass_t194.xml";
 CBOOTOPTION_FILE="bootloader/cbo.dtb";
-TRIM_BPMP_DTB="true";

Patch2


diff --git a/scripts/board_config/p3668.conf.common b/scripts/board_config/p3668.conf.common
index 0096fdc..c6ce4c6 100644
--- a/scripts/board_config/p3668.conf.common
+++ b/scripts/board_config/p3668.conf.common
@@ -50,10 +50,6 @@
 	local board_revision="${4}";
 	local chiprev="${5}";
 
-	if [ "${board_id}" = "3668" ] && [ "${board_version}" = "301" ]; then
-		# Jetson Xavier NX A03 uses RAMCODE 1
-		RAMCODE=1
-	fi;
 	echo "Board ID(${board_id}) version(${board_version}) sku(${board_sku}) revision(${board_revision})"
 }
 

Thanks for the reply @WayneWWW

p2822-0000+p2888-0008-safety.conf is not present in my BSP, I made all the other changes in your previous reply and ran sudo ./apply_binaries.sh

I then flashed again using the same command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme_250.xml -S 225GiB --showlogs --erase-all jetson-xavier-nx-devkit-emmc nvme0n1p1

I was able to see the initial OEM_CONFIG through HDMI on my monitor, however, after completing the setup I have the same problem. Now the nVidia logo is displayed for a few seconds and then nothing is displayed on the monitor.

I have attached the flashing log generated by initrd_flash below as well as UART logs from bootup after completing oem_config.

flash_1-4_0_20220729-104834.log (72.0 KB)

uart_no_gui.log (40.2 KB)

Are you able to provide me with an explanation as to why these patches are necessary? Any other ways I could get the GUI back?

Thanks again

Because the NX has lots of PCN update due to DRAM component update, without that patch, there would be a bug.

Also, I think you hit separate issue but not the original issue. Is your uart able to see login prompt after you finish the configuration?

Yes my UART is able to see the login prompt and I am able to SSH into the computer as well. The UART logs I attached in my prior post contain the boot-up following the completion of the initial configuration.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Then you hit something else. Not related to the PCN or DRAM issue.

Please share the dmesg and /var/log/Xorg.0.log of current situation.