NVMe SSD not detected by TX2 on J120 carrier board from Auvidea

Hey,

I am working with the TX2 and J120 carrier board. I wanted to add external storage and hence decided to include 1TB M.2 (Samsung Evo 960) hard disk. But it is not being detected by TX2. Checked the Kernel support for NMVe devices, Its enabled. I even recompiled with other generic NMVe SSD support. Still doesn’t get detected. I am not sure what I am missing. I did notice a couple of threads related to issues with M.2 slot but those were all with TX1.

The pcie related dmesg is as follows

[    0.348857] node /plugin-manager/fragment-500-pcie-config match with board >=3310-1000-500
[    0.366692] node /plugin-manager/fragment-500-e3325-pcie match with board >=3310-1000-500
[    1.171752] iommu: Adding device 10003000.pcie-controller to group 48
[   13.533797] tegra-pcie 10003000.pcie-controller: 4x1, 1x1 configuration
[   13.547634] tegra-pcie 10003000.pcie-controller: PCIE: Enable power rails
[   13.561710] tegra-pcie 10003000.pcie-controller: probing port 0, using 4 lanes
[   13.576021] tegra-pcie 10003000.pcie-controller: probing port 2, using 1 lanes
[   14.014469] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   14.418470] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   14.820471] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   14.822484] tegra-pcie 10003000.pcie-controller: link 0 down, ignoring
[   15.224800] tegra-pcie 10003000.pcie-controller: link 2 down, retrying
[   15.629199] tegra-pcie 10003000.pcie-controller: link 2 down, retrying
[   16.032454] tegra-pcie 10003000.pcie-controller: link 2 down, retrying
[   16.047278] tegra-pcie 10003000.pcie-controller: link 2 down, ignoring
[   16.056059] tegra-pcie 10003000.pcie-controller: PCIE: no end points detected
[   16.065742] tegra-pcie 10003000.pcie-controller: PCIE: Disable power rails

for some reason the kernel doesn’t recognize any devices on the M.2 port.

Anyone facing similar issues? Any help is greatly appreciated.

Thanks

Hi spacemanspiff0211,

Are you using the firmware for Jetson TX2 based carrier boards from Auvidea?
If not, please try - https://auvidea.com/firmware/

The method to get the NVMe SSDs working on the J120 should be similar, you may find the suggestion from below link: https://devtalk.nvidia.com/default/topic/937478/

Thanks

Hey kayccc,

Thanks for your reply. I did re-flash the tx2 with the latest firmware provided by Auvidea. I am sure of this because the USB 2.0 and USB 3.0 is working. It wasn’t working when I booted the device the from tx2 directly out of the dev board. Although I did reflash with the firmware update, I dont trust my edit completely. The procedure i followed for building the custom kernel was

Copying tegra186-quill-power-tree-p3310-1000-a00-00.dtsi -> to "kernel-src"/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/
make O=$TEGRA_KERNEL_OUT tegra18_defconfig
make mrproper (coz it was generating an error) 
make O=$TEGRA_KERNEL_OUT zImage
make O=$TEGRA_KERNEL_OUT dtbs
make O=$TEGRA_KERNEL_OUT modules
$ make O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=<my_destination>
copying Image and zImage to Linux_for_Tegra/kernel
Replacing the contents of Linux_for_Tegra/kernel/dtb/ with <build_dir>/arch/arm64/boot/dts/
compressing the lib modules with tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules and replacing the Linux_for_Tegra/kernel/kernel_supplements.tbz2

This procedure was given by the Nvidia Document along with the instruction given in the readme.txt by Auvidea. Am I doing something wrong? Also I did check the .config file for [code] CONFIG_BLK_DEV_NVME=y[\code] and its enabled.

I know I am missing something. Since I bought a new SSD, i am assuming that the ssd is perfectly functional.

Edit : sorry… typo its “make mrproper” and not “mprepare”

Thanks

I think you can try: make O=$TEGRA_KERNEL_OUT auvidea_defconfig

Hey Chelalv,

Thanks for the suggestion. I tried with auvidea_defconfig. It still doesn’t recognize the SSD. I have even tried to use the binaries given by the Auvidea directly, But turns out tat the SSD is not recognized by j120 while using the binaries given by Auvidea. At this time I am suspecting that the SSD is faulty (Which might be highly unlikely), hence I just exchanged the SSD and will try it again.

@Auvidea: Some support now would be really helpful…
Thanks
Akshay