Rock 5B with Kingston KC3000 NVMe does not boot

Hello!

I have a Rock 5B which I just purchased and I have found that with the NVMe disconnected from the slot on the underside the machine will boot normally from the micro SD. However if I have the NVMe installed and try to boot from micro SD nothing happens. The green light illuminates but I never get the blue light and nothing appears on screen.

I’ve tried using both the recommended Radxa PSU (36W max) and the PSU from my Steam Deck (45W max) and it doesn’t boot with either. Do I need even more power for this configuration or is this an unsupported NVMe drive?

Just realised that the tech specs for the system indicate that PCIe 3.0 is the highest supported standard so I guess it’s a safe bet that this is what is causing it to not work. I’ll order a different drive and confirm.

Hi PCIe 4.0 should be compatible with 3.0 (with slower speeds of course). Are you sure you put it in correctly and have correct image for nvme boot?

2 Likes

Honestly not sure. I now have a PCIe 3.0 drive and the machine now produces a blue light like it does when no NVMe is inserted but it goes out again after a second or two. I guess that is some kind of progress. This is with the standard Debian image supplied by Radxa on an SD card. Again the machine boots normally with no NVMe installed. I don’t see how I can have two faulty NVMe so I guess I’m doing something wrong. Do I need to flash firmware or something?

And I’m sure you followed the official instructions? (https://wiki.radxa.com/Rock5/install/nvme ;))

Some drives don’t work due to their power requirements.

I’m now running an WD SN570 which is reported working in this forum post at least. Still not booting with it connected.

Time to see what is going on using the uart?

1 Like

Yeah that’s what I assumed. Will order a cable and see what I can see. In the meantime is there anyone here who has had success in booting with an NVMe attached and were there any extra steps you think I may have missed?

If it’s booting from microsd or emmc and nvme just storage - nothing i can think off

But if you are trying to boot from nvme - that’s a bit harder

Did you put u-boot into the SPI flash?

Yes I’m booting from the microSD with just the NVMe attached. It’s not even formatted at this stage.

I haven’t made any changes to the SPI flash that the board came with. I’m aware that I need to flash it in order to boot from NVMe and I’m set up with the software to do that but was planning to do this step later.

My cable should arrive in the next couple of days then I can share what the console says.

Nothing appears on the console at all. I’ve even flashed the SPI now with the debug firmware and it doesn’t make any difference. I can still boot normally from microSD as long as I first remove the NVMe drive. Even then though nothing appears on the serial console. Going to keep trying different setups but I’m starting to run out of ideas. Is anyone else running a Rock 5B with an NVMe drive? The NVMe support is the whole reason I chose this board but I cannot get it to work.

Okay maybe I’m not as smart as I thought. I had the RX and TX swapped :smiley:

The serial output states that it is repeatedly trying to boot from the EMMC despite the fact that no EMMC is installed. I guess I need to try and configure the SPI to prioritise the microSD but I don’t know how to do that. I’ll continue to play around with it and report what I find.

After a SPI erase the serial console prints the following.

DDR Version V1.08 20220617
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
Manufacturer ID:0xff
CH0 RX Vref:29.7%, TX Vref:22.8%,22.8%
CH1 RX Vref:29.7%, TX Vref:23.8%,21.8%
CH2 RX Vref:29.7%, TX Vref:21.8%,21.8%
CH3 RX Vref:29.7%, TX Vref:22.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-gc060f28d70-220414 #zyf (Apr 18 2022 - 18:13:34)
Failed to set cpub01
Failed to set cpub23
Trying to boot from MMC2
spl: partition error
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(ac799e4aa0...) + OK
## Checking uboot 0x00200000 ... sha256(d6d81601f6...) + OK
## Checking fdt 0x0031c3a0 ... sha256(ae17a05fd1...) + OK
## Checking atf-2 0xff100000 ... sha256(c0f2f7769f...) + OK
## Checking atf-3 0x000f0000 ... sha256(338cd7cb83...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 595.626 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-557-g9609b9c19:derrick.huang
NOTICE:  BL31: Built : 14:29:57, Mar  8 2023
INFO:    spec: 0x1
INFO:    ext 32k is not valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9

Did you zero the SPI before flashing the new image? Also, MMC2 might be the SD card.

I’ve tried both before and after. Seems to behave the same way both ways. I guess it likely is complaining about the partition layout on the SD card. Strange thing is that all I have to do to make it boot is remove the NVMe. Same SD card and same image on it.

Uboot is probably your problem. Find one that outputs to console. Some version has output disabled to speed up boot for PD problem

Most likely uboot will try to boot from nvme if it is present. You could try setting up a boot partition on nvme. Anyway, output from. Uboot (not spl only) will help.

1 Like