[閒聊] H3C NX30pro 刷機 MT7981系列

看板 Broad_Band
作者 tomsawyer (安安)
時間 2023-10-14 11:56:13
留言 18則留言 (9推 0噓 9→)

前陣子看上了MT7981,不錯的性能,不太熱的溫度 考慮小米系列360T7 ~= WR30U ~= AX3000T ~= AX3000NE,於是我選了剛上市AX3000T 沒想到小米跟TP一樣韌體封的比較死,雖然現在MTK系的都用魔改的openwrt了,但還是需 要依靠一些exploit來打開telnet或ssh 比如說 WR30U,必須依靠他搭配的中國聯通elink IoT的漏洞執行任意程式碼 https://github.com/PatriciaLee3/wr30u_ssh https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000ne/153769 比如說 XDR6088/6086,要依靠VPN的介面沒有sanitize來執行任意程式碼 https://forum.openwrt.org/t/adding-support-for-tp-link-xdr-6086/140637/17 但這些在AX3000T目前來說都修乾淨了,我也有試過研究幾個exploit 比如set_sys_time 然後log會跟我說hack detected 笑死 於是我又買了H3C的NX30pro 目前7981的平台 NX30pro AX3000T XDR3001表現都不錯 NX30pro這款好在,預設開放telnet Port 99,有curl可以用,於是你去openwrt官網隨便 撈一個dropbear的ipk opkg install後就有ssh/scp可以用了 首先我們需要把mtd通通備份起來,經爬文後,如果你刷了U-boot,再刷回原廠後,如果 再升級會變磚 mtd分區如下 [ 0.829730] nmbm nmbm_spim_nand: Signature found at block 1023 [0x07fe0000] [ 0.837461] nmbm nmbm_spim_nand: First info table with writecount 0 found in block 960 [ 0.847548] nmbm nmbm_spim_nand: Second info table with writecount 0 found in block 963 [ 0.855552] nmbm nmbm_spim_nand: NMBM has been successfully attached [ 0.862167] 9 fixed-partitions partitions found on MTD device nmbm_spim_nand [ 0.869218] Creating 9 MTD partitions on "nmbm_spim_nand": [ 0.874699] 0x000000000000-0x000000100000 : "BL2" [ 0.879929] 0x000000100000-0x000000180000 : "u-boot-env" [ 0.885737] 0x000000180000-0x000000380000 : "Factory" [ 0.891278] 0x000000380000-0x000000580000 : "FIP" [ 0.896487] 0x000000580000-0x000004580000 : "ubi" [ 0.901796] 0x000004580000-0x000004b80000 : "pdt_data" [ 0.907430] 0x000004b80000-0x000005180000 : "pdt_data_1" [ 0.913265] 0x000005180000-0x000005280000 : "exp" [ 0.918446] 0x000005280000-0x000007800000 : "plugin" dev: size erasesize name mtd0: 08000000 00020000 "spi0.0" mtd1: 00100000 00020000 "BL2" mtd2: 00080000 00020000 "u-boot-env" mtd3: 00200000 00020000 "Factory" mtd4: 00200000 00020000 "FIP" mtd5: 04000000 00020000 "ubi" mtd6: 00600000 00020000 "pdt_data" mtd7: 00600000 00020000 "pdt_data_1" mtd8: 00100000 00020000 "exp" mtd9: 02580000 00020000 "plugin" 用dd就可以備份了 比如說要備份固件區 dd if=/dev/mtd5 of=/tmp/backup_mtd5.img 第一次備份mtd1-4 6-9,因為mtd5也就是固件區比較大(64MB),下載前備份完的再刪掉清 空間 分開備份比較比較好 用winscp把東西通通下載回來 下一步要刷U-boot (意思同刷android的recovery),方便刷機,刷有HTTP介面的 參考這篇 https://blog.qust.me/nx30pro 上傳U-boot之後 mtd write /tmp/uboot.bin FIP 然後電腦接Lan1 按住reset再插電 IP設靜態 192.168.1.2 連上192.168.1.1 選擇NX30pro.bin上傳,這是個immortalwrt的版本。 然後等他自動重開 重開之後用dhcp連192.168.6.1就有了 https://i.imgur.com/KvAO6Wj.png
如果不想要這麼花俏的版本,想要乾淨一點的 到immortalwrt的firmwareselector 找nx30pro 有帶nmbm字樣的 一樣步驟 按住reset進192 .168.1.1刷入factory.bin 這樣就是一個乾淨的openwrt了 這裡有幾個我也不太懂得問題,值得放在這裡 1. 因為不是用nor flash了,>= 32MB的flash有高機率是nand,而nand有壞塊的問題 mtk在這裡使用了NMBM管理壞塊,然而傳統openwrt是不支援這個東西的,他的Bootloader載 入是純用offset,然且nmbm會影響整個mtd讀到的offset 據說,如果你的壞塊好死不死在前幾個block,刷入U-boot時就有可能變磚 參考這幾篇的說法 https://fast.v2ex.com/t/962550 https://www.right.com.cn/forum/thread-8292288-1-1.html https://www.right.com.cn/forum/thread-8227879-1-1.html 尤其這篇 https://www.right.com.cn/FORUM/thread-8244730-1-1.html 2. 但是據說,如果不替換BL2(如果你按照openwrt或immortalwrt官方的指示是要刷BL2的) preloader -> BL2 BL31-Uboot -> FIP(U-boot) 如果你刷的U-boot是本文章中前面blog給的u-boot,那要刷的是NMBM layout enabled 的im age,目前已確認用U-boot刷immortalwrt跟x-wrt的帶nmbm的factory.bin是可以刷的 要注意與如果你刷過BL2就別嘗試用nmbm enabled layout https://www.nonedata.com/posts/H3C-NX30PRO.html#%E5%88%B7%E5%85%A5-openwrt-%E6 %88%96%E8%80%85-immortalwrt-%E5%8E%9F%E7%89%88%E7%B3%BB%E7%BB%9F https://firmware-selector.immortalwrt.org/?version=23.05.0-rc4&target=mediatek %2Ffilogic&id=h3c_magic-nx30-pro-nmbm https://downloads.x-wrt.com/rom/ 具體note: https://github.com/x-wrt/x-wrt/commit/618fe4cae8a3fcbbe184b603c6ff5ed848d9785d 3. MT798x是有閉源驅動的樣子(尤其是GL.inet),可能要去思考一下如果你的目的是要高速 的wifi而不是像我想玩玩具 那要思考一下要不要刷機 4. 這東西還有大分區小分區的問題 參考前面的mtd block,存固件的mtd5只有64M,我刷完這個隨附的immortal大概剩16M可以 給我玩 刷完immortal stock nmbm有41mb,刷完xwrt stock nmbm有36mb可以用 我的目的只有wireguard+zerotier+msdlite+連CHT Wifi或iTaiwan,已經夠了 還可以偶爾玩玩hcxdumptool 如果要全部利用的話,還要刷適合大分區的U-boot,就能完整利用mtd5之後的所有空間 -- 我也刷了一台Archer A6,懷念那時代的TP,直接上傳固件就行 mt7621 雖然有4核 但是Ramips就很哭 刀碩的博通比較好刷,但是如果是MTK系的好像也不容易,高通IPQ想都別想 有些TTL有外露的 從散熱孔就勾的到 有些排針還幫你插好 最近想入手CH341A了,但這種nand不是SOP-8 spi rom,封裝不好拆,很容易爆炸 我指的是傳統EEPROM那種,應該是SOP-8(?) 查了一下是用winbond封裝的128MB slc含spi模組 只是是FCBGA封裝 不能用夾的刷 喔喔 看錯了,不過還是得解焊,麻煩
※ 批踢踢實業坊(ptt.cc), 來自: 104.28.223.57 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Broad_Band/M.1697255775.A.5BF.html

