openwrt/target/linux
Tianling Shen 423186d7d8 mediatek: add CMCC RAX3000M support
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 64GB eMMC or 128 MB SPI-NAND
  RAM: 512MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A
- UART: 3.3v, 115200n8
  --------------------------
  |         Layout         |
  |   -----------------    |
  | 4 | GND TX VCC RX | <= |
  |   -----------------    |
  --------------------------

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Enter fakeroot, decompress the configuration:
   tar -zxf cfg_export_config_file.conf
3. Edit 'etc/config/dropbear', set 'enable' to '1'.
4. Edit 'etc/shadow', update (remove) root password:
   'root::19523:0:99999:7:::'
5. Repack 'etc' directory:
   tar -zcf cfg_export_config_file.conf etc/
   * If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
     just ignore it.
6. Upload new configuration via web interface, now you can SSH to RAX3000M.

Check stroage type:
Check the label on the back of the device:
"CH EC CMIIT ID: xxxx" is eMMC version
"CH    CMIIT ID: xxxx" is NAND version

eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
   ('data' partition can be ignored, it's useless.)
2. Write new GPT table:
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
   dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync

NAND Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'Factory' part.
2. Erase and write new BL2:
   mtd erase BL2
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3. Erase and write new FIP:
   mtd erase FIP
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, erase UBI volumes:
   ubidetach -p /dev/mtd0
   ubiformat -y /dev/mtd0
   ubiattach -p /dev/mtd0
8. Create new ubootenv volumes:
   ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
   ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
   ubiupdatevol /dev/ubi0_2 openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
10. Perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-28 19:05:07 +02:00
..
airoha
apm821xx apm821xx: WNDR4700: fix broken sysupgrade, factory images 2023-10-20 18:13:57 +02:00
archs38
armsr armsr: preserve configuration during sysupgrade 2023-10-20 00:36:32 +02:00
at91
ath25
ath79 kernel: bump 6.1 to 6.1.60 2023-10-26 12:08:52 +02:00
bcm27xx kernel: bump 6.1 to 6.1.59 2023-10-21 09:33:12 +02:00
bcm47xx kernel: bump 5.15 to 5.15.133 2023-10-04 21:03:12 +02:00
bcm53xx kernel: bump 5.15 to 5.15.136 2023-10-26 21:40:10 +02:00
bcm63xx
bcm4908 kernel: bump 5.15 to 5.15.137 2023-10-27 19:43:06 +01:00
bmips kernel: bump 6.1 to 6.1.60 2023-10-26 12:08:52 +02:00
gemini gemini: Drop kernel v5.15 and default to v6.1 2023-10-04 15:01:29 +02:00
generic kernel: backport nvmem v6.6 fixes and v6.7 changes 2023-10-28 15:20:06 +02:00
imx
ipq40xx ipq40xx: wpj428: switch to zimage to fit kernel partition 2023-10-20 18:13:57 +02:00
ipq806x kernel: bump 6.1 to 6.1.60 2023-10-26 12:08:52 +02:00
ixp4xx ixp4xx: Add USRobotics USR8200 support 2023-10-25 11:29:29 +02:00
kirkwood
lantiq Revert "lantiq: xrx200: mark subtarget as source-only" 2023-10-23 01:39:47 +02:00
layerscape kernel: bump 6.1 to 6.1.58 2023-10-21 09:33:12 +02:00
malta
mediatek mediatek: add CMCC RAX3000M support 2023-10-28 19:05:07 +02:00
mpc85xx mpc85xx: add Enterasys WS-AP3715i reset button 2023-09-27 23:13:36 +02:00
mvebu kernel: 5.15: Backport Turris Omnia LED patches 2023-10-23 15:19:45 +02:00
mxs
octeon
octeontx
omap
oxnas kernel: bump 5.15 to 5.15.133 2023-10-04 21:03:12 +02:00
pistachio kernel: bump 5.15 to 5.15.132 2023-09-20 14:13:00 +02:00
qoriq
qualcommax qualcommax: ipq8074: use upstreamed CPUFreq NVMEM support 2023-10-16 19:22:11 +02:00
ramips ramips: TP-link archer A6/C6 device tree updates 2023-10-22 11:11:43 +02:00
realtek realtek: add support for TP-Link T1600G-28TS v3 2023-10-20 18:13:57 +02:00
rockchip
sifiveu sifiveu: remove 5.15 support 2023-10-24 11:42:46 +02:00
sunxi sunxi: enable cpufreq driver for H6 SoC 2023-10-28 18:31:43 +02:00
tegra
uml kernel: bump 6.1 to 6.1.53 2023-09-23 13:10:28 +02:00
x86 kernel: add missing symbols 2023-09-25 18:11:20 +02:00
zynq
Makefile