Note: CMCC RAX3000M with OpenWRT

前陣子買了JD Cloud AX1800 Pro,玩了一下 Qualcomm系的,後來就想說一般家用市場另外一大就是MediaTek 就想也搞一台,後來看了一陣子覺的最便宜的就是 CMCC 的RAX3000M ,這台剛出的是時候是大約RMB100左右,我買到手含淘寶海運直郵是RMB 137.5,一樣有DRAM 512MB,之前有算力版(EMMC),但是現在基本上只有SPI-NAND 128MB的版本

刷機是透過內建的裝置設定匯出/匯入實現的,因為它內部本來就有dropbear,只是預設關閉而已。然後匯出時會有log 可以看到他是怎樣匯出的

Tue Oct 10 09:14:04 2023 user.debug cmapd[6067]: (cmdc_sal_backup_export_set:956) run cmd [sysupgrade -b - | openssl aes-256-cbc -pbkdf2 -k $CmDc#RaX30O0M@!$ -out /tmp/cfg_export_config_file.conf], ret[0]'

看到就是透過sysupgrade -b 建立backup (.tar.gz) 然後使用openssl 去加密,密碼是 $CmDc#RaX30O0M@!$ 但是開發者可能忘記shell 會吃掉 $xxx (認為是環境變數,但是沒有這個環境變數就NULL,所以實際是 #RaX30O0M@!$

開了SSH 就簡單了,可以在本地端直接備份 ,譬如下面就是備份整個SPI-NAND ,原因是它本身有內建mtd-utils,因此可以簡單的透過 ssh 然後透過pipe 去將資料轉存,我運氣算不錯,它顯示無bad blocks,不過有一種說法沒有Bad Block 反而是差的,不過這我就不太認同,除非用的真的是假料,或是二手收來的,不然如果是原廠料,正常是出廠本身就會經過篩選,有A/B/C等級的差異,根據我以前開發WINCE NAND Flash 測試的經驗大廠來的A級料,通常就是無Bad Block,當然不排除早期NAND 生產與製造工藝控制不好,有可能無法,但是現在這個時代,這些問題多數已經被克服

$ ssh root@192.168.10.1 "nanddump -o /dev/mtd0" | dd of=cmcc_rax3000m_spi_nand_bakup.img
# result
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x08000000...
262148+60052 records in
270336+0 records out
138412032 bytes (138 MB, 132 MiB) copied, 31.8671 s, 4.3 MB/s

然後就是備份 NAND-MTD 然後刷FIP 就能 FIP (Firmware In Package)本身就有ATF BL31+U-Boot,如下

接下來就簡單了OpenWRT 本身在23.05.2 已經有人發patch 支持CMCC RAX3000M

一樣刷入不死的 U-Boot

我用這個 https://github.com/hanwckf/bl-mt798x 他的ATF/U-Boot 設定應該是跟CMCC本來版本接近,都是有開NMBM。
把repos 拉下來後使用下面指令編譯

$ SOC=mt7981 BOARD=cmcc_rax3000m ./build.sh

然後使用下面命令刷進去 FIP (mtd4)

$ cat output/mt7981_cmcc_rax3000m-fip-fixed-parts.bin | ssh root@192.168.10.1 "mtd write - FIP"

然後將Reset 長按,直到LED 變綠,這樣就會進入U-Boot 的刷機模式(FailSafe)跟之前JD Cloud AX1800 Pro 視差不多的
不過這時default IP 要改為192.168.1.1 不是本來的 192.168.10.1 了

玩了一下 這個機器個人覺的比 JD Cloud AX1800Pro 好一些,不光是 AX1800 vs AX3000的差異,應該是Mediatek 這個比較願意堆料在各種IP上面,唯一差別就是 NAND 128MB 太小,不過可以自己換SPI NAND,目前看到的有256MB/512MB可以換,DDR4 也可以換成1GB 估計支持到2GB 是沒問題,一樣要選x16 ,不過SPI-NAND 目前就是512MB可能少人用,貴很多,最經濟是256MB的版本,然後有人是使用 SO-DIMM Module 把 8GB 的對過型號,換上去。

缺點就是USB 沒有做隔離罩,眾所周知USB 3.0 會干擾WIFI,有做的會在挑選合適的USB座,然後在背面,將USB VIA 的區域一樣上隔離罩,還有它沒有針對散熱做更好的處理,所以溫度有點高

ref.

發表留言