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 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 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