Rock 4D - not entering MaskRom mode

This is a brand new Rock 4D device, and I am trying to enter the MaskRom mode so I can flash the SPI image. Without flashing the SPI image, I am not able to boot the Linux/Android firmware from the SD card. Can anyone support with this, Below is the exact steps I did.

  1. Connect USB Type A cable to top USB 3.0 OTG connector and other end of the cable to Mac USB -C.
  2. Pressed the maskrom button.
  3. Turned on the device.
  4. Released the maskrom button.
  5. rkdeveloptool ld command in my mac terminal
  6. the result is always “not found any device

Has anyone faced this problem with Rock 4D, any direction to fix this issue will be very helpful. Thanks

1 Like

Then it looks like something is wrong with your ROCK4D or the SD-card. I haven’t seen any SBC that cannot be booted from SD-card. A standard RadxaOS or Armbian image should boot, no SPI needed. And you can write SPI with U-Boot code from there.

Thanks for the response. I tried to boot the LinuxOS without flashing SPI as the new board has inbuilt SPI to boot linuxOS, but even that didn’t work that’s why I thought to reflash SPI again. Now, I am stuck not able to boot any OS.
I will change to a new SD card and run again, because I used the SD card that I have been using to run Android 11 OS.
Is there anything else that you would advise me to try ? or if it is the Rock4D problem how can I debug it ?

You normally can connect a serial console cable and see what the U-Boot bootloader does and also interrupt it. You probably need to read and study more how Rockchip based SBC’s boot.

1 Like

Hi Praveen,

I initially had the same issue with my Rock 4D not entering maskrom from what it seemed. It is a v1.12 revision board without the maskrom jumper, only the switches.

I used 2 USB-A→USB-C cables in addition to a USB UART for debug.
The first cable was connected to a USB-A power supply and to the USB-C power input on the board. The other was connected on the board’s top USB3 connector (USB-A) and the other side to a USB Hub with USB-C port as my computer doesn’t have any native USB-C ports.

Couldn’t see the device with `rkdeveloptool`. Finally swapped both USB-A→USB-C cables and it worked. One must have been bad. Or one is a charge only. Hard to differentiate them, they all look the same.

Now I can erase and reflash the SPI at will.

So I suggest to try some other cables as your procedure is correct.