2015/11/21

TP-Link 1043nd 刷機大法

因緣際會參加「TTC財團法人電信技術中心」活動,目標是測量全台固網速率,所以會送一台AP到你家,機器有特製化韌體,是基於openwrt修改,接電連網後會自動量測並上傳資料。依速率不同會拿到不同機器,我拿到傳說中的改裝神機--TP-link 1043nd,右上角還有個TTC非賣品的logo。活動已經結束,就來準備刷成第三方的韌體吧!

IMG_1323[10]


一、1043nd 背景介紹

這台1043nd在改機界相當熱門,改機很重要的關鍵點就是「線路簡單」,打開機器就能看到,SoC、Ram、Lan晶片,一字排開,不會有著高階機種的遮遮掩掩跟精密焊點(?)。而且有Gb埠、USB、Atheros晶片,都算是當時的主流規格,另個改裝重點就是「價格便宜」,所以改裝失敗也不會心疼,再買一台便是,這非常重要,因為改裝很容易爆炸(?)

OpenWRT-1043nd專頁:https://wiki.openwrt.org/toh/tp-link/tl-wr1043nd

Mobile01討論串:http://www.mobile01.com/topicdetail.php?f=507&t=3594428&p=1

tl-wr1043nd-v14_pcb

1043nd規格:

SoC:Atheros AR9132 @ 400MHz - 算是效能與耗電平衡的頻率

RAM:8MB Flash、64MB RAM - 相當標準的大小,再多加價,再少失效能

Wifi:Atheros AR9103 @ bgn @3x3:2 - 3T3R三天線收發,但其實只有二個空間流,第三支是輔助的

SoC是Atheros,第三方韌體中,OpenWRT支援,DD-WRT支援,OpenWRT分支Gargoyle(石像鬼)也支援。官方與OpenWRT韌體似乎並不怎麼穩定,最後選擇Gargoyle。它是基於OpenWRT發展的韌體,特色是媲美Tomato的Qos,與簡潔的設定介面,穩定性也不錯…其他沒了。

Gargoyle官網:http://www.gargoyle-router.com/index.php

1043ND一共出了四版(熱賣程度可見一斑),可詳閱openwrt的官網,這台是v1最原始版,所以當然也是最多人研究破解的。


二、拆機

