|
本帖最后由 keke1023 于 2018-5-29 20:11 编辑
本着研究的精神,我又专门去收了两台203回来尝试了用这个方式刷breed,毫无问题…所以不清楚评论里说是失败的朋友做了什么操作,希望大家多注意吧~我测试下来十几台没有任何问题,倒是遇到一个,进了breed后刷padavan无限重启,后来证明是5V1A的电源问题,换成5V2A即可
经过坛友以及自己的多次测试,目前发现的问题是,除了dw22d外,与它配置基本相同的其他大麦型号(好像是202,203)貌似不能用这个方式,会变砖,而dw22d也推荐先刷breed(某些版本的原始固件直接刷系统也会变砖),而我亲自刷了七台dw22d的breed都没有发现问题,另外两个相近型号等我正好有设备了会测试一下再找出适合的办法
估计是最后一次更新了,已经把步骤简化到两步,且不需要putty或者winscp。。相信不会再有朋友学不会了
1.打开http://192.168.10.1/upgrade.html
2.在升级里上传你要刷的固件,并且改个容易拼写的名字比如 fw.bin (openwrt系统)或者 fw.trx (padavan系统),密码处填写 password | mtd -x mIp2osnRG3qZGdIlQPh1 -r write /tmp/fw.trx firmware
然后等个两分钟机子刷好了会自动重启,中间什么也不用做,重启后就已经是你要刷的系统了
唯一要注意的就是固件的名字(比如fw.trx)和最后在密码栏输入的指令里/tmp/后面的名字要一样
想刷breed就上传breed.bin然后把密码那一栏最后改成/tmp/breed.bin Bootloader即可
接下来还想研究一下看能不能在常规的原版系统里实现,如果实现了会再次更新
【2018-04-07】
更新一下,受坛友ysc3839的提醒,我也去看了/lib/upgrade/common.sh,发现了正常使用mtd无法生效的原因,在升级的流程走到最后发现指令跟普通的openwrt不一样之处在于它的是“mtd -x mIp2osnRG3qZGdIlQPh1 write ”,也就是这个-x mIp2osnRG3qZGdIlQPh1相当于使用mtd的密码,我查看了两个不同的编程器固件,发现这串值是一样的,所以这个指令应该通用,开启ssh后直接用mtd来升级固件或者breed都是可以的,此方法已经亲测成功
顺便验证自己关于在原始固件的工程后台直接更新固件的想法,我又去解开原始固件的包查看了一下/ezwrt/bin/文件夹里的内容,发现工程后台的脚本就是local_upgrade.sh
它的逻辑就是,将你输入的密码用md5sum处理然后跟upgrade_passwd文件里的md5值比较,这也就是之前开ssh时第一条指令的目的,通过注入改变upgrade_passwd里的值为我们自己设定的
(这里有个坑就是计算这个md5不能在线计算,不然总是不对,我是在另一台路由器里通过echo “paswword” | md5sum计算得出的,所以此处也可以换成自己想要的密码,后面的rsa秘钥同理)
然后直接在工程后台升级固件也是没有问题的,它的校验方式是首先看是否是tgz格式的压缩包,其次将其解包,通过对解包后的*.bin文件做md5sum来和解包后的*.txt里记载的md5值进行对比,
原来这个md5值是自己指定的,那么就简单了,把padavan的.trx文件改后缀名为.bin,然后计算md5值写在md5.txt文件里,再将两个文件一起打包(Windows下用7zip先打成tar,再打gzip即可),
然后通过工程后台直接上传,密码填自己计算注入的值(看打开ssh那篇帖子的留言,有朋友的工程后台是没有打开ssh选项的,可能可以通过这种办法直接升级不打开ssh,注入密码也可以在升级固件那里进行,每次上传一个不同名称的小文件即可,这些文件都会存到/tmp文件夹里)可以直接升级成padavan,不需要打开ssh,此方法已经亲测成功
【2018-04-05】
大麦DW22D之前我也只尝试过TTL(失败,无法中断启动)和编程器,一向以为没法不拆机刷
昨晚搜到了坛友dfc643发布的开启ssh的方法,尝试了一下开启成功(是从工程后台页面进行注入),但是问题来了
ssh登进去后,发现常用的mtd指令并没有生效,应该是固件对它进行了限制,所以只能另寻他路
我首先尝试了在工程后台直接上传padavan固件,第一次提示格式不对,因为页面上说要tgz压缩包,我直接上传了trx
第二次我压缩成tgz后上传,提示是md5不符,应该是有对固件合法性的校验(今天写的时候也想到,是不是能替换掉校验的md5值)
直接说上传行不通,就又换个思路,在ssh里打开openwrt自己的uhttpd进程,从https页面进到标准的openwrt管理页面
这时候就可以从ssh里用passwd更改个root密码,直接登进管理页面去升级固件为padavan,再从padavan里刷breed
下来就是整个的完整流程,在此感谢dfc643的开启ssh方法,原帖地址:https://www.right.com.cn/forum/thread-258052-1-1.html
1. 打开 http://192.168.10.1/upgrade.html
2. 开启 ssh 选:【开】,密码输入这个【最后面有一个空格】
123 | echo 6c216b27c8c9b051106c969e2077d4e9 > /ezwrt/bin/upgrade_passwd
3. 点确定,然后提示密码错误没关系
4. 再次打开 http://192.168.10.1/upgrade.html
5. 开启 ssh 选:【开】,密码输入这个【最后面有一个空格】
123 | echo ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA2tA3frFlnGsWmZeJMQuTzELWSplJN27FwXvVjan70bxnWSUvbGNV2rWD3zZo9jKoW5XmnZm46XCanWae8+LdIAk2HMG+IscjBCjfQBSHet0j2ODOt/WWOyMB67p5HGpa63kaWi4uT+ikB+xhNLRFOAxkHpnOpdnhFdU05mJ2GucEO3WEXeXnOaktJcFTcETC2VwbRPIzClsY9hero+3wNQS5CC0fU9r3J+XHqB+j8U/4wgIBBu5sflrwSofpS+g9a4vt+qJrqeXgDtz3SjxLUN2i5K6B0AxjxnC+R6a3+rtPPA3XEafaw7G58NjfnKOCu1A82gc3PhtdH60yzIPMGQ== dm > /etc/dropbear/authorized_keys
6. 点确定,然后提示密码错误没关系
7. 再次打开 http://192.168.10.1/upgrade.html
8. 开启 ssh 选 【开】,密码填写【dfc643】,点确定
9. 看到 start ssh success 即可
10. 然后用 ssh 软件连接如 putty,记得载入私钥(请去原帖地址下载),用户名是 root
-----------------------------以上就是打开ssh的方法,之后就是我尝试的刷机-----------------------------
11. ssh登入后,用passwd指令更换root密码
12. mtd被锁,所以无法直接刷机,通过打开openwrt的管理界面来刷机,使用指令/etc/init.d/uhttpd enable && /etc/init.d/uhttpd start
13. 访问https://192.168.10.1,root的密码是刚才设置的,注意是https
14. 在openwrt标准系统中刷padavan,我用的是ji2的固件,双频带usb,但是复位键无效
15. 重启后ssh登录192.168.123.1,用户名admin密码admin
16. 使用wget从本地web服务器下载breed到/tmp文件夹,然后mtd_write -r write /tmp/breed-mt7620-reset13.bin Bootloader即可刷入breed
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|