切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 6524阅读
  • 7回复

[无线]必连LB-LINK WR4000 V2.0(2M+16M)假4天线路由器修复记 [复制链接]

上一主题 下一主题
离线panhhh
 
发帖
31
M币
44
专家
2
粉丝
10
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2017-02-15
必连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 固件:


U-Boot

固件

ART

4M

Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000

Flash 地址:0xbf020000 / 0x9f020000
大小: 0x3c0000

Flash 地址:0xbf3f0000 / 0x9f3f0000
大小: 0x10000

8M

Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000

Flash 地址:0xbf020000 / 0x9f020000
大小: 0x7c0000

Flash 地址:0xbf7f0000 / 0x9f7f0000
大小: 0x10000

16M

Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000

Flash 地址:0xbf020000 / 0x9f020000
大小: 0xfc0000

Flash 地址:0xbfff0000 / 0x9fff0000
大小: 0x10000

32M
(仅楼主不死 U-Boot)

Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000

Flash 地址:0xbf020000 / 0x9f020000
大小: 0x1fc0000

Flash 地址:0xc0ff0000 / 0xa0ff0000
大小: 0x10000



网件 WNDR3700v2/WNDR3800/WNDRMAC:
仅 U-Boot 及 ART,因为原厂升级固件不能直刷


U-Boot

ART

16M

Flash 地址:0xbf000000
大小: 0x50000

Flash 地址:0xbfff000
大小: 0x10000



AR2317 UBNT:
仅 U-Boot 及 board_config,因为原厂升级固件不能直刷
仅适用于楼主的不死 U-Boot


U-Boot

ART

4M

Flash 地址:0xa8000000
大小: 0x30000

Flash 地址:0xa83f000
大小: 0x10000

8M

Flash 地址:0xa8000000
大小: 0x30000

Flash 地址:0xa87f000
大小: 0x10000

16M

Flash 地址:0xa8000000
大小: 0x30000

Flash 地址:0xa8ff000
大小: 0x10000



AR7161 AR724x AR934x UBNT:
仅 U-Boot 及 EEPROM/ART,因为原厂升级固件不能直刷


U-Boot

ART

4M

Flash 地址:0xbf000000 (AR7161) / 0x9f000000 (AR724x 及之后)
大小: 0x40000

Flash 地址:0xbf3f0000 / 0x9f3f0000
大小: 0x10000

8M

Flash 地址:0xbf000000 (AR7161) / 0x9f000000 (AR724x 及之后)
大小: 0x40000

Flash 地址:0xbf7f0000 / 0x9f7f0000
大小: 0x10000



MT7620 公版类型的固件 (U-Boot 大小为 192KB):


U-Boot

固件

EEPROM

4M

Flash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000

Flash 地址:0xbc050000 / 0x9c050000
大小: 0x3b0000

Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000

8M

Flash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000

Flash 地址:0xbc050000 / 0x9c050000
大小: 0x7b0000

Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000

16M

Flash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000

Flash 地址:0xbc050000 / 0x9c050000
大小: 0xfb0000

Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000

32M
(仅楼主不死 U-Boot)

Flash 地址:0x9c000000
大小: 0x30000

Flash 地址:0x9c050000
大小: 0x1fb0000

Flash 地址:0x9c040000
大小: 0x10000

使用的固件:

网上抄了些文字:
在此先说一下小弟经历
除了先前说的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的在后面。
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖提到的人: @maicocio @mylsu
本帖最近打赏记录:共4条打赏M币+73专家+1
离线panhhh
发帖
31
M币
44
专家
2
粉丝
10
只看该作者 1楼 发表于: 2017-02-15
请登录后查看
[ 此帖被panhhh在2017-02-24 10:28重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线xuan118

发帖
1497
M币
2958
专家
0
粉丝
11
只看该作者 2楼 发表于: 2017-02-15
请登录后查看
离线xuan118

发帖
1497
M币
2958
专家
0
粉丝
11
只看该作者 3楼 发表于: 2017-02-15
请登录后查看
离线huzhizhang

发帖
2750
M币
1310
专家
1
粉丝
61
只看该作者 4楼 发表于: 2017-02-15
请登录后查看
离线xuzhou170

发帖
25
M币
-13
专家
0
粉丝
4
只看该作者 5楼 发表于: 2017-12-03
请登录后查看
离线leonliu99

发帖
109
M币
-140
专家
0
粉丝
6
只看该作者 6楼 发表于: 2018-12-24
请登录后查看
离线bsctv

发帖
637
M币
1701
专家
3
粉丝
26
只看该作者 7楼 发表于: 2019-06-27
回 panhhh 的帖子
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个