PINE64
Maskrom recovery mode/Recovering from broken SPI flashes ***IMPORTANT*** - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: Pinebook Pro Tutorials (https://forum.pine64.org/forumdisplay.php?fid=117)
+--- Thread: Maskrom recovery mode/Recovering from broken SPI flashes ***IMPORTANT*** (/showthread.php?tid=9059)



Maskrom recovery mode/Recovering from broken SPI flashes ***IMPORTANT*** - as400 - 02-07-2020

If you accidentally soft brick your PBP there is special mode implemented called maskrom mode. In this mode the device is accessible as regular USB device and can be accessed using rkdevelop tools. Especially to rewrite SPI flash or to erase it.

According to Rockchip documentation it should be accessible following below procedure:

1. Press and hold recovery button.
2. Short press reset.
3. Release recovery button after about 3 seconds.

Unfortunately it is not always the case. I had a clear SPI from factory and had to do this procedure trillion times to eventually get into maskrom mode. There is another person who had the same problems.

The nature of this problem is not clear. There are two suspicions:

- the button is not working correctly or is just prone to failures.
- the problem occurs only when the SPI was previously flashed.

One way or the other the button works shorting two pins in an SPI device. But in some cases it just does nothing. So if you experience such problem there is a way to overcome it. You can short the two pins by yourself.

Procedure:

1. Unscrew bottom cover.
2. Remove the metal shield surrounding main CPU - it is held in place by a tape and micro clamps on pcb.
3. Disconnect all (!!!) boot devices (emmc, sdcard, usb).
4. Locate SPI flash (number 29 on picture).


.jpg   PBPL_S.jpg (Size: 442.41 KB / Downloads: 7,243)

5. Connect pbp with USB-C - USB-A cable to another computer (pbp on USB-C side).
6. Turn on pbp, short pins CLK and VSS and press reset. It should get your pbp into maskrom mode.


.png   spi.png (Size: 1.84 KB / Downloads: 883)


On another computer:

1. Compile rkdeveloptools --> https://github.com/rockchip-linux/rkdeveloptool

2. Create a file filled with zeros:
Code:
dd if=/dev/zero of=zerospi bs=1M count=16


3. Then flash this file to SPI using rkdeveloptool:

Code:
Code:
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin
rkdeveloptool wl 0 zerospi
rkdeveloptool td
rkdeveloptool rd