Nvme software support at launch of rock 5b

Hi,
Debug party didn’t answer question regarding nvme support at launch.

  1. Is provided Linux kernel supports nvme at launch of rock 5b ?

  2. Is booting from nvme drive supported at launch of rock 5b or it will come later ?

  3. Is it better to stick to emmc at launch and wait for proper nvme support later ?

1 Like

NVME works. I’m just using emmc for /boot and then the /rootfs on nvme.

 lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk2     179:0    0  29.5G  0 disk
|-mmcblk2p1 179:1    0   512M  0 part /boot
`-mmcblk2p2 179:2    0    29G  0 part /
nvme0n1     259:0    0 238.5G  0 disk
|-nvme0n1p1 259:1    0    16M  0 part
|-nvme0n1p2 259:2    0 222.7G  0 part
`-nvme0n1p3 259:3    0  15.7G  0 part

io Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 439.98 MB/s (109.9k) | 500.58 MB/s   (7.8k)
Write      | 439.69 MB/s (109.9k) | 515.47 MB/s   (8.0k)
Total      | 879.67 MB/s (219.9k) | 1.01 GB/s    (15.8k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 504.80 MB/s    (985) | 515.72 MB/s    (503)
Write      | 547.98 MB/s   (1.0k) | 575.40 MB/s    (561)
Total      | 1.05 GB/s     (2.0k) | 1.09 GB/s     (1.0k)

rock@rock-5b:~$ sudo hdparm -t  /dev/nvme0n1p1

/dev/nvme0n1p1:
 Timing buffered disk reads: 3376 MB in  3.00 seconds = 1125.23 MB/sec

Guess boot from nvme and such may come later haven’t tried it and maybe already but maybe not.

Thanks for your answers.

One question left is booting from nvme.
Radxa team could you please comment?

If I am planning to use nvme drive for everything but booting. What size of emmc should I buy?

I guess enough for a boot partition so tiny but maybe an old sd card is cheaper

Booting from nvme should be familiar with rock3a, you need to flash the u-boot image into spi flash. There are two ways to do it:
A, flash the u-boot image into spi flash using maskrom. It should work at this time, but I haven’t tried it.
B, flash the u-boot image into spi flash when you’re in the Linux system of the board by using dd command. This requires sfc node in device tree, which should be added later.

Oh, I thought there wouldn’t be an SPI NOR flash on the developer edition but now I found a Macronix part next to the GPIO header partially covered by the fansink.

So you think all that’s missing is a DT node for it to be accessible from within Linux?

Do you know a good and end-user friendly MASKROM tutorial dealing with recent RK’s implementation one can link to? Speaking about something that could be put into a board review and not just suitable for experts…

There is a gold maskrom button near the gpio pins. To enter maskrom mode, press the maskrom button and connect typec port to your Linux computer. Using rkdeveloptool you can see the maskrom device. If you have emmc installed, image is flashed into emmc(I’ve confirmed). If you remove the emmc, the image should get flashed into spi flash I guess.

OMG is this thing tiny :slight_smile:

I managed to enter maskrom mode using a chopstick but unfortunately my ‘Linux computer’ with USB-C does not exist or could be only a Linux VM in macOS with USB passthrough.

At least the board appears on the USB bus:

USB 3.1 Bus:

  Host Controller Driver: AppleIntelCNLUSBXHCI
  PCI Device ID: 0xa36d 
  PCI Revision ID: 0x0010 
  PCI Vendor ID: 0x8086 

    Composite Device:

      Product ID: 0x350b
      Vendor ID: 0x2207  (Fuzhou Rockchip Electronics Co., Ltd.)
      Version: 1.00
      Speed: Up to 480 Mb/s
      Location ID: 0x14100000 / 1
      Current Available (mA): 500
      Current Required (mA): 400
      Extra Operating Current (mA): 0

Can you please point to the correct rkdeveloptool repo and confirm whether this works with arm64 as well or only x86/x64?

I’ve confirmed that rkdeveloptool works on my rock3a. I’m following this guide: https://wiki.radxa.com/Rock3/install/rockchip-flash-tools#Part_two:_rkdeveloptool_on_Linux. I think the guide for mac should also work.

Confirmed:

tk@mac-tk ~ % rkdeveloptool -v
rkdeveloptool ver 1.32
tk@mac-tk ~ % rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350b,LocationID=1401	Maskrom

Thank you for the help!

Thanks. Very useful info about maskrom and spi flash availability.

It would be so nice if someone actually going to try booting from spi flash. Thanks in a advance.

My rock 5b does not boot from nvme. It is productive version. Are there any guides how to flash uboot and with which image.

If it keeps rebooting, it’s probably not receiving enough power from your power supply.

Power supply is enough as when i boot from sd nvme can be mounted and works ok. I wonder if it is nesesery to flash spi with new uboot. I remeber that productive version should be already prepared for nvme booting https://wiki.radxa.com/Rock5/install/spi

I had the same behavior, I didn’t look further into why though. When I switched to another PD adapter, albeit it was still providing too low output it booted.

I had to follow that guide that you linked in order to boot directly from nvme, sdcard boot appears to not work now though as a fyi.

In my case, NVMe boot and boot from uSD card if it 's inserted are both working after flash SPI along https://wiki.radxa.com/Rock5/install/spi.
NVMe is Kioxia KBG40ZNS256G, power supply is both OK on Anker 65W power port 3 and 5V 3A one for Raspberry 4B.

I made a misstake in previous comment. I flashed my uSD card by an image of Rock 5a. The image of Rock 5b could not boot. I dont’ understand why the image of Rock 5a can boot. Also I don’t know the difference between the 5a and 5b.

It is working, I just had to wipe first. First flash was not successful. Until I erased flash I just had green and 2 seconds later stuck blue led and no hdmi output.

NVME works, ax200 works also :smiley: