From 9470160c350d15f765c33d6c1db15d6c4709a64c Mon Sep 17 00:00:00 2001 From: Richard Huynh Date: Wed, 1 Dec 2021 12:27:39 +1100 Subject: mediatek: Add support for Xiaomi Redmi Router AX6S Also known as the "Xiaomi Router AX3200" in western markets, but only the AX6S is widely installation-capable at this time. SoC: MediaTek MT7622B RAM: DDR3 256 MiB (ESMT M15T2G16128A) Flash: SPI-NAND 128 MiB (ESMT F50L1G41LB or Gigadevice GD5F1GQ5xExxG) WLAN: 2.4/5 GHz 4T4R 2.4 GHz: MediaTek MT7622B 5 GHz: MediaTek MT7915E Ethernet: 4x 10/100/1000 Mbps Switch: MediaTek MT7531B LEDs/Keys: 2/2 (Internet + System LED, Mesh button + Reset pin) UART: Marked J1 on board VCC RX GND TX, beginning from "1". 3.3v, 115200n8 Power: 12 VDC, 1.5 A Notes: U-Boot passes through the ethaddr from uboot-env partition, but also has been known to reset it to a generic mac address hardcoded in the bootloader. However, bdata is also populated with the ethernet mac addresses, but is also typically never written to. Thus this is used instead. Installation: 1. Flash stock Xiaomi "closed beta" image labelled 'miwifi_rb03_firmware_stable_1.2.7_closedbeta.bin'. (MD5: 5eedf1632ac97bb5a6bb072c08603ed7) 2. Calculate telnet password from serial number and login 3. Execute commands to prepare device nvram set ssh_en=1 nvram set uart_en=1 nvram set boot_wait=on nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit 4. Download and flash image On computer: python -m http.server On router: cd /tmp wget http://:8000/factory.bin mtd -r write factory.bin firmware Device should reboot at this point. Reverting to stock: Stock Xiaomi recovery tftp that accepts their signed images, with default ips of 192.168.31.1 + 192.168.31.100. Stock image should be renamed to tftp server ip in hex (Eg. C0A81F64.img) Triggered by holding reset pin on powerup. A simple implementation of this would be via dnsmasq's dhcp-boot option or using the vendor's (Windows only) recovery tool available on their website. Signed-off-by: Richard Huynh (cherry picked from commit 9f9477b2751231d57cdd8c227149b88c93491d93) --- target/linux/mediatek/image/mt7622.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'target/linux/mediatek/image/mt7622.mk') diff --git a/target/linux/mediatek/image/mt7622.mk b/target/linux/mediatek/image/mt7622.mk index daec843b49..8e0126f576 100644 --- a/target/linux/mediatek/image/mt7622.mk +++ b/target/linux/mediatek/image/mt7622.mk @@ -249,3 +249,23 @@ define Device/ubnt_unifi-6-lr-ubootmod ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr endef TARGET_DEVICES += ubnt_unifi-6-lr-ubootmod + +define Device/xiaomi_redmi-router-ax6s + DEVICE_VENDOR := Xiaomi + DEVICE_MODEL := Redmi Router AX6S + DEVICE_ALT0_VENDOR := Xiaomi + DEVICE_ALT0_MODEL := Router AX3200 + DEVICE_DTS := mt7622-xiaomi-redmi-router-ax6s + DEVICE_DTS_DIR := ../dts + BOARD_NAME := xiaomi,redmi-router-ax6s + DEVICE_PACKAGES := kmod-mt7915e + UBINIZE_OPTS := -E 5 + IMAGES += factory.bin + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 4096k + KERNEL_INITRAMFS_SUFFIX := -recovery.itb + IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata +endef +TARGET_DEVICES += xiaomi_redmi-router-ax6s -- cgit v1.2.3