SPI + NVMe booting(beta)

You can only wait until the Radxa team fixes the issue!!!

oh i pay many money for sumsung ssd ,so sad. i have not other device that can use nvme ssd. This is a product defect QAQ

Booting from nvme is the edge of Rock Pi 4 over the Raspberry Pi 4B. If the Radxa team is not going to fix this issue quickly, the Raspberry Pi 4B will further dominate the SBC share. I will wait until the time when the general availability of 4GB version of Raspberry Pi 4B and switch over to it for my project.

1 Like


no,such the image, that’s their main selling point,no one care about product quality 。i post the problem to group but no one reply me.

The fix is in mainline and likely 5.3 as that also includes the hdmi audio fixes and wt/bt fixes.
Mainline uboot now has the ddr4 mem timings.

Many of the community are wasting there time with 4.4 and that will become very apparent with 5.3.
Ubuntu Eoan Ermine will be joining the likes of Manjaro later this year.

The “not until 2020” raspberry Pi4 is also having problems and is by far the worst Pi to date and much less than the bed of roses some believe.
It was definitely a panic release that also has a rake of design flaws from pd power, usb controller, heat and they also totally broke the brilliant Pi form factor.
From what they have seen they have little to worry about the Pi4 as it will keep its dominance but it was much less than what many hoped for.

Many of us have v1.3 with no spi flash and can not boot from nvme and boot from sd / emmc and have the nvme mounted as root /
Prob many are like myself and have purchased a $1 flash chip and will get round to a fiddly solder job at one stage but generally are in no rush as the new and shiny desktops that Raspberry fear are now close.
Manjaro is blazing a path and 5.2 for most parts works extremely well.

I am rather concerned about the design of the m.2 extender and that there are not enough traces in a 40pin FFC ribbon so they simply removed the separating Gnd traces rather than have a 50pin that does have enough conductors.
The pcie specification design is like the old 80pin Ide headers where actually 40 are dummy common Gnd traces to minimise cross talk and errors at higher speed.
Its rather a wow feck to realise they have been simply omitted so enjoy.

2 Likes

If 5.3 is the answer, the Radxa team should tell the community officially. They should also update the wiki page https://wiki.radxa.com/Rockpi4 in order to avoid further blind head flies looking for nvme boot.

1 Like

4.4 is essentially a cul-de-sac EOL is Feb, 2022.

They prob will get it working but linaro base and build are equally aged and confused why mainline is not at least running in parallel as Feb, 2022 yeah its 18 months off but 4.4 is showing age.

I am more interested if radxa are thing of modifying the 40pin FFC design as I have a feeling that is an inherent design flaw that for most operations work fine but be hell to diagnose and pinpoint.

New Rock Pi 4B 1.4 (Board is labeled 1.4, and has a SPI mounted on the board) owner here. I can get Radxa’s Debian to boot from SD card, but I cannot get the SPI to expose to write to it. Help?

dmesg | grep spi

^ blank

# ls /dev/mtd*
ls: cannot access '/dev/mtd*': No such file or directory
# dpkg -l rockchip-fstab
||/ Name                             Version               Architecture          Description
ii  rockchip-fstab                   0.1                   all                   Rockchip default fstab
# dpkg -l rockchip-overlay
||/ Name                             Version               Architecture          Description
ii  rockchip-overlay                 1.6                   all                   General rockchip overlay package.
||/ Name                             Version               Architecture          Description
ii  rockpi4-dtbo                     2                     all                   ROCK Pi 4 device tree overlays
||/ Name                             Version               Architecture          Description
ii  linux-4.4-latest                 4.4.154-89-rockchip   all                   This package will always depend on linux-image and linux-headers and
||/ Name                             Version               Architecture          Description
ii  rockpi4b-rk-u-boot-latest        2017.09-2676-g4490220 all                   rockpi4b u-boot latest version package

I currently do not have the NVME installed:

# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 29.8G  0 disk
|-mmcblk0p1 179:1    0  3.9M  0 part
|-mmcblk0p2 179:2    0    4M  0 part
|-mmcblk0p3 179:3    0    4M  0 part
|-mmcblk0p4 179:4    0  112M  0 part /boot
`-mmcblk0p5 179:5    0 29.7G  0 part /

/boot/hw_intfc.conf

# cat /boot/hw_intfc.conf
intfc:pwm0=off
intfc:pwm1=off
intfc:uart2=off
intfc:uart4=off
intfc:spi1=on
intfc:spi2=off
intfc:i2c2=off
intfc:i2c6=off
intfc:i2c7=off
intfc:dtoverlay=console-on-ttyS2
intfc:dtoverlay=spi1-flash

SSD does not work, which is similar to the failure of some raspi power supply

I think the issue might be that your u-boot in eMMC/uSD is not updated to support dtbo, so that no /dev/mtd0 even you enable in hw_intfc.conf. Try to run the following command:

sudo /usr/local/sbin/rockpi4b_upgrade_bootloader.sh

and type YES.

Alternatively you can try to use https://wiki.radxa.com/Rockpi4/dev/spi-install to write the u-boot to SPI flash.

@jack That worked, and it wrote. I now think I my M.2 NVME is one of the boards the Rock Pi 4B cannot boot from. I have the:

Samsung PM981 Polaris 256GB M.2 NGFF PCIe Gen3 x 4, NVME Solid state drive SSD, OEM (2280) MZVLB256HAHQ-00000

I can see the blue LED light come on, but that is it. With only the NVME installed, It never boots.

enhen. i thought it’s a bug in rockpi4

The post is updated with the new image, more simple steps now.

For the people who are considering adding the SPI flash to the 1.3 boards (as I did …)
Please be aware that the top of most packages of the supported devices (there’s a list in the wiki entry) will end up higher than the CPU … which means that the heatsink will no longer fit.
I’m planning to machine a small square hole that fits over the SPI flash, but if you can avoid this complication by selecting a low-profile package (and still practical to solder), I guess that would be better.

Rgds

Patrick

I guess I can forget the SATA SSD I bought for this board (since it only supports nvme for booting ?)
The few nvme ssd’s that are listed above aren’t really the most modern/current types are they … so, is there a more detailed specification on what is actually being supported ? (before I spend more money on this board)
Would a WD blue nvme SSD work ?
(WD Blue SN500 NVMe, 250 GB SSD, WDS250G1B0C, PCIe Gen3 x2)

using the image in post l#1 on a rockpi4b v1.3 with 16 spi installed from allnet,
I do not have /dev/mtd0
I do see the these listed nvme0,nvme0n1,nvme0n1p1,…to nvme0n1p5
and mmcblk0,mmcblk0p1,…to mmcblk0p5

also no scipt files /usr/local/sbin

Then you didn’t start with the correct image

https://dl.radxa.com/rockpi4/images/debian/rockpi4-debian-stretch-desktop-arm64-20190730_2022-gpt.img.gz

You may get stuck as partition labels are the same and now you are booting /boot from mmc and /root from nvme

You may have to change extlinux.conf so the root is /dev/mmcblk0p5

If you do an lsblk you will be able to see which mount points you are using

Good show, I must have initially missed something… It now BOOTS !!! from the nvme.

Pretty fast !!!

next question., at apt upgrade there are files it says are upgradable, but I am not going to
upgrade unless this forum thinks it’s safe:

rockpi4b-rk-u-boot-latest
rockpi4b-rk-uboot.img