immortalwrt/target/linux
Tianling Shen a705d1b888
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>
(cherry picked from commit ea666783db)
2023-09-24 11:18:37 +08:00
..
airoha kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
apm821xx Merge Official Source 2023-06-11 13:22:18 +08:00
archs38 Merge Official Source 2023-05-12 19:20:08 +08:00
armsr Merge Official Source 2023-08-20 21:43:32 +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-13 10:38:44 +08:00
ath79 Merge Official Source 2023-09-19 10:07:18 +08:00
bcm27xx Merge Official Source 2023-09-11 09:54:11 +08:00
bcm47xx Merge Official Source 2023-09-11 09:54:11 +08:00
bcm53xx Merge Official Source 2023-08-07 03:49:26 +08:00
bcm63xx Merge Official Source 2023-08-13 10:38:44 +08:00
bcm4908 kernel: bump 5.15 to 5.15.126 2023-08-15 17:11:39 +02:00
bmips Merge Official Source 2023-08-13 10:38:44 +08:00
gemini treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
generic Merge Official Source 2023-09-19 10:07:18 +08:00
imx kernel: backport NVMEM patches queued for the v6.5 2023-07-10 12:54:53 +02:00
ipq40xx Merge Official Source 2023-09-19 10:07:18 +08:00
ipq806x Merge Official Source 2023-09-16 21:56:08 +08:00
ipq807x qualcommax: improve detect ethernet ports 2023-08-23 09:50:13 +08:00
kirkwood Merge Official Source 2023-05-21 20:13:18 +08:00
lantiq Merge Official Source 2023-08-13 10:38:44 +08:00
layerscape generic: sync MediaTek Ethernet driver with upstream 2023-09-04 23:00:34 +01:00
malta Merge Official Source 2023-05-12 19:20:08 +08:00
mediatek mediatek: add CMCC RAX3000M support 2023-09-24 11:18:37 +08:00
mpc85xx Merge Official Source 2023-09-21 21:20:14 +08:00
mvebu Merge Official Source 2023-09-16 21:56:08 +08: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 Merge Official Source 2023-05-12 19:20:08 +08:00
oxnas Merge Official Source 2023-08-13 10:38:44 +08:00
pistachio treewide: cleanup kernel symbol references 2023-05-12 13:02:44 +02:00
qoriq kernel: fix handling of CONFIG_DYNAMIC_DEBUG 2023-05-03 10:26:17 -07:00
ramips ramips: disable build for tplink archer-c20-v4 by default 2023-09-23 11:45:15 +08:00
realtek generic: sync MediaTek Ethernet driver with upstream 2023-09-04 23:00:34 +01:00
rockchip rockchip: remove Hinlink support 2023-09-20 11:10:58 +08:00
sifiveu Merge Official Source 2023-06-17 18:28:30 +08:00
sunxi sunxi: add missing Kconfig symbol 2023-09-24 10:31:01 +08:00
tegra Merge Official Source 2023-05-12 19:20:08 +08:00
uml Merge Official Source 2023-08-13 10:38:44 +08:00
x86 Merge Official Source 2023-09-19 10:07:18 +08:00
zynq generic: enable CONFIG_ARM_CRYPTO for 32bit arm targets 2023-05-10 19:01:45 +02:00
Makefile