OpenWrt 22.03 for Xiaomi Mi Router 3 Pro (R3P) with SPI

For anyone like me that hard-bricked their R3P (with no/broken bootloader).

You need:

  1. 16MB SPI chip and SPI Programmer (I use winbond w25q128 and ch341a)
  2. BREED bootloader for PBR-M1
  3. Totolink A7000R with Breed bootloader SPI image
  4. EEPROM partition from a working R3P (cut to 64KB)
  5. OpenWrt 22.03 initrams-kernel and sysupgrade images

For no. 2-4, you can grab them from here.

Steps:

  1. Burn BREED bootloader to SPI chip
  2. Solder the SPI chip to R3P (there's an unsoldered pad for it on the PCB, you might also need to jump both J10 and J11 near the UART pins)
  3. Power up the R3P, you should be able to enter BREED bootloader interface via your browser of choice at http://192.168.1.1/index.html
  4. Restore the totolink image from the second tab in http://192.168.1.1/upgrade.html, uncheck the EEPROM line, but keep the Bootloader

  1. Confirm the MD5 checksum: 6c1412f0babae3cf897ca16b8605ee3a, and click the continue button

  1. After flashing, enter BREED once again, and open the upgrade page (http://192.168.1.1/upgrade.html) again

  2. Choose the initramfs-kernel and eeprom file

  1. Confirm the checksum, and click the continue button:

  1. Wait until the process is completed, and your router booted openwrt, and then flash the sysupgrade file from System -> Backup / Flash firmware

  2. done

Notes:

  1. The image should be compatible with kernel modules and packages from the official release, as I used the official build config creating this.
  2. The default MAC address is for wan 12:34:56:78:90:AB, you can change it from BREED (http://192.168.1.1/mac.html)