使用串口修复OpenWrt路由器
由于配置网络时参数设置错误,导致一台OpenWrt路由器无法通过网络连接,也就是说变砖
了。
路由器型号是华为HG255D,内置的bootloder具有WEB刷机功能,可以通过刷机方式来修复,但是刷机这种方式太不优雅,而且会丢失所有的设置参数。所以除非迫不得已,尽量避免刷机。
想起HG255D主板上有串行接口,也许可以通过串口登录路由器修改网络配置,然后通过网络重新连接。查阅了OpenWrt官网的WIKI之后,证明这种想法的确是可行的。
准备工作
- 具备TTL接口的OpenWrt路由器一台
- USB转TTL转换器一个
- putty软件
接线
将TTL转换器的RX、TX、GND端和路由器的串口连接,注意根据串口的通信原理,通信两端的RX、TX需要交叉接线,即TTL转换器的RX接路由器的TX,TTL转换器的TX接路由器的RX。华为HG255D的串口端接线如下:
| RX
| NC
| VCC
| GND
| TX
|
串口连接设置
打开putty软件,在Connection type
选择Serial
,填写串口端口号和波特率就可以点击Open
打开端口了。
使用串口登录
按路由器的开机键,此时在putty的窗口上应该可以看到OpenWrt的启动信息。
有两种方式可以登录路由器:
- 使用用户名和密码正常登录
如果记得登录密码,可以在路由器启动完毕后随便输入一条命令,这时会提示你登录,输入用户名和密码就可以登录了,和SSH的过程是一样的。
- 安全模式登录
如果忘记登录密码,可以在路由器启动显示Press the [f] key and hit [enter] to enter failsafe mode
信息是迅速按下f
键并回车,此时路由器进入安全模式,不需要密码就可以以root身份登录。
注意:安全模式登录后挂载的是不可写的文件系统,需要输入
mount_root
命令挂载可写入的JFFS2分区才能修改文件。
修复网络连接
登陆OpenWrt后可以通过对系统进行配置了,比如修改密码、更改WEB页面端口等。由于我的路由器只是无法连接,所以只需要更改网络配置文件就行了。OpenWrt的网络配置文件为/etc/config/network
,可以通过vi
编辑器修改。
各个路由器的网卡配置不一样,需要根据实际情况修改,下面是我的HG255D的lan
和wan
网卡配置:
1 | config interface 'lan' |
WEB登录
正确配置网卡后输入reboot
命令重启系统,启动完毕后可以通过电脑连接路由器的有线或无线网络,然后登陆WEB管理页面。
参考资料
使用串口修复OpenWrt路由器
https://www.shuyz.com/posts/fix-openwrt-connection-with-putty/