[路由器] 使用 TTL 把 TP-LINK TL-WR1043ND v1 刷回原廠

人們將路由器(Router)刷機,是為了讓機器有更好的運用、發揮他的效能,刷成功讓人興奮又開心;刷爛的話,第一時間一定是既失落又絕望,身為主人的我們一定要讓他起死回生,那個方法就是使用TTL讓他復活啦!

「更新」測速盒可以接參考下列網址

102-104年固網測試盒韌體還原作業程序
http://speed.ttc.org.tw/news_info.php?id=61

102-104年固網測試盒韌體還原作業程序 (延長公告)
http://speed.ttc.org.tw/news_info.php?id=66

這篇描述的其實是一台不知名來源的 TP-LINK TL-WR1043ND v1 起死回生的故事,開始前請先準備:

一)你那台半攤的機器 TP-LINK TL-WR1043ND v1(使用 TTL 需要焊接)
二)PL2303 晶片的 USB to TTL
三)電腦一台(Mac 或 Linux,在 Windows 我是沒成功過拉)

要在 WR1043ND 使用 TTL 的話還需要焊上接點來和杜邦線連接,個人我是焊「電話的銅線」在上面~XD反正可以用就好了,而且這種銅線的材質還不錯,在機器上找到類似下圖的地方,四個孔用銅線焊上去就可以啦,至於為什麼銅線是銀色的,那是因為我在焊接前,把整根銅撕插進焊油內,再把錫鍍一層薄薄的上去,這樣可以防止裡面的銅氧化~

 

TFTP 伺服器

在刷機的時候,我們需要安裝 TFTP 伺服器來提供安裝檔( .bin )給 1043ND v1 吃,詳細的解釋可以去 Google 瞭解。一開始我是使用 Windows 10 裝 TFTP,但不知道為什麼搞了了老半天就是沒反應,後來就怒切換 OS X,使用內建的 TFTP 伺服器。OS X 啟動 TFTP 的方法如下:

sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

sudo launchctl start com.apple.tftpd

沒錯!只需使用兩個指令就能啟動內建的TFTP伺服器了!!在Windows 搞了老半天都不能用是怎樣,因為這樣讓我決心以後有能力的時候一定買一台 Mac 回家供奉..XD。完成後,TFTP的預設資料夾在 /private/tftpboot 內(如果需要更改的話,修改 /System/Library/LaunchDaemons/tftp.plist 重新啟動 TFTP 就可以了~)。

 

將韌體檔案放置 TFTP 伺服器資料夾

只要把原廠的系統丟進去 /private/tftpboot 裡面就可以啦!可以到  TP-Link 的網站下載原廠韌體 [點我下載] ~我下載下來的檔案是 TL-WR1043ND_V1_120625_TW.zip ,解壓縮後檔名為 wr1043nv1_cht_3_13_12_up(120625).bin ,使用以下指令把原廠韌體丟進 TFTP 的資料夾就完成韌體準備囉~!把韌體檔案放在桌面的話就可以直接套用以下指令了~

cd ~

sudo cp "Desktop/wr1043nv1_cht_3_13_12_up(120625).bin" /private/tftpboot

 

接上 USB to TTL 進行開機

下面這張圖片是機器上的TTL配置狀況:

 

第一步:TTL 連接的方法則是 GND 接 GNDTXD 接 RXDRXD 接 TXD,另外一個 VCC 不要理他,接上去的話可能會燒掉唷XD,用這樣比喻好了:你在講話的時候,你的聲音(TXD)要傳給對方的耳朵(RXD),對方的聲音(TXD)也會傳給你的耳朵(RXD),概念就是這麼簡單~一個69的概念XD。接好後,把USB to TTL 插上電腦就完成第一步了!

第二步:用 Mac 的終端機來和 USB to TTL 進行溝通,插上電腦後,使用以下的指令就可以切換到 Console 畫面了(OS X 沒裝 brew 的話請從這裡安裝):

brew install screen

screen /dev/tty.usbserial 115200

這樣就進入 Console 畫面啦~XD一片空白是正常的,機器還沒開機是不會有畫面的,已經完成第二步了~。

 

第三步:使用 RJ45 把電腦和機器連接,記得,是插在 1043ND v1 的 LAN 孔唷,就是那四個黃色的洞~接好後,先把這串英文字 tpl 複製起來,我們需要使用 Console 攔截 uboot 開機,在出現這個畫面的時候,迅速將 tpl 貼上就可以攔截開機了~

 

設定 IP

請在 Console 內輸入 printenv 看一下 IP 的狀況(忘記抓圖了QQ),serverip 是你電腦的IP,預設好像是 192.168.0.5 ,因為TFTP架在電腦上,另外一個就是機器的 IP 啦,然後~電腦是接在機氣後面,所以要到電腦的「網路設定」把 IP 手動設為 serverip (192.168.0.5)。這樣原廠韌體才能從你電腦的TFTP伺服器把韌體傳到機器裡面~設定好就可以開始傳送韌體啦!要注意的是,設定的 IP 不能和現有的 IP 網段衝突。舉例來說,我的電腦現在使用 WIFI 連線上網,所配得的 IP 為 192.168.0.*,1043ND 的 IP 網段也是 192.168.0.*,就會發生衝突了,會沒辦法傳送韌體,解決方法有兩種:

一)切斷其他網路連線(WIFI),只讓電腦和 1043ND 連線:

這個方法應該是最快的,不用再去設定 1043ND 內的 Server IP 跟 1043ND v1 本身的 IP ,如果需要一邊看文章一邊做才安心的話,那就要用第二種方法了。

二)修改 serverip 、 ipaddr :

修改 ipaddr (1043ND的 IP):setenv ipaddr 192.168.1.1

修改 serverip (電腦的 IP):setenv serverip 192.168.1.5

把 IP 修改和現有網段不同就可以了,電腦設定的 IP 也要記得改哦~

安裝韌體

回到 Console 畫面,輸入以下指令進行下載韌體:

tftpboot 0x81000000 wr1043nv1_cht_3_13_12_up(120625).bin

傳送成功的話會出現以下畫面:

 

確定成功後就可以把目前在 1043ND v1 內的韌體洗掉了,此動作限用於 1043ND v1 不可還原,請小心

erase 0xbf020000 +7c0000

 

 

清除完成後,再來就是安裝啦,此動作限用於 1043ND v1 不可還原,請小心

cp.b 0x81000000 0xbf020000 0x7c0000

 

重開機,此動作限用於 1043ND v1 不可還原,請小心

bootm 0xbf020000

來不及抓圖

 

此時此刻,你的 1043ND 就回原廠啦!XDD 想幹嘛就幹嘛,以後刷爛就靠這招囉~!

3 Comments

  1. 我在使用了您寫的刷機文後!他一直重新開機的感覺
    然後不斷重複下列的文字

    id read 0x100000ff

    flash size 8MB, sector count = 128

    Flash: 8 MB

    Using default environment

    In: serial

    Out: serial

    Err: serial

    Net: ag7100_enet_initialize…

    No valid address in Flash. Using fixed address

    : cfg1 0xf cfg2 0x7114

    eth0: 00:03:7f:09:0b:ad

    eth0 up

    eth0

    Autobooting in 1 seconds## Booting image at bf020000 …

    Uncompressing Kernel Image … Error: Bad gzipped data

    GUNZIP ERROR – must RESET board to recover

    Resetting…

    U-Boot 1.1.4 (Mar 31 2012 – 10:40:21)

    AP83 (ar9100) U-boot 0.0.11

    DRAM:

    sri

    32 MB

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *