NVME SSD can't be detected on JetPack 4.6


Pics as below ,we have two 128gb nvme SSD from same brand and spec but different part number. (E12C / E13T)

We build two version JetPack 4.4 and 4.6 firmware on our product.(same carrier board)
E12C can be detected on JetPack 4.4 and 4.6 , (/dev/nvme0)
E13T can’t be detected on JetPack 4.6 , but worked on older JetPack 4.4

E13T logs on JetPack4.4 , dmesg | grep pci
at last line , nvme0 detected

E13T logs on 4.6
0005:01 seems didn’t show up.

I’ve compared tegra194-soc-pcie.dtsi on 4.4 and 4.6
It has a bit difference in range . (0xc2…)
I modified 4.6 one to be same with 4.4 and rebuild/download.
It still can’t detect E13T as 4.4 does.

Is there any PCI patch can be modified to make 4.6 worked as 4.4 to detect E13T successfully?

We also have tx2nx module , then installed E13T ssd with JetPack4.6 on tx2nx with same custom carrier board .
NVME can be detected on this combination.

It seem issue only happen on NX with newer Jetpack 4.6

The issue here seems to do with the failure in PCIe link up.
Could you please share the full kernel log in both passing and failing cases?

The difference in ‘ranges’ property doesn’t really affect the PCIe link up. So, you can ignore that difference for now.

Could you please do this experiment of replacing pcie-tegra.c file from Jetpack 4.4 to 4.6 and see if it works there? also vice-a-versa replacing the same file in 4.4 with the one from 4.6 and see if it fails the link up?
The reason, I’m asking for this experiment is that, although there are some differences in pcie-tegra.c files in both version, they are not expected to affect the PCIe link up. The above experiment is to confirm that.

I uploaded 5 different logs of modules (tx2,nx) , firmware (jetpack 4.3 ,4.6) and same PHISON 128gb SDD with different part number (e12c ,e13t)

While using NX with jetpack 4.6 plugs E13T 128gb , NVME is not detected.
E12C 128gb is abled to be detected.

NX with jetpack 4.3 is abled to detect E13T ,E12C
NX with jetpack 4.6 is abled to detect E12C
TX2NX with jetpack 4.6 is abled to detect E13T
TX2NX is not abled to load jetpack 4.3 for experiment.

I will take pcie-tegra.c replacement later.

sorry these 4.3 are mistype , should be jetpack 4.4

log_tx2nx_jp4.6_ssd128gb_13t.txt (61.7 KB)
log_nx_jp4.6_ssd128gb_12c.txt (65.5 KB)
log_nx_jp4.3_ssd128g_12c.txt (67.6 KB)
log_nx_jp4.3_ssd128g_13t.txt (67.1 KB)
log_nx_jp4.6_ssd128gb_13t.txt (63.6 KB)

I’ve replaced pcie-tegra.c file from Jetpack 4.4 to 4.6 on NX .
It seems no difference in kernel message after firmware reloaded, without SSD (13T) detected.

Seems like I also have some issues with Jetpack 4.6 upgrade regarding NVME drives with Physon and Sabrent controllers with 2242 formats and 1tb capacity.
Drives were recognised under l4t 32.5.2, but not 32.6.1. The bootloader has changed, allowing to flash directly on NVME.
I managed to get the drives recognised under 32.6.1 by downgrading cboot to the previous release version. I don’t really know if it creates instability though.

As suggested in :

You can simply remove the nvme entry from bootloader. It worked for me.

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