必连LB-LINK WR4000 V2.0(2M+16M)假4天线路由器修复记
注册数码之家好多年了,也没发过贴,今天就来个第一帖.发这个贴也算记录下整个过程,以后也好温故温故.
事情的起因是手头一个LB-LINK WR4000 V2.0(2M+16M)路由器没有wisp功能,到论坛找到了个固件(
http://bbs.mydigit.cn/read.php?tid=1540438 [无线]磊科NW714 V2(7620N)路由2M-8M 刷 totolink1m/8m 实现WISP中继功能 感谢题主
@mylsu 和最早提供固件的
@maicocio ). 下载后直接web升级页面刷了这个固件,成功更新,使用了以后感觉还不错.因为是web直接刷的,所以想试试看能否再直接刷回原厂,然后就开刷了,没想到这下悲剧了,刷成砖了.然后就考虑怎么救,拆开找TTL没找到,想从芯片上引出来,针脚太小了,那就拆闪存吧.拿出了烙铁开干,等了半天居然不热,不会是坏了吧,拆开拿万用表量了下,还真烧了,晦气,开头就不顺.没法只好找出备用的烙铁,自己弄了个方块的铜套,套在了烙铁头上方便拆闪存(因为烙铁头是尖的不好拆闪存).下来就是用编程器刷固件的过程了.因为是弄好后写的文,没有当场的图片,抱歉啊.
开始先到网上找这个的编程器固件,没想到居然找不到,google大法也用了,也没有找到.看来这个LB-LINK太垃圾了也就骗个小白,小白也不折腾,所以也没有编程器固件,没法自己动手丰衣足食吧.然后就用编程器读取了已砖闪存的内容,用WINHEX打开它和原来刷的TOTOLINK(N300RE 1M+8M)的固件对比了下找到问题了,原厂的启动顺序是U-Boot 1.13→Ralink UBoot 4.1.1.0→固件,其中的具体位置为U-Boot+Ralink UBoot(0x0000000---0x0002FFFFF)196608字节=192Kbyte,EEPROM(0x00040000---0x0004FFFFF)65536字节=64Kbyte,固件(0x00050000---固件结尾)=固件实际大小,用原厂的web升级页面刷TOTOLINK固件,固件写入的位置是正确的0x00050000,而使用刷了以后的TOTO固件web升级页面刷原厂或者其他固件的写入位置是0x00030000,然而Ralink Uboot引导固件启动的位置是0x00050000,所以启动失败.但是启动失败这都好说,不好的是0x00040000----0x0004FFFF原厂的EEPROM被覆盖的这个问题,由于我没有原厂编程器固件,所以也就不知道这里的内容是什么了.先不管EEPROM了,搞个编程器固件刷入再说,于是开始了拼装编程器固件,由于我知道
hackpascal大师的breed7620的启动位置就是0x00050000,所以就先找了个breed-mt7620-reset1.bin写进了编程器固件, 从0x00000000写到这个位置0x0002FFFF(偏移量2FFFF 大小192Kbyte),使用breed就可以随便刷固件而路由器不会变砖了.
然后使用原厂固件写入0x00050000这个位置
下面就是刷入flash(GD25Q16CSIG)了,刷入完成,把flash焊回主板,上电,启动正常.用无线搜索了下信号居然还很强(没有EEPROM),这个就不懂了,还烦请高人解答下为啥没有EEPROM信号还很好的原因.
然后想试试breed能否进入,断电------按住复位键------上电,果真没进入,看来是复位键的GPIO不对,我刷的这个是reset1的,没法,使用
hackpascal大师的BreedEnter启动吧
成功中断启动,浏览器输入192.168.1.1,成功打开breed web控制台
然后进入telnet( CMD→telnet 192.168.1.1) 测试复位键GPIO号(btntst命令).
返回的复位键为GPIO#2,原来是2号,我刷的是1号,所以按复位键进不来breed,
直接下载breed-mt7620-reset2.bin,在breed web中开刷
成功更新后,我点重启没反应,看来还是有点兼容问题,那就手动断电吧
断电后按住复位键,浏览器输入192.168.1.1打开了,ok复位键就是GPIO#2.
下来就刷EEPROM吧,网上找了个MT7620_EEPROM编辑器,自己拼装弄个吧
没仔细调整,直接拉到最大,保存.
在breed中刷入EEPROM
OK,这就全部完成了.下面是工具和路由器的图
非专业维修的,没事玩玩,设备简陋,请不要见笑.
猜测: 关于TOTOLINK N300RE编程器固件的结构推测0x0000000-------0x0001FFFF为U-Boot,0x00020000-----0x0002FFFF为EEPROM,0x00030000----- 为固件(猜测的,不正确请指点),我想因为flash是1M的所以启动位置不是通用的0x00050000,而是提前到0x00030000.各位谁有N300RE的编程器固件分享下,我研究研究.
附:EEPROM起始位置有标志,是20 76 05 01.
来自
hackpascal大师的常见路由固件各成分的起始地址及大小:
TP-LINK 固件:网件 WNDR3700v2/WNDR3800/WNDRMAC:仅 U-Boot 及 ART,因为原厂升级固件不能直刷
AR2317 UBNT:仅 U-Boot 及 board_config,因为原厂升级固件不能直刷
仅适用于楼主的不死 U-Boot
AR7161 AR724x AR934x UBNT:仅 U-Boot 及 EEPROM/ART,因为原厂升级固件不能直刷
MT7620 公版类型的固件 (U-Boot 大小为 192KB):使用的固件:
网上抄了些文字:
在此先说一下小弟经历
除了先前说的Qualcomm atheros固件开发程序员之外
早期也有开发过MTK chip
一样是正规门路获取SDK datasheet及官方支持
chip玩过3050 3052 3662 6856,MT7620不给力老板转战Qualcomm Atheros 802.11ac platform
------------------------------------------------------------------
MTK wifi driver有个机制
会去检查flash eeprom区块是否有正确资料
如果没有,会有一组预设的eeprom数据copy到flash eeprom区块裡面
再用ate去重新调整wifi发射功率数据
好处是即使没有用ate去调整发射功率数据,wifi一样可以正常运作,只是发射功率会很小(eeprom默认很小)
相对于Qualcomm Atheros chip
就必须去重新调整发射功率数据才行,才会产生art数据
预设是没有art默认数据的!
所以MTK开发时间会快很多,简单多了
art(Atheros Radio Test)裡面存放著wifi发射功率等细部参数
通常是生产时每台机器会去个别的去调整
所以若拿别台art参数来用在自己机器,wifi发射功率会失去准确性
算是独一无二的数据
所以在刷第三方固件前,应该先备份机器自带的art区块
MTK的就叫EEPROM,不能叫ART。
ART的全称是Atheros Radio Test,所以是AR专用的名称。
MTK固件的EEPROM在固件前面,不像AR的在后面。