上面说了目前的路由器的硬件,这篇我们主要说无线路由器的刷写系统。 路由器刷写系统,的文件目录如下,此篇主讲思路,详细的教程需要准备比较多,所以我在这里主讲思路和经验。
- 路由器的固件刷写程序。
- 通过网线系统刷入。
- 通过TTL刷入系统。
- 通过编程器刷入系统。
路由器的固件刷写程序
路由器的引导流程和我之前说的手机的差不多,区别是路由器要简单很多。我在这所说的引导流程只是包含:设备上点—设备自检—进入恢复模式,这一块。剩下的系统加载后面的我们不讨论。
uboot结构
路由器通电后会运行CFE(common firmware environment)--它就是一个bootloader。我们经常碰到的设备的CFE程序是U-Boot。这个U-Boot是开源的项目,我们碰到的个种嵌入式操作系统内核的引导都是用的它。传统的都是命令界面。
uboot命令界面
U-Boot除了正常的引导工作,我们在刷机过程中主要使用它的刷写新固件相关的主要内容。
我们经常所说的不死U-Boot,现在主要指的是有图新界面的boot,简单易操作。经常使用的有恩山论坛的hackpascal大神制作的U-Boot。效果特别好,很容易上手!
hackpascal大神制作的uboot
还有的是有些厂商出厂就将自己制作的图形化界面U-Boot做好了,大家只需要上传固件就好了。
厂家自带图形化uboot
在这里主要注意的有以下几点:
- 进入设备的U-Boot,原厂一般都是没有图形界面的。
- 想使用图像界面,就需要刷写新的不死uboot,就需要根据CPU和设备型号,来选择对应的不死U-Boot
需要根据设备CPU和型号找匹配的U-Boot
通过网线系统刷入
通过网线直接将系统刷入的,设备比较少。一般要么是原厂就是这样的、要么就是已经刷入不死U-Boot了。
目前,我知道可以直接原厂通过网线刷入的,有网件netgear 的3700、4300v1、6300v2。
网件6300v2 外号:电磁炉
网件通过网线刷机很简单:
- 网线连接路由器和电脑,将电脑设置IP 192.168.1.2
- 电脑下载软件“TFTP智能刷机”,固件上传工具。设置如下图,其中的密码:password 固件文件,直到新的固件文件位置。
- 打开cmd ,一直ping,路由器地址192.168.1.1.(ping的命令:ping 192.168.1.1 -t)
- 点击软件“更新固件”。
- 按住路由器reset键,一直不放,直到cmd窗口,ping一直显示平通,软件将会自动上传固件,自动重启,然后等设备再次启动,就刷机完成了。
TFTP智能刷机
通过TTL刷入系统 上面的方法行不通,就需要通过TTL更新系统,那么就说明设备升级图形化界面肯定是没有的。
路由器的上的TTL接口,有四个针脚VCC、TX、RX、GND。我们只使用除了VCC的其他三个。有的路由器是有针的那就很方便,如果没有就只能焊接了,这就需要买电烙铁了。
TTL接口
相应的也需要TTL转USB转接器。这个很便宜,建议在淘宝多买几个不同型号的(和兼容性有关)。
TTL转USB转接器
使用TTL刷机的方法:
- 网线连接设备,TTL转USB转接器连接路由器设备TTL接口。
- 使用终端软件SecureCRT登录进路由器(也可以使用其它的终端软件)。
- 开机进入U-Boot,设置TFTP设备地址,和允许通讯的电脑地址。(两个地址要在同一网段),也可以使用在 U-Boot 命令行中运行 printenv 命令, 查看 U-Boot 中的 IP 地址信息。
- 安装电脑安装TFTP软件,current directory设置固件的文件夹位置。server address设置为电脑的有线连接网卡,网卡地址为路由器显示的serverip地址。(下面的图片我懒得改了)
- 使用TFTP命令上传固件。
U-Boot 选项
查看 U-Boot 中的 IP 地址信息
TFTP软件 接口地址为路由器显示的serverip地址为准 我懒得改了!
使用TFTP上传固件
在这块要注意的:
- 有的设备TTL接口,RX对应转接器的TX,有的又对应RX,这个需要自己试。GND一直对应的GND。
- 有的设备开机时先不能接上GND,要在路由器开机后,再快速接上GND。
- 有的路由是不会在主板上TTL接口标记名称的,需要自己试。
- 使用终端软件需要在设备管理器记住转接器的COM口号码。波特率115200,这个不一定,还是需要自己试,不正确会显示乱码。还有时都正确,但是还是显示乱码就需要关闭软件重新连接了。(这都是经验,我之前可是折腾美了!)
- 在上传固件时的代码,是固件在路由器的存储位置。运行 cat /proc/mtd 命令即可查看
终端连接设置
查看MTD 分区名
通过编程器刷入系统
通过编程器刷入系统,就是上面两种办法都无法解决了!一般都是已经U-Boot损坏了,真正的成砖了。
通过编程简单粗暴,将flash芯片直接拆下来,在使用编程器进行烧录。在这时需要的就不是简单的路由器系统固件了,需要的是对应设备的编程器固件。这个就比较难找了,要么厂家能提供,要么在原厂的系统中提取出来的ART固件,再次进行编写的编程器固件。
编程器
编程器的FLASH的芯片底座,宽体和窄体
编程器烧写芯片,没有什么可讲的,只要用软件烧写,再焊上路由器即可。(前提是有编程器固件)
编程器软件
编程器时应注意:
- 这个是解决问题最终办法。
- 这需要编程器固件!编程器固件!编程器固件!,重要的说三遍!
- 编程器是有烧写芯片型号限制的,不是什么Flash芯片都可以,买的时候要注意!
- 这个终于写完了,写这个花了5个小时,有啥问题留言吧,主要说明思路。还有就是想了解具体的,可以登陆论坛学习,首推恩山论坛和anywlan。
评论区