原理说明:
-
TTL线就是串口线(USB转串口)
-
系统固件不是通过TTL线传输到路由器中
-
TTL线的作用是让PC端和BOOT进行串口通信
-
PC端通过串口线使用BOOT的控制台
-
系统固件实际是通过网口(TFTP协议)传输到路由器中
刷机流程
-
路由器进入BOOT控制台模式
-
PC端通过串口控制台调用BOOT映像中包含的TFTP程序
-
BOOT映像中的TFTP程序和PC端的TFTP程序通信,将系统固件通过网络传输到路由器的内存中
-
PC端通过串口控制台调用BOOT映像中包含的其他程序,将内存中的系统固件数据烧写到FLASH中
准备物料:
-
Window7 PC一台
-
XShell 或者 SecureCRT终端仿真程序
-
TFTP window端软件:
-
tftp2.exe (https://wiki.dd-wrt.com/wiki/index.php/TFTP_flash)
-
网线一根
-
USB转TTL数据线一根 (驱动下载:http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41)
-
HG255D相关固件下载
-
华为路由器HG255D及电源适配器
一、连接TTL线
-
TTL线使用的 PL-2303HXA芯片,驱动只支持到windows7,安装驱动
-
在【我的电脑】-【计算机管理】- 【端口(COM和LPT)】里可以查看到TTL线的信息,比如COM9端口号,传输速率等
-
打开Xshell 或者 SecureCRT 设置 SERIAL模式,信息和上一步一致(Protocol:Serrial Port:COM9 Baud rate:57600 Data bits:8 Parity:None Stop bits:1)
-
连接TTL和路由器PCB板子
-
USBTTL的针脚颜色对应的是:紅色 +5V; 白色 RxD;绿色 TxD;黑色 GND
-
HG255D板子上TTL插座定义(V+ 为3.3V的电压,千万不能接)
-
┃__ ▂ __┃__┃__┃
-
TX NULL V+ GND RX
-
-
-
-
拔掉路由器WAN和LAN口所有网线
-
打开路由的电源,如XShell有显示就表示接驳正确,关上电源。如没有,把RX和TX两根线对调。
-
二、刷uboot固件(非必须)
-
打开XShell界面,接通HG255D的电源,出现如下选择时候,选择4,出现Main_loop !! RT3052 # ,即进入成功
-
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: Entr boot command line interface.
-
7: Load Boot Loader code then write to Flash via Serial.
-
9: Load Boot Loader code then write to Flash via TFTP.
-
You choosed 4
-
-
可以使用help命令查看该BOOT支持的命令,其中“printenv”、“tftpboot”、“erase”、“cp”、“bootm”命令是后面依次会使用到的
-
“printenv”命令查看当前BOOT的网络配置,主要是查看TFTP的服务器IP(BOOT的TFTP程序是作为客户端,因此需要知道TFTP的服务器地址)
-
在PC端运行TFTP服务器软件“tftpd32.exe”
-
-
刷uboot流程
-
设置tftp服务的网络地址与上传文件到内存
-
setenv serverip 192.168.1.100
-
tftpboot 0x80100000 tftpd-uboot.bin
-
-
等XShell里显示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
-
刷完系统会自行重启,到此u-boot刷机完成
-
三、更新路由器固件(OpenWrt)
-
先将HG255D断电,运行tftp软件,选择要刷的固件
-
按住reset键不松接通电源,5秒种后会进入刷机模式,点击tftp上的“更新固件”
-
刷完之后,路由器会自动重启,请等待
-
重启之后也可以进入Xshell 命令行操作OpenWrt
-
我这里刷的OpenWrt版本是:openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin(OpenWrt Barrier Breaker 14.07 / LuCI 0.12 Branch (0.12+git-16.038.38474-0d510b2) , 所以默认用户名是root,密码是admin
(注意:HG255D刷了OpenWrt固件之后,默认的WAN接口可能不是路由器面板上的WAN接口,需要自己子在VLAN里设置,我这里设置的是LAN4作为WAN接口)
Comments on this entry are closed.