summaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/image
diff options
context:
space:
mode:
authorTianling Shen <cnsztl@immortalwrt.org>2023-09-23 15:04:09 +0800
committerHauke Mehrtens <hauke@hauke-m.de>2023-10-28 19:05:07 +0200
commit423186d7d8b4f23aee91fca4f1774a195eba00d8 (patch)
tree889daa4d1d1a3f445740d3568ed223252bce572e /target/linux/mediatek/image
parentfddd735dd54ded7d26df156eaa8d1cc53e668efb (diff)
downloadopenwrt-423186d7d8b4f23aee91fca4f1774a195eba00d8.tar.gz
openwrt-423186d7d8b4f23aee91fca4f1774a195eba00d8.tar.bz2
openwrt-423186d7d8b4f23aee91fca4f1774a195eba00d8.zip
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>
Diffstat (limited to 'target/linux/mediatek/image')
-rw-r--r--target/linux/mediatek/image/filogic.mk33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
index 6082cf5f47..f7b838cf3b 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -204,6 +204,39 @@ define Device/cetron_ct3003
endef
TARGET_DEVICES += cetron_ct3003
+define Device/cmcc_rax3000m
+ DEVICE_VENDOR := CMCC
+ DEVICE_MODEL := RAX3000M
+ DEVICE_DTS := mt7981b-cmcc-rax3000m
+ DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand
+ DEVICE_DTS_DIR := ../dts
+ DEVICE_DTC_FLAGS := --pad 4096
+ DEVICE_DTS_LOADADDR := 0x43f00000
+ DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 \
+ e2fsprogs f2fsck mkf2fs
+ KERNEL_LOADADDR := 0x44000000
+ KERNEL := kernel-bin | gzip
+ KERNEL_INITRAMFS := kernel-bin | lzma | \
+ fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
+ KERNEL_INITRAMFS_SUFFIX := -recovery.itb
+ KERNEL_IN_UBI := 1
+ UBOOTENV_IN_UBI := 1
+ IMAGES := sysupgrade.itb
+ IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
+ IMAGE/sysupgrade.itb := append-kernel | \
+ fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
+ pad-rootfs | append-metadata
+ ARTIFACTS := \
+ emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
+ nand-preloader.bin nand-bl31-uboot.fip
+ ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
+ ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr4
+ ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-emmc
+ ARTIFACT/nand-preloader.bin := mt7981-bl2 spim-nand-ddr4
+ ARTIFACT/nand-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-nand
+endef
+TARGET_DEVICES += cmcc_rax3000m
+
define Device/cudy_wr3000-v1
DEVICE_VENDOR := Cudy
DEVICE_MODEL := WR3000