ramips: add support for Xiaomi R4AC v2 (intl)
authorAnton Stratonnikov <billic@yandex.ru>
Mon, 25 Dec 2023 22:35:24 +0000 (01:35 +0300)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 12 Aug 2024 22:48:06 +0000 (00:48 +0200)
commitf51cb7447390949feff598b833b764ac1f3ff508
tree4905604667375bb6a11861f959913d8c5117c105
parent46317659e1b3f4380630b402c6e949010bf71069
ramips: add support for Xiaomi R4AC v2 (intl)

The second edition of international version of Mi Router 4A 100M is
very similar to the non-international one, but has another wireless chip.

 Installation
--------------

1. Initialize build-in firmware (use webgui for 192.168.31.1)
  You should install root password

2. Run OpenWRTInvasion for the first time (probably it will fail)
  Version 0.0.10 is working as well as 0.0.1.

3. Run OpenWRTInvasion for the second time
  It will create an access to your router

4. Upload sysupgrade image to router (/tmp/fw.bin)
  pc# nc -l 8080 < …/ramips/mt76x8/…-100m-intl-v2-squashfs-sysupgrade.bin
  router# nc 192.168.31.175 8080 > /tmp/fw.bin

5. Flash new firmware
  router# run mtd -r write /tmp/fw.bin OS1

6. Check result
  Wait about 5-10 minutes after flash. Router should reboot itself and
  turn left led from orange to blue.

In case of failure one can use Xiaomi 4a 100m debrick tool
(it uploads special image via tftpd in recovery mode)
After that you can start again from step 1.

Another actions are very similar to original Mi Router 4A 100M

 Original mtd paritions:
-------------------------

```
Creating 9 MTD partitions on "raspi":
0x000000000000-0x000001000000 : "ALL"
0x000000000000-0x000000020000 : "Bootloader"
0x000000020000-0x000000030000 : "Config"
0x000000030000-0x000000040000 : "Factory"
0x000000040000-0x000000050000 : "crash"
0x000000050000-0x000000060000 : "cfg_bak"
0x000000060000-0x000000160000 : "overlay"
0x000000160000-0x000000dc0000 : "OS1"
0x000000dc0000-0x000001000000 : "disk"
with special sub-partition
0x0000002c0000-0x000000dc0000 : "rootfs"
```

We will use OS1+disk space:
```
0x000000160000-0x000001000000 : "firmware"
```

Co-authored-by: Nita Vesa <nita.vesa@elektrik.link>
Signed-off-by: Anton Stratonnikov <billic@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/14304
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl-v2.dts [new file with mode: 0644]
target/linux/ramips/image/mt76x8.mk
target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
target/linux/ramips/mt76x8/base-files/etc/board.d/02_network