IOU9527: 等之後AX3000T看能否刷機10/14 12:11

GJME: 沒想到現在刷機這麼折騰人,手上幾台MTK7620/7621看來還能10/14 15:49

GJME: 跑OpenWRT好幾年10/14 15:49

Windcws9Z: 刷機 一直都很折騰,是刀碩特別好刷10/14 17:56

Windcws9Z: 而且不容易死10/14 17:57

birdy590: 跟 bootloader 有關 有些平台號稱刷不死 就容易處理10/14 18:04

birdy590: 要玩刷機 拆機搭TTL 是最低要求 但這樣還是有可能出事10/14 18:10

virgil246: 推10/14 18:14

empingao: 驅動還是 git01.mediatek.com 這個好,不過要自己搞。10/14 18:16

Windcws9Z: 對..以前要玩刷機,拆機TTL是基本10/14 18:43

Windcws9Z: 有的還要自己焊上針腳10/14 18:43

Saren: MT7621很好用呀 gbe環境很夠用 2.5g以上就不好用了10/14 19:25

kobe8112: 抱歉有點職業病,SPI是通訊介面不是硬體封裝XD10/14 22:55

birdy590: 看對岸修路由器的也在叫苦~ 現在跟修手機一樣要解焊重焊10/14 22:59

birdy590: 以前如果救磚是搭個腳就刷了 現在可能還要管壞塊10/14 22:59

Saren: NAND用在路由器上大都是SLC 相對比較不容易壞cell10/14 23:47

Saren: https://www.acwifi.net/24565.html 看這一篇 應該是8pin的 10/15 14:27

Saren: wson-8的serial nand. 好處理啦 不是FCBGA 10/15 14:28

您可能感興趣