本教程參考予恩山無線論壇的相關帖子
HG255D TTL插座定義(V+ 為3.3V的電壓,千萬不能接)
┃__ ▂ __┃__┃__┃
TX NULL V+ GND RX
┃__ ▂ __┃__┃__┃
TX NULL V+ GND RX
一、 用到的東西
網線 一條
USB轉TTL線 一條
SecureCRT終端仿真程序
當然路由器HG255D主體與電源適配器也少不了了
二、 接駁TTL線
路由器PCB板上的TX、RX、GND分別連接到USBTTL(USB轉串口)的TX、RX、GND插針上
拔掉路由器WAN和LAN口所有網線
三、 電腦預設(筆者用的是XP系統)
將USB轉TTL接到電腦上,裝好USBTTL驅動,選擇正確的COM口(在設備管理器中查看第幾個COM口,筆者這里是COM9)。
把電腦的網卡地址改成靜態IP地址(筆者設置為192.168.1.100)
設置SecureCRT COM口的速率為每秒位數57600(筆者這里用的是SecureCRT,)。
設置SecureCRT里(Protocol:Serrial Port:COM9 Baud rate:57600 Data bits:8 Parity:None Stop bits:1)
Flow control選項 DTR/DSR,RTS/CTS,XON/XOFF都不打勾(COM口根據設備管理器中選擇相應的數字)。
P.S.最新的u-boot波特率為115200,是httpd,不是tftpd。
建議用我提供的附件中的u-boot,這樣比較保險點。
點“Connect”完成SecureCRT COM口連接設置,如果連接正確,窗口前會有一個綠色的勾,如下圖:
這時可以打開路由的電源,如SecureCRT有顯示就表示接駁正確,關上電源。如沒有,把RX和TX兩根線對調。
把相關的文件(u-boot、eeprom及Openwrt固件),與TFTPD32放在同一文件夾內,運行TFTPD32(什么都不要設置)。
四、 開始刷機——刷入u-boot(確保TTL線已經正確接好)
(一)在SecureCRT,打開HG255D電源, 當出現
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Enter boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP.
(二)馬上按4后出現如下(不能按9,按9更新U-boot 100%變磚頭——鍵盤上的數字鍵4)
4: System Enter Boot Command Line Interface.
U-Boot 1.1.3 (Nov 28 2012 - 12:00:15
Main_loop !!
RT3052 #
如下圖:
P.S:如果不確定什么時候該按4可以接上電源就馬上一直按數字鍵4, SecureCRT可以不需要關。
(三)設置tftp服務的網絡地址與上傳文件到內存
輸入命令
setenv serverip 192.168.1.100
回車
接着輸入
tftpboot 0x80100000 tftpd-uboot.bin
回車
SecureCRT窗口返回信息如下:
(四)等SecureCRT里顯示2個Arp Timeout Check插上網線時,把網線插入路由器的LAN口(黃色的接口),隨便哪個口都可以。
注意:如果沒有提示成功下載到問題,千萬不要繼續下面的操作。等完全tftp上傳好,出現NetBootFileXferSize= 00023874)后 (00023874為tftpd-uboot.bin文件大小的16進制數值,別的U-boot文件的值可能不同)
(五)解鎖flash 保護
輸入
protect off all
回車
回車
返回信息如下:
(
六
)擦除U-BOOT
輸入
erase 0xBF000000 0xBF03FFFF
回車
返回信息如下:
(
七
)寫入U-BOOT
輸入
cp.b 0x80100000 0xBF000000 0x40000
回車
返回信息如下:
cp.b 0xBFFA0000 0x80100000 0x20000
md 0x80100000
erase 0xBF060000 0xBF07ffff
cp.b 0x80100000 0xBF060000 0x20000
md 0xBF060000
重要提示:如是怕磚的話,不做上面這步,可以用tftp刷入第五大步的eeprom,后面可以更新lintel的eeprom。
(九)刷完系統會自行重啟,如果沒有重啟請按Ctrl+C來重啟機器。
(十)到這里u-boot刷完成,關閉tftpd32.exe
這里筆者刷的是tftpd版的uboot,這種方法還可以刷電信原版的uboot和httpd版的uboot。
注意:如果要刷eeprom要先刷tftfd版的uboot,再刷eeprom。刷httpd版后是不能刷eeprom的,因為eeprom是需要tftp刷的。
五、 【
本步驟會使無線變弱——
不建議操作,直接跳到“六”】,原版的EEPROM有checksum限制,很多第三方固件不能刷,超級終端/SecureCRT窗口內有提示Flash限制,可以選則先刷入hg255d-EEPROM.bin(這個是第三方破解版的EEPROM)來破解,然后再刷DD-WRT/OpenWRT/Tomato等第三方固件。
(一)修改第三方的eeprom.bin中的MAC地址
用WinHex打開eeprom.bin,定位到0x00000020-8,如下圖:
(二)刷入eeprom.bin
相對於u-boot,刷eeprom要簡單得多。先把HG255D斷電,運行tftp軟件,選擇eeprom.bin,按住reset鍵不松接通電源,5秒種后會進入刷機模式,點擊tftp上的“更新固件”,等那個灰色的圓圈變成綠色就可以了。
如下圖:
六、 更新路由器固件(Openwrt PandoraBox)
先將HG255D斷電,運行tftp軟件,選擇要刷的固件,按住reset鍵不松接通電源,5秒種后會進入刷機模式,點擊tftp上的“更新固件”,等那個灰色的圓圈變成綠色就可以了,這里不要太着急,可能要3-5分鍾,可以去ping 192.168.1.1 -t ,直到有ping出值來,那樣就OK了。
P.S - 1: DD-WRT固件的刷入方法類似。
P.S - 2: 以上,本教程為筆者實踐整理。
工具與固件下載:
下載地址:鏈接: https://pan.baidu.com/s/1eSKMicE 密碼: 8k3m
