SPI Flash module

Hello,
I bought a Rock 5C Lite with:

  • a SPI flash module (16mb)
  • a PoE hat

in order to be able to netboot the device

First things first,

I tried to flash a bootloader on the SPI module and didn’t succeed.
Below are the steps I followed:

  1. Maskrom: following the documentation, I first plugged the module on the board, used the Dupont wire and connected the board to another computer -> no LEDs activity from the board, no device listed on the computer with rkdeveloptool. Is my USB cable faulty?

  1. Since I can’t access the device externally, I chose to flash the latest Radxa OS on a SD card, then boot from it.
    From rsetup I enabled the “SPI flash” overlay, then I tried to update the SPI bootloader but it does not seem to find any “installation destination for the selected SPI bootloader”.

None of these methods worked for me.
Time to dive deeper. It seems like the board does not find the SPI module but I’m pretty sure it’s correctly set up:


ls /dev/ does not mention any mtdblock
and lsblk only displays what’s on the SD card, no mtdblock either.

I found out that dmesg is the only one trying to help me:

rockchip-spi feb20000.spi: probed, poll=0, rsd=0, cs-inactive=0, ready=0
spi-nor spi5.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff

I’m stuck, did someone managed to make it work?

Macs are notoriously bad at making a connection with the USB OTG port. You want to get a power isolator USB plug (a plug that strips the power line), or use a combination that involves a switch (and even this is not guaranteed).

Here is an example of a power blocker: https://www.amazon.co.uk/PortaPow-USB-Power-Blocker-Cased/dp/B094FYL9QT/

I don’t know the exact science, but for simplification assume it is correct: The USB OTG port is sending power to the Mac and the Mac is sending power to the Rock device. The Mac detects this contradiction and refuses to detect a USB device (the Rock).

Hi @Thomas_P,
It seems that your SPI Flash module is not installed in place, because it is clearly seen from the photo that the two BTB connectors are at different heights

The behavior of the maskrom was the same for me, but flashing it with rsetup worked like a charm.

@ChenJaly You were absolutely right! It wasn’t correctly installed. I was too scared to break it but now it’s detected as /dev/mtdblock and I managed to update the SPI bootloader thanks to rsetup.

@DualTachyon I ordered a USB A -> A cable to verify this assumption with my Linux desktop. Thank you for this explanation.

1 Like

@DualTachyon I confirm USB A <-> A solves the maskrom issue. One just need to think to power on the board as well