openwrt/target/linux
Tianling Shen d3c193525e 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>
(cherry picked from commit 423186d7d8)
[rebased to 23.05]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-07 00:46:00 +01:00
..
airoha kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
apm821xx apm821xx: WNDR4700: fix broken sysupgrade, factory images 2023-10-21 16:42:26 +02:00
archs38 treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
armsr armsr: preserve configuration during sysupgrade 2023-10-20 00:41:41 +02:00
at91 treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
ath25 kernel: bump 5.15 to 5.15.131 2023-09-25 23:04:37 +02:00
ath79 kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver 2023-11-02 09:45:08 +01:00
bcm27xx kernel: bump 5.15 to 5.15.137 2023-10-29 13:00:28 +01:00
bcm47xx kernel: bump 5.15 to 5.15.133 2023-10-08 16:52:48 +02:00
bcm53xx bcm53xx: add the latest fix version of brcm_nvram 2023-11-02 09:45:16 +01:00
bcm63xx kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
bcm4908 kernel: bump 5.15 to 5.15.137 2023-10-29 13:00:28 +01:00
bmips kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
gemini treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
generic kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver 2023-11-02 09:45:08 +01:00
imx kernel: backport NVMEM patches queued for the v6.5 2023-07-10 12:54:53 +02:00
ipq40xx kernel: backport v6.6 nvmem changes 2023-11-02 09:37:19 +01:00
ipq806x kernel: backport v6.6 nvmem changes 2023-11-02 09:37:19 +01:00
ipq807x kernel: backport v6.6 nvmem changes 2023-11-02 09:37:19 +01:00
kirkwood kirkwood: add support for Iomega Storcenter ix4-200d 2023-05-20 15:35:37 +02:00
lantiq Revert "lantiq: xrx200: mark subtarget as source-only" 2023-10-23 01:47:51 +02:00
layerscape generic: sync MediaTek Ethernet driver with upstream 2023-09-04 23:00:34 +01:00
malta treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
mediatek mediatek: add CMCC RAX3000M support 2023-11-07 00:46:00 +01:00
mpc85xx kernel: backport v6.6 nvmem changes 2023-11-02 09:37:19 +01:00
mvebu mvebu: cortexa72: enable USB PHY 2023-09-24 13:14:11 +02:00
mxs mxs: rework image generation 2023-07-06 17:04:13 +02:00
octeon kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
octeontx kernel: bump 5.15 to 5.15.123 2023-07-31 01:39:50 +02:00
omap treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
oxnas kernel: bump 5.15 to 5.15.133 2023-10-08 16:52:48 +02:00
pistachio kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver 2023-11-02 09:45:08 +01:00
qoriq kernel: fix handling of CONFIG_DYNAMIC_DEBUG 2023-05-03 10:26:17 -07:00
ramips treewide: fix MERCUSYS brand spelling 2023-11-07 00:40:00 +01:00
realtek realtek: add support for HPE 1920-8g-poe+ (65W) 2023-10-14 20:15:05 +02:00
rockchip rockchip: fix setup network config for nanopi r2c 2023-06-17 12:21:13 +02:00
sifiveu kernel: bump 5.15 to 5.15.117 2023-06-17 12:09:03 +02:00
sunxi sunxi: fixes led for nanopi boards 2023-10-31 00:44:03 +01:00
tegra treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
uml kernel: bump 5.15 to 5.15.132 2023-09-25 23:04:37 +02:00
x86 x86: remove built-in vhost-net driver 2023-09-16 21:00:38 +02:00
zynq generic: enable CONFIG_ARM_CRYPTO for 32bit arm targets 2023-05-10 19:01:45 +02:00
Makefile build: fix issues with targets installed via feeds 2022-09-27 13:41:12 +02:00