|
|
本帖最后由 huah0235 于 2019-2-23 15:40 编辑
此贴涉及到openwrt下Uboot和art分区解锁(刷入art和uboot),3700V4/4300改NAND编程器,救砖,art编辑和修改,以及类似设备的NAND改SPI启动,内容较多。希望能给各位提供一个解决办法的思路和启发。
本人非计算机专业,才疏学浅,学艺不精,如有错误,希望各位大神予以指正,在下感恩不尽!
各位看了帖子觉得好的话麻烦回复一下,也算是对小弟的鼓励了,再次谢过
年前本人40元收了一个网件WNDR3700V4路由器,外壳划痕凌乱,橙色渣,但内部功能完好。最初的目的是做一个nand编程器(参考帖子https://www.anywlan.com/thread-412270-1-2.html?_dsign=30e03a32 和 https://www.right.com.cn/forum/f ... ewthread&tid=170402),按着教程已经焊好了19根飞线,能进入breed刷入编程器固件,但是由于ECC校验问题和不能刷入完整的128MB,意义不算大。在拆掉飞线的时候悲剧发生了,掉了几个焊盘! 飞线接太过麻烦,懒得弄了。于是寻求新的解决方法
NAND是挂了,当时改编成器的时候做了SPI启动,并且已经刷入breed,但这台机器都是用NAND闪存,没有任何固件是以SPI闪存进行适配的,选择使用NAND闪存而编译的固件有很大不同,而且体积很大,无法在SPI里使用。想到以往搞路由的经验,我们可以找一台芯片相同,配置相似,但是闪存是SPI的设备刷入其固件,并作细微调整。经过论坛爬帖,发现DIR835比较适合,又找到了有好心人备份出来的编程器固件!这下简单了!于是按着以下思路进行折腾:
本文结尾会附上所有所需的工具,方便有相同意图的坛友使用
1.直接使用编程器刷入DIR835的编程器固件到SPI闪存(W25Q128),这个固件跑在4300/3700v4上LED灯基本正常,无线正常,但复位键略有差异,正常使用无问题(原贴https://www.right.com.cn/forum/f ... ewthread&tid=177571,这里选择OPENWRT的,千万不要下载DD-WRT的固件,原作者只是发了固件,但没告诉密码!DDWRT在TTL下登陆也需要密码,这就是说刷进去也用不了!而OPENWRT 在TTL下无需密码,回车就可以输命令,这点需要注意)
2.改好SPI启动,自备电阻和焊接设备(参考帖子https://www.right.com.cn/forum/f ... ewthread&tid=170402 )
3.通电之后我们用手机可以搜到移植DIR835系统的3700v4发出的信号,(但是会发现信号很弱。这是因为ART的原因,后文我们回刷回3700v4的ART,可以解决此问题)这代表改造成功。使用TTL线连接串口,接上电脑,回车进入OPENWRT的命令行下,输入passwd root修改密码,web界面登陆
4.在web界面不保留配置刷入我根据lean大神的openwrt源码编译出来的dir835固件
5.重启,自此大部分工作已经完成
6.前文提到,我们在3700v4上使用DIR835固件会信号弱不稳定的问题,这是因为两款设备出厂时art不同。何况DIR835为外置天线,而4300/3700v4为内置天线。这里我们需要恢复3700v4的ART
我们可以看到,DIR835的固件的分区格式很有趣,大部分ART文件都包含了MAC与无线校准信息,但是这个MAC和ART是分开的,分别是mtd7和mtd8,各为64kb。这就给我们直接刷入3700v4的art造成了困难(4300/3700v4为256kb,合起来的),我们使用winhex进行裁剪
通过比对,我们把3700v4 art中的有用部分按着dir835的art分区格式和大小进行裁剪粘贴,即可做出一个刷入dir835系统可用的ART文件,并用winscp上传至路由器/tmp目录,
然而,openwrt系统默认是锁住uboot以及art分区的,dd和mtd write命令不能对这些分区进行操作,无法刷入。
再次爬帖,有些人说进入安全模式即可解锁分区,本人亲测无效!还有人说需要在源代码中进行修改,然后重新编译,不过太麻烦。经过测试,找到了一种亲测可行的方法:(参考原贴https://www.right.com.cn/forum/thread-363184-1-1.html)()
lean大雕的源码因为内核的原因会导致某些软件包安装不上,这时候请到openwrt官网去下载对应型号的官方版,即可正常使用源安装
(1)opkg update #更新opkg源
(2)opkg install kmod-mtd-rw #安装允许mtd操作的内核模块
(3)insmod mtd-rw.ko i_want_a_brick=1 #安装内核模块,暂时赋予对所有分区的rw权限
此时art(uboot)分区已经解锁,继续上面的命令mtd write /tmp/newart.bin art 即可成功刷入新的art,输入reboot重启
重启之后我们惊奇地发现,wifi信号恢复了!
到此为止,3700V4/4300移植DIR835openwrt系统救砖的操作成功完成!
所需固件及art文件稍后上传
所需全部软件:(回复可见)
链接: https://pan.baidu.com/s/1UBIPrlErW--qzOL3G3Um4w 提取码: 2fam 复制这段内容后打开百度网盘手机App,操作更方便哦
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|