TP-LINK_841N这款路由器还是tplink家族中比较经典的一款,硬件版本可查到的从V3开始到V12,每个版本或CPU不一致,或RAM、Flash大小不一致,而且更坑的是,国内版本和国外版本Ram、Flash大小还不一样。大概参数可在:http://wiki.openwrt.org/toh/start查询参考。
以上表是国外型号的配置,国内v8这个RAM型号为Zentel的A3S28D40JTP容量为16Mbyte,Flash型号为Spansion-S25FL032P容量为2Mbyte。国外是32M/4M
这款路由器国内使用量还是比较大的,百度下网友的的吐槽就可以知道了,最多的问题就是死机,WDS功能不完善。个人在使用tplink路由器的总体感觉就是刚买来的新路由器很好用,用2年左右后就各种死机,升级固件也没用,逼你买新路由器。
在路由器左上角有TP5/TP6是TTL打印输出口;其中TP5为TXD,TP6为RXD,可在边上PCB上刮铜焊接GND。路由器重启后可在PC串口终端上可看到uboot启动信息,串口设置为波特率115200,8位数据位,1位停止位。能看到启动信息表示路由器还活着。。。
原机的A3S28D40JTP更换为HY5DU121622CTP-D43,更换的过程中特别注意附近的一堆小电阻电容。少了几个的话那只能呵呵了。。。
更换完成后还是老步骤,上电通过串口查看启动日志,看是否正常工作。如无法正常开机那就说明RAM没焊好,挨个pin脚查,直至可在串口看到完整的启动日志为止。
正常启动后,可以看到uboot已经查到当前RAM为64MB,进入步骤三。
由于原机的FLASH上带的uboot上不支持刷openwrt,这次选择的是不死uboot,超级好用大名鼎鼎的breed。
breed的详细说明参照:http://www.right.com.cn/forum/thread-161906-1-1.html。下载地址为:http://breed.hackpascal.net/。我选择的是breed-ar9341.bin
更换Flash前我们先需要将breed烧写进Flash,本人用的是轻便快捷好用的USB_SPIFlash编程器。
在烧写breed之前需要手工修改breed文件,将当前路由器的MAC地址和PIN码写入breed中。MAC地址为0x1fc00,PIN码地址为0x1fe00(可在路由器背面查到)
将上述修改后的breed写入W25Q64FVSSIG,更换完后还是看启动日志。Breed已自动识别DRAM大小和Flash型号及容量
恭喜你,硬改成功!
剩下的就是软件刷机工作了,移步步骤四。
1:编译OpenWrt固件
在openwet源码中通过make menuconfig配置符合当前路由器的设置项
编译完成后会生成一堆bin文件,其中就有TP-LINK TL-841N V8对应的固件
2个bin文件区别:
l factory用与别的固件刷到openwrt用的,带用户数据分区。
l sysupdate就是openwrt固件自己升级用,不包含用户数据分区的,所以sysupdate的bin文件就比较小一些
简单点讲,就是第一次用factory版的,以后都用sysupdate的
2:升级固件
在breed启动的前5秒,可通过串口终端敲任意键进入breed模式,否则计数完成后,自动进入内核启动。
进入breed模式后,可通过命令行模式操作,也可以通过http登录web更新页面。我们当然选择一目了然的web更新页面了!!!breed启动日志上写的很清楚,eth0的ip为192.168.1.1。
Web页面如下:
我们选择固件更新页面,选择常规固件
固件文件选择的是factory版本的openwrt,
ART文件选择的是路由器对应芯片的wifi驱动,这个在第一次固件更新的时候一定要有,否则openwrt驱动后和wifi有关系的选项都不会出现!!!
点击上传后将自动更新,完成后自动重启!不用多久就可以通过web界面进入openwrt设置页面了!
恭喜刷机成功!