无线路由器刷机经验之谈-刷写系统(二)

无线路由器刷机经验之谈-刷写系统(二)

Scroll Down

上面说了目前的路由器的硬件,这篇我们主要说无线路由器的刷写系统。 路由器刷写系统,的文件目录如下,此篇主讲思路,详细的教程需要准备比较多,所以我在这里主讲思路和经验。

  1. 路由器的固件刷写程序。
  2. 通过网线系统刷入。
  3. 通过TTL刷入系统。
  4. 通过编程器刷入系统。

路由器的固件刷写程序

路由器的引导流程和我之前说的手机的差不多,区别是路由器要简单很多。我在这所说的引导流程只是包含:设备上点—设备自检—进入恢复模式,这一块。剩下的系统加载后面的我们不讨论。

153174181069213e9a17a90.jpg

uboot结构

路由器通电后会运行CFE(common firmware environment)--它就是一个bootloader。我们经常碰到的设备的CFE程序是U-Boot。这个U-Boot是开源的项目,我们碰到的个种嵌入式操作系统内核的引导都是用的它。传统的都是命令界面。

15317381254376a52f60eed.jpg

uboot命令界面

U-Boot除了正常的引导工作,我们在刷机过程中主要使用它的刷写新固件相关的主要内容。

我们经常所说的不死U-Boot,现在主要指的是有图新界面的boot,简单易操作。经常使用的有恩山论坛的hackpascal大神制作的U-Boot。效果特别好,很容易上手!

1531738313187d30297b678.jpg

hackpascal大神制作的uboot

还有的是有些厂商出厂就将自己制作的图形化界面U-Boot做好了,大家只需要上传固件就好了。

153173853594070b05fcee0.jpg

厂家自带图形化uboot

在这里主要注意的有以下几点:

  1. 进入设备的U-Boot,原厂一般都是没有图形界面的。
  2. 想使用图像界面,就需要刷写新的不死uboot,就需要根据CPU和设备型号,来选择对应的不死U-Boot

153174038992146ab651160.jpg

需要根据设备CPU和型号找匹配的U-Boot

通过网线系统刷入

通过网线直接将系统刷入的,设备比较少。一般要么是原厂就是这样的、要么就是已经刷入不死U-Boot了。

目前,我知道可以直接原厂通过网线刷入的,有网件netgear 的3700、4300v1、6300v2。

15317396033537928c7f2bf.jpg

网件6300v2 外号:电磁炉

网件通过网线刷机很简单:

  1. 网线连接路由器和电脑,将电脑设置IP 192.168.1.2
  2. 电脑下载软件“TFTP智能刷机”,固件上传工具。设置如下图,其中的密码:password 固件文件,直到新的固件文件位置。
  3. 打开cmd ,一直ping,路由器地址192.168.1.1.(ping的命令:ping 192.168.1.1 -t)
  4. 点击软件“更新固件”。
  5. 按住路由器reset键,一直不放,直到cmd窗口,ping一直显示平通,软件将会自动上传固件,自动重启,然后等设备再次启动,就刷机完成了。

15317398423175bb7f35dd5.jpg

TFTP智能刷机

通过TTL刷入系统 上面的方法行不通,就需要通过TTL更新系统,那么就说明设备升级图形化界面肯定是没有的。

路由器的上的TTL接口,有四个针脚VCC、TX、RX、GND。我们只使用除了VCC的其他三个。有的路由器是有针的那就很方便,如果没有就只能焊接了,这就需要买电烙铁了。

15317412058842b65c264bd.jpg

TTL接口

相应的也需要TTL转USB转接器。这个很便宜,建议在淘宝多买几个不同型号的(和兼容性有关)。

1531741452397b5dac31724.jpg

TTL转USB转接器

使用TTL刷机的方法:

  1. 网线连接设备,TTL转USB转接器连接路由器设备TTL接口。
  2. 使用终端软件SecureCRT登录进路由器(也可以使用其它的终端软件)。
  3. 开机进入U-Boot,设置TFTP设备地址,和允许通讯的电脑地址。(两个地址要在同一网段),也可以使用在 U-Boot 命令行中运行 printenv 命令, 查看 U-Boot 中的 IP 地址信息。
  4. 安装电脑安装TFTP软件,current directory设置固件的文件夹位置。server address设置为电脑的有线连接网卡,网卡地址为路由器显示的serverip地址。(下面的图片我懒得改了)
  5. 使用TFTP命令上传固件。

15317457127657b02dfb87d.jpg

U-Boot 选项

153174266883231deec51a0.jpg

查看 U-Boot 中的 IP 地址信息

1531742781162f3cf563529.jpg

TFTP软件 接口地址为路由器显示的serverip地址为准 我懒得改了!

153174468246033ada85272.jpg

使用TFTP上传固件

在这块要注意的:

  1. 有的设备TTL接口,RX对应转接器的TX,有的又对应RX,这个需要自己试。GND一直对应的GND。
  2. 有的设备开机时先不能接上GND,要在路由器开机后,再快速接上GND。
  3. 有的路由是不会在主板上TTL接口标记名称的,需要自己试。
  4. 使用终端软件需要在设备管理器记住转接器的COM口号码。波特率115200,这个不一定,还是需要自己试,不正确会显示乱码。还有时都正确,但是还是显示乱码就需要关闭软件重新连接了。(这都是经验,我之前可是折腾美了!)
  5. 在上传固件时的代码,是固件在路由器的存储位置。运行 cat /proc/mtd 命令即可查看

153174522665079b53ef7fd.jpg

终端连接设置

153174569514144128db9f2.jpg

查看MTD 分区名

通过编程器刷入系统

通过编程器刷入系统,就是上面两种办法都无法解决了!一般都是已经U-Boot损坏了,真正的成砖了。

通过编程简单粗暴,将flash芯片直接拆下来,在使用编程器进行烧录。在这时需要的就不是简单的路由器系统固件了,需要的是对应设备的编程器固件。这个就比较难找了,要么厂家能提供,要么在原厂的系统中提取出来的ART固件,再次进行编写的编程器固件。

1531746468559f43d1f8ea9.jpg

编程器

15317464693117d8d5418e8.jpg

编程器的FLASH的芯片底座,宽体和窄体

编程器烧写芯片,没有什么可讲的,只要用软件烧写,再焊上路由器即可。(前提是有编程器固件)

1531747398683696748aef4.jpg

编程器软件

编程器时应注意:

  1. 这个是解决问题最终办法。
  2. 这需要编程器固件!编程器固件!编程器固件!,重要的说三遍!
  3. 编程器是有烧写芯片型号限制的,不是什么Flash芯片都可以,买的时候要注意!
  4. 这个终于写完了,写这个花了5个小时,有啥问题留言吧,主要说明思路。还有就是想了解具体的,可以登陆论坛学习,首推恩山论坛和anywlan。