看板Broad_Band
前陣子看上了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