▼可自行參考網路的影片(https://www.youtube.com/watch?v=IHNrnLnLakE),又是萬惡的卡榫,從正面燈號處拆非常難拆,除非你想拆爆,所以反著從屁股的天線拆比較容易。

IMG_1323[10]

▼前面燈號左右邊各一的卡榫,難拆的原因就在此,從正面進攻根本看不到除非鑽洞,只有從後面並拿掉ㄇ型黑邊才能看到。

IMG_1324[4]

▼我們刷機是「TTL大法」,接線直接跟硬體溝通,所以需要找到板上「序列埠 Serial Port」,圖中紅圈處。銲上排針(杜邦座),共有四根腳「Vcc、Gnd、Rx、Tx」,而Vcc電壓腳不用接,只需焊三針。AP接電開機即可,若再接Vcc腳會燒毀機板。

IMG_1332[4]

▼電子材料行買TTL線,聽說 PL2303 晶片有較佳相容性,也不貴。TTL線是透過序列埠直接跟晶片溝通的介面,可直接經由此線將韌體上傳至 flash 以刷新韌體,對於那些刷機失敗變磚的ap,是解磚的最佳途徑。

IMG_1311[5]IMG_1312[5]


三、刷機

鉅細靡遺的刷機的專業步驟 OpenWRT 官網都詳實記錄,有問題就請看原文:https://wiki.openwrt.org/toh/tp-link/tl-wr1043nd

我簡述一下流程:

a. 機器接上TTL線,把usb插進電腦,記得要裝驅動程式。

b. 電腦開 PuTTY 終端機偵測ap開機訊息

c. 打入一連串刷機指令將韌體刷入至AP的flash

d. 重開機,開始運行新韌體

e. 確認刷機或解磚後,清除nvram或按機身後方reset清除設定,至此刷機成功!

刷機工具包下載:https://goo.gl/Thk9uG


四、詳細步驟

第1步:接上TTL線

請注意,USB的Tx接機板的Rx,USB的Rx接機板的Tx,如下圖。

USB腳 ---- 機板針腳

Tx -------------- Rx

Rx -------------- Tx

Gnd ------------ Gnd


第2步:連接AP取得訊息

開 PuTTY,指定COM埠 (usb所在埠,可開系統管理員確認),Speed 輸入 115200 (代表溝通的頻率)。

2015-11-21_212032[5]


第3步:登入AP

接上AP電源,會顯示開機資訊 (若沒有則關掉視窗重開就會有了)。跑到「Autobooting in 1 second」時輸入「tpl」三個字,才會停止並等待命令。切記只有 1秒可輸入錯過請關電重來。而變磚的機器則會直反覆在 Auto… 此處不停重跑,所以要抓準時機輸入指令。

2017-06-30_050734


第4步:刷入韌體

等下需要上傳韌體,所以我們要先在自機建立伺服器,先把網卡ip設成192.168.0.5,以方便等下輸入。

▼打開「tftpd64」軟體,不用設定就已經建好伺服,軟體也抓到網卡 ip (如圖),再按 Browse 選擇韌體資料夾,至此建完伺服。

2017-06-30_050907

▼回到終端機,輸入 printenv,確認serverip與ipaddr是否同一子網,如不是可鍵入 setserverip=192.168.0.5 與 setipaddr=192.168.0.2 來更改ip位置。

2017-06-30_050842

▼下載韌體至ap的記憶體內,鍵入 tftpboot□0x81000000□123.bin (123.bin是韌體名稱),最後會顯示韌體大小 7C0000,請記住等下會用到。(7C0000是16進位,單位是bytes,換算成10進位就是7936KB)

2017-06-30_051009

2017-06-30_051022

▼清除Flash內7C0000長度位址以放入新的韌體,鍵入 erase 0xbf020000□+7c0000,等待一段時間清除。這裡清除的長度就是依據之前上傳韌體的長度而定。

2017-06-30_051110

▼複製新韌體至Flash內,鍵入 cp.b□0x81000000□0xbf020000□0x7c0000。至此已完成刷入新韌體。

2017-06-30_051158

▼輸入reset重開,但此機不支援此指令,所以輸入 bootm□0xbf020000,一樣是重開機的意思。

2017-06-30_051259

▼重開機後,會自動開始新韌體,看到這畫面就代表進入新韌體成功,如果一直重開機循環就代表失敗。

2017-06-30_051427


PS1:刷機指令整理
依AP版本不同,指令會不同,我的是 v1.x版,其他請自找資料。

tftpboot□0x81000000□firmware.bin
//至伺服器下載 firmware.bin 韌體至RAM從 81000000 起始的位址
erase□0xbf020000□+7c0000
//抹除Flash從 bf020000 起算的 7c0000 空間。(7c0000即7936KB,依不同韌體大小而定)
cp.b□0x81000000□0xbf020000□0x7c0000
//以byte為單位,複製 RAM的 81000000 位址,到 Flash 的 0xbf020000 位址,長度為 7c0000。
bootm□0xbf020000
//從Flash的 bf02000 位址重新開機

PS2:tftp指令與bf020000開機位址確認

2015-11-11_020204[5] 2015-11-11_022921[13]


五、Gargoyle介面

登入Gargoyle,介面相當簡潔,而且一頁就可以把上網功能設定完畢,包含有線與無線,比一般ap的設定快速很多。由於我不需要Wan,想把Wan橋接至Lan後,常發生不穩的情況,可能bug吧,所以我直接把Wan Disable不用,直接接Lan。

2015-11-11_151855[3]

基本設定頁面,無線功率最大可設23dBm(200mW),但台灣遵循歐盟電波上限 20dBm(100mW),且我的AP放置距人體近,只設12dBm(16mW)。

2015-11-21_222854[2]

台灣的NCC法規限制AP的發射強度上限是100mW(毫瓦),原則上超過都算違法,也對人體有疑慮,最多設到200mW就好。而市面上標榜的高功率無限網卡,通常都是500mW起跳,有的還上到1000mW,絕對不可能通過安規。列出參考表供設定,紅字為常設值。

398mW = 26dBM
250mW = 24dBM
200mW = 23dBM
158mW = 22dBM
100mW = 20dBM
79mW = 19dBM
63mW = 18dBM
50mW = 17dBM
40mW = 16dBM
31mW = 15dBM
25mW = 14dBM
16mW = 12dBM
10mW = 10dBM

QoS頁面

2015-11-21_222633[2]

..

1 則留言:

  1. 感謝!幫補老外的拆刷機影片連結
    https://www.youtube.com/watch?v=IHNrnLnLakE

    回覆刪除

交流溝通或良好建議 ,通通歡迎。

▋熱門文章