Power & Source of Big Ideas

NVME Does not recognized

Moderators: chensy, FATechsupport

Hello, I use R6C box and it does not recognise my 2TB pcie 4.0 nvme drive(Kingston SNV2S/2000G). Drive is 100% alive, I use it in a two machines without any issues. Looking for some help.

Two another nvme drives works well in r6c without any issues.


Code: Select all

root@FriendlyWrt:~# dmesg
[    1.642652] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    1.642678] Linux version 6.1.57 (ubuntu@dff731ce97bd) (aarch64-linux-gnu-gcc (ctng-1.25.0-119g-FA) 11.3.0, GNU ld (GNU Binutils) 2.38) #1 SMP Mon Aug 19 20:16:00 CST 2024
[    1.645164] random: crng init done
[    1.649313] Machine model: FriendlyElec NanoPi R6C
[    1.656480] earlycon: uart8250 at MMIO32 0x00000000feb50000 (options '')
[    1.659816] printk: bootconsole [uart8250] enabled
root@FriendlyWrt:~# lspci
0003:30:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0003:31:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
root@FriendlyWrt:~# dmesg | grep pcie
[    4.232961] reg-fixed-voltage vcc3v3-pcie20: Looking up vin-supply from device tree
[    4.232974] vcc_3v3_pcie20: supplied by vcc_3v3_s3
[    4.233213] vcc_3v3_pcie20: 3300 mV, enabled
[    4.233367] reg-fixed-voltage vcc3v3-pcie20: vcc_3v3_pcie20 supplying 3300000uV
[    4.233920] rk-pcie fe180000.pcie: invalid prsnt-gpios property in node
[    4.234429] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[    4.234448] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[    4.235406] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[    4.235444] rk-pcie fe190000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    4.235464] rk-pcie fe190000.pcie:      MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[    4.235477] rk-pcie fe190000.pcie:      MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[    4.235546] rk-pcie fe190000.pcie: iATU unroll: enabled
[    4.235554] rk-pcie fe190000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.283224] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[    4.283309] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed
[    4.345189] rk-pcie fe180000.pcie: Looking up vpcie3v3-supply from device tree
[    4.346806] rk-pcie fe180000.pcie: host bridge /pcie@fe180000 ranges:
[    4.346873] rk-pcie fe180000.pcie:       IO 0x00f3100000..0x00f31fffff -> 0x00f3100000
[    4.346904] rk-pcie fe180000.pcie:      MEM 0x00f3200000..0x00f3ffffff -> 0x00f3200000
[    4.346925] rk-pcie fe180000.pcie:      MEM 0x09c0000000..0x09ffffffff -> 0x09c0000000
[    4.347016] rk-pcie fe180000.pcie: iATU unroll: enabled
[    4.347030] rk-pcie fe180000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.456401] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[    4.477544] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[    4.498721] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[    4.519804] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[    4.540885] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[    4.655130] rk-pcie fe180000.pcie: PCIe Link up, LTSSM is 0x130011
[    4.655191] rk-pcie fe180000.pcie: PCIe Gen.2 x1 link up
[    4.655709] rk-pcie fe180000.pcie: PCI host bridge to bus 0003:30
[    4.699254] pcieport 0003:30:00.0: PME: Signaling with IRQ 122
[    5.506753] rk-pcie fe190000.pcie: PCIe Link Fail, LTSSM is 0x3, hw_retries=0
[    5.506810] rk-pcie fe190000.pcie: failed to initialize host
root@FriendlyWrt:~# uname -a
Linux FriendlyWrt 6.1.57 #1 SMP Mon Aug 19 20:16:00 CST 2024 aarch64 GNU/Linux
Help
up
Anyone?
Have you tried connecting to the debug port?
I think you will see the vendor-supplied 2017-version of u-boot installed.

For a recent nvme an 2024.xx-version or higher might be required.

Record the startup using a terminal connected to the debug port, that should confirm the problem (dmesg does not record u-boot messages).
Thank you! I will check it and share the results.

How can I upgrade u-boot for release 2024.xx? Is it something trivial I have to do with package manager or some specific actions are needed?
I'd say it is not trivial.

I used the method mentioned on the inindev github pages:
https://github.com/inindev/nanopi-r6
or
https://github.com/inindev/nanopi-r6/issues/4

Perhaps instead the below ones for the T6 which are similar but more recent:
https://github.com/inindev/nanopc-t6
or
https://github.com/inindev/nanopc-t6/issues/13
(Not every T6/R6/M6 has an integrated serial console and not every machine has SPI. If there is no SPI you might have to install u-boot on emmc or an sd-card, which is basically also mmc.)

Basically: you just need a dtb for your device for both u-boot and the kernel. Then you need a clean OS after the kernel has started. Inindev does not have a u-boot package (but it does provide a manual way to install u-boot with precompiled images), it also provides a kernel-package and a clean debian installation.

Please do realise that a crude installlation-kernel which boots, can start up a network and only provides feedback via ssh or a serial console is sufficient. For HDMI you might have to install the working kernel available at another location in the next installation step, meaning a monitor might only be usefull later in the installation process.
(And it still beats having to install u-boot from github sources.)

For a trivial solution you'd need to start up, install in one go spi and nvme, etc, etc.. That might work using Armbian, but in my opinion their tools just obfuscate the process. If you can't use it as a black box it will just create more problems. The platforms I tried were degraded from standard support to community support, where I found little activity in the community, so it did not work for me. YMMV.
Small addition: I found the system still booting with other distributions after exchanging u-boot.

So you might try updating u-boot without changing the rest. A reinstall might be required though.
Thank you very much for reply, at least I know where to dig then.
Indeed, I have an old u-boot.

root@FriendlyWrt:~# strings /dev/mmcblk2 | grep U-Boot
U-Boot SPL board init
Jumping to U-Boot(0x%08lx)
command in your U-Boot project: ./scripts/stacktrace.sh dump.txt %s
U-Boot SPL 2017.09-gc060f28d70-220414 #zyf (Apr 18 2022 - 18:13:34)
U-Boot
^C


Seems like u-boot patches from friendly-elec not in mainstream branch of u-boot.
Will try to figureout, how to fix it.

Thank you very much, again.
So, after dosen of plays with u-boot, distros, etc, I decided to give up. My ssd just doesnt work in that r6c.
Its not recognised not by u-boot shell, not in a linux...
R6C and NVME devices are definitely functional, but seems like just can't work in a tandem by some unknown reason.
All the rest m2 drives I tried just works fine( I tried 128 gb sata m2, 64 gb emmc from steamdeck, nmve 256gb), so will try to find another large ssd nvme drive for that task.

It would be great to have a list of validated and 100% work nvme drives to avoid this situation in a future.

Who is online

In total there are 17 users online :: 0 registered, 0 hidden and 17 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 17 guests