immortalwrt/target/linux
Tianling Shen ea666783db
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-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-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-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.

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-09-23 22:43:45 +08:00
..
airoha kernel: bump 5.15 to 5.15.125 2023-08-09 22:06:24 +02:00
apm821xx Merge Official Source 2023-07-10 15:27:11 +08:00
archs38 Merge Official Source 2023-05-12 19:20:08 +08:00
armsr Merge Official Source 2023-08-16 14:36:05 +08:00
at91 treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
ath25 Merge Official Source 2023-08-10 18:22:42 +08:00
ath79 Merge Official Source 2023-09-21 15:27:17 +08:00
bcm27xx Merge Official Source 2023-09-02 08:43:34 +08:00
bcm47xx Merge Official Source 2023-09-21 15:27:17 +08:00
bcm53xx Merge Official Source 2023-09-21 15:27:17 +08:00
bcm63xx Merge Official Source 2023-08-10 18:22:42 +08:00
bcm4908 kernel: bump 5.15 to 5.15.126 2023-08-13 13:03:43 +02:00
bmips Merge Official Source 2023-08-11 08:33:22 +08:00
gemini gemini: Fix up kernel v6.1 config 2023-08-10 19:31:37 +02:00
generic Merge Official Source 2023-09-23 11:46:05 +08:00
imx kernel: backport NVMEM patches queued for the v6.5 2023-06-16 09:45:38 +02:00
ipq40xx Merge Official Source 2023-09-21 15:27:17 +08:00
ipq806x Merge Official Source 2023-09-14 21:40:47 +08:00
kirkwood Merge Official Source 2023-05-21 20:13:18 +08:00
lantiq Merge Official Source 2023-08-10 18:22:42 +08:00
layerscape generic: sync MediaTek Ethernet driver with upstream 2023-08-28 16:35:22 +01:00
malta Merge Official Source 2023-07-10 15:27:11 +08:00
mediatek mediatek: add CMCC RAX3000M support 2023-09-23 22:43:45 +08:00
mpc85xx Merge Official Source 2023-09-21 15:27:17 +08:00
mvebu Merge Official Source 2023-09-20 10:41:08 +08:00
mxs mxs: add testing kernel 6.1 2023-07-01 12:54:30 +02:00
octeon kernel: bump 5.15 to 5.15.125 2023-08-09 22:06:24 +02:00
octeontx kernel: bump 5.15 to 5.15.123 2023-07-30 18:02:47 +02:00
omap Merge Official Source 2023-05-12 19:20:08 +08:00
oxnas Merge Official Source 2023-08-10 18:22:42 +08:00
pistachio kernel: bump 5.15 to 5.15.132 2023-09-20 14:13:00 +02:00
qoriq kernel: fix handling of CONFIG_DYNAMIC_DEBUG 2023-05-03 10:26:17 -07:00
qualcommax Merge Official Source 2023-09-01 09:52:11 +08:00
ramips Merge Official Source 2023-09-21 15:27:17 +08:00
realtek kernel: bump 5.15 to 5.15.132 2023-09-20 14:13:00 +02:00
rockchip rockchip: remove Hinlink support 2023-09-20 11:07:49 +08:00
sifiveu Merge Official Source 2023-06-17 14:19:10 +08:00
sunxi sunxi: enable schedutil gov by default 2023-09-23 18:55:52 +08:00
tegra Merge Official Source 2023-05-12 19:20:08 +08:00
uml Merge Official Source 2023-09-21 15:27:17 +08:00
x86 Merge Official Source 2023-09-20 10:41:08 +08:00
zynq generic: enable CONFIG_ARM_CRYPTO for 32bit arm targets 2023-05-10 19:01:45 +02:00
Makefile