拯救 TP-Link 4320 v 1.1 分享器 de-brick

以下只是摸黑找路的救磚筆記,照著做也有可能不成功的,而且有可能會讓你手上不完全的磚,變成完全的磚,請自行評估自己負責,姑且作為一個迷路過程的記錄應該相當足夠,但是要做進一步的討論,就容我 pass 吧!

故事是因為有時侯很想試試傳說中,好用的、會飛天的,解放分享器的功能和管理介面的韌體,所以就會手癢地把分享器刷上對應的韌體,如果運氣不好,刷了水土不符的韌體,或是認錯了藥,很有可能會把想要進化的分享器變成磚。
所謂的磚就是不能用、連不上、沒有功能的,近似於磚的,生病的分享器。

這次我又拿到了一塊磚,這塊磚還有型號:TP-Link 4320 v 1.1,也不知道一塊磚需要型號!?它需要的是垃圾筒吧,但是就不是甘心送它去垃圾筒,才有了這次奮鬥、這筆記。
這次要來挑戰 de-brick TP-Link 4320 v 1.1

工作環境:
    Windows 10
    Virtualbox Windows 7
    USB轉serial線: 連線到分享器的os用
    HxD: 改 bin 檔用
    樓賴吧:拆分享器外殼用
    bin檔:來自 openwrt、dd-wrt、官網
    tftpd:用來架 tftp server,其實就只是一個執行這個執行檔而已,不難
    很多腦細胞:後來應該都鼠了~~


韌體:
在資料庫裏找這個機型的時侯,怎麼找都只能找到 TP-Link 4300
然後還看到 v1.1 對應到 4310 v1 的韌體
因為要給分享器回魂,所以選用 wdr4310v1_webrevert.bin 的版本,應該就是去掉了 header 資料的開機檔
把剛才的 bin 檔放到和 tftpd 同一個資料夾中備用

連線:
這次主要是要測試用 usb ,透過排線( serial )連線的方式來操作,尤其是網路線連不上分享器的系統的時侯,你只能去淘一條 usb-to-serial,但是,別用 Windows 10 ,別用 Windows 10 ,別用 Windows 10 ,因為有趨動 driver 也不會動,淘的價格很漂亮 4~很多 rmb 就有了,而 pchome 通常要 500 ntd起跳,價差就差在灌了趨動 usb 趨不趨得動,如果你在台灣花數百買了趨不動的線,去退$$吧。

接著關分享器的電源,拆分享器的外殼,拿 usb-to-serial 的工具,找到主機板上相接的 pin 腳 (如下圖,由左到右分別是 rxd 白 -> tx, txd 綠 -> rx,grand 黑 -> grand ,VCC,至於你的 rxd txd 是什麼顏色,請翻說明書出來看哦~~)

接好 pin 腳︰ rxd (白) -> tx, txd (綠) -> rx,grand (黑) -> grand ,VCC


在 windows 下看硬體資訊序列埠是抓到 com 幾(以COM3為例)
用 putty 的 serial ,連 COM3 速度設 115200 連過去,然後持續開著 putty

serial 終端機模式

分享器開電源之後,會看到一堆作業系統的訊息在跑,一開始跑時就要趕快按下 [t](或依照訊息按下 tpl 之類的按鍵) 就會進入分享器 os 的終端機(指令模式),不能輸入指令的話,就要重來一次了
進入分享器的作業系統


救機的指令操作:
help 可以知道有什麼指令可以用
先 $>printenv 可以得知分享器的狀態
例如會知道現在的分享器
ip(addr) 是 192.168.1.1
(tftpserver)serverip 是 192.168.1.140
bootcmd(bootm 0x9f020000) …等訊息

$>setenv PARAMETER value 可以設定參數,例如:
$>setenv ipaddr 192.168.1.1
$>setenv serverip 192.168.1.2
接著再 $>printenv 看設定是否正確
但是不知道要怎麼才能套用 @@"

取得開機用的檔案名字和位址:
通常你的tftp的ip(serverip)應該和原始設定不同,這時侯 $>tftpboot 連不起來是正常的,但是我們就是要利用這個連不起來的狀態
在連不起來時先 $>tftpboot 可以知道用什麼檔案,載入位址為何:
Filename '0A01A8C0.img'
Load address: 0x81000000
把去除表頭的 .bin 檔案(wdr4310v1_webrevert.bin) 改名成開機要用的檔名(0A01A8C0.img),放在 tftpd 的資料夾中,放在 tftpd 的資料夾中,放在 tftpd 的資料夾中

因為不知道 ipaddr 和 serverip 的套用方式,山不轉路轉,為了方便操作,逆向操作,不動分享器原始設定,將 tftpserver 的主機 ip 改成和設定檔相對應的 192.168.1.140,而 tftp server 持續開著

此時再次(記得接網路線1~4號孔都可以) $>tftpboot
會得看到上傳檔案的進度(###################################################)並得知起始的位址(0x81000000)和檔案大小(8126464(7c0000 hex)):
Load address: 0x81000000
Bytes transferred = 8126464 (7c0000 hex)
這樣才能知道,等一下要殺資料的地方是哪裏

然後依據 bootcmd 和剛才的檔案大小
執行 $>erase 0x9f020000 +7c0000
再執行 $>cp.b 0x81000000 0x9f020000 0x7c0000
最後 $>reset


後來應該就重開起來了
如果開不起來,應該已經完全是塊磚了,請節哀、淘新的吧 @@"
連到 192.168.1.1
可以!
收工!

留言

這個網誌中的熱門文章

使用 Excel 計算2個地點之間的直線距離

LINE 儲存的檔案傳到 email 不方便 很不方便 非常不方便 但是有解的筆記

合併列印標籤漏印