RTD129X Openwrt 18.06

2020/08/26
Read this page in a different language:

本页面会介绍和发布我给RTD129X设备移植的Openwrt。

介绍

状态页

这个Openwrt通常是跟Android一起运行,不是独立运行的(我也不知道独立运行会有什么效果),例如Zidoo X9S/Z9S/Z10等设备的官方固件就是Android+Openwrt双系统的。为了方便描述,下文统一把我移植的Openwrt命名为OpenwRTA(Openwrt working with Realtek Android),把Zidoo等厂家出厂预置的Openwrt命名为RtkWRT(Realtek‘s not open WRT)。

横向比较下各系统(RtkWRT以Z9S为参考):

  Openwrt RtkWRT OpenwRTA
Openwrt版本 19.07+ 15.05.1 18.06.8
装载外部根目录或者Overlay 1 O X O
内置Overlay大小 - 40MB 300MB+ 2
高性能NTFS X O O
显示WIFI信息 O X O
软件仓库 官方 X 官方+三方
Transmission串流 3 X X O
Mac下编译 4 o部分 - O
  • 注1: 装载外部根目录可以用来直接挂载U盘等设备的分区为根目录,装载外部Overlay可把软件安装到U盘等设备上。

  • 注2: 实际大小取决于eMMC的未分区空间大小,如果不够空间则回退到官方的Overlay分区。在Z9S上这个数值是384MB。

  • 注3: 把文件的优先级提高,则这个文件内部会按顺序下载,如果是音视频文件,那下载一部分就可以播放了。源码 介绍

  • 注4: 项目地址

除了这些,由于Android系统同时在运行,Android系统定义的部分权限会影响到Openwrt,Android是通过GID(准确来说是supplementary group IDs)来管理权限的,这也就导致了在RtkWRT中部分软件必须以某个特定UID或GID运行才正常。OpenwRTA修改了libc以自动赋予进程网络访问权限和外部存储设备读取权限,不必再纠结UID和GID的选择。(如果某进程绕过libc进行系统调用,丢弃自己的权限,那我也没办法)

注意事项

  1. 网络相关的配置应该在Android系统里面进行,请勿在OpenwRTA里面修改,配置错误可能导致网络无法访问,严重时可能导致循环重启。
  2. 使用WIFI的用户需要在安卓里面安装一个APK,用来通知OpenwRTA更新DNS,点此下载APK

安装

  1. 视自身情况备份盒子配置(包括OpenWrt和安卓)
  2. 下载列表选择合适的版本下载(如果安卓系统是7.0以上下载Z9S的,否则下载X9S的)
  3. 跟平常OTA刷机一样刷入这个zip包

由于不再跟官方固件共用Overlay分区,所以刷完以后不需要重置。同样,如果回滚到官方RtkWRT,也不需要恢复以前的配置。

刷完之后, 会自动重启, 如果出现:

  1. 无法进入安卓桌面, 可能是不兼容了, 可快速回滚到官方RtkWRT

  2. 打开OpenWrt后台页面,浏览器提示不安全。这是因为安装了openssl以后,http服务默认会强制跳转https,但是证书是启动脚本生成的,没有经过CA签名,所以会报证书错误。 最简单的方式是禁用强制跳转https:打开OpenWrt后台,转到“服务”-“uHTTPd”,取消勾选 “将所有 HTTP 重定向到 HTTPS”,保存应用。(可能当前浏览器还是会用https,可以自己把地址栏的https改成http,或者换个浏览器试试)

使用过程中如有其他问题,请到Issues页面查看或提交问题。

回滚

如果你想恢复到官方的RtkWRT,请参考此节。

首先确认你已熟读官方强刷教程(例如Z9S的刷机教程),回滚的步骤与此相差无几,如果有操作经验就更好了。

准备一个U盘。

从官方的OTA包或者强刷包中提取squashfs1.img:如果是OTA包通常解压完就有这个文件;如果是强刷包,把文件改名为.tar后缀解压出里面的omv/squashfs1.img。

把提取出来的squashfs1.img放在U盘根目录。

下载 flash_squashfs1.img,重命名为install.img,也放在U盘根目录。

现在U盘至少有这些文件:

  • squashfs1.img
  • install.img

把设备关机,插上准备好的U盘,顶住reset键,开机,待前面板显示“HELLO”就可以松开reset键,大概几秒钟后就刷完并自动重启了(屏幕上不会提示刷机进度)。

如果一分钟以后还没自动重启,应该没刷成功,可能是文件名不对,确认他们的扩展名都是.img。(提示:Windows中可以用WinRAR打开磁盘,就能看到扩展名,不需要改系统设置)

重置OpenwRTA

如果OpenwRTA配置错误,导致一些问题,想要重置到默认设置,请参考此节。

首先尝试在Android系统里面进行重置,跟重置官方RtkWRT一样,不赘述。

其次,如果Android系统无法进入,那么

  1. 下载 reset_openwrta.img ,重命名为install.img,放在U盘根目录。
  2. 把设备关机,插上准备好的U盘,顶住reset键,开机,待前面板显示“HELLO”就可以松开reset键,大概几秒钟后就重置完并自动重启了(屏幕上不会提示进度)。

PS:这个操作只会重置OpenwRTA,不会影响到Android,如果Android系统的配置导致无法进入系统,请参考官方强刷教程。

下载

OpenwRTA 18.06 R23.01.12

1. 升级SSL库,以解决[Let’s Encrypt 的证书问题](https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/)

  • Z9S (sha256sum: e3692d3059b5efc65e7fcb4892039e9f34423add1ddd358174674d35ea1107e8 )
  • X9S (sha256sum: 51fe5703573c6e928a6caa536305a8e227868a712eedfd770eea85d391922e1f )

OpenwRTA 18.06 R21.03.20

1. 后台页面支持恢复出厂设置(只针对OpenwRTA)
2. 修复重置以后启动失败的问题 [#14](https://github.com/jjm2473/openwrt/issues/14)

如果之前重置已经导致无法进入系统,请同时按这个教程刷入重置包(需重新下载重置包)

  • Z9S (sha256sum: 62d877874de21dd43efe3f774ba637eb54317140aa482e8211b4a7e414896588 )
  • X9S (sha256sum: 5ec960c81d6b73c5ce6c09aca87fa8e3f30401ca52331f62abc7ad95d2f1ba80 )

OpenwRTA 18.06 R20.12.28

1. 升级到18.06.9
2. 挂载磁盘前等待30秒
3. 修复“挂载SMB网络共享”APP
4. 软件库NBD升级到3.20
  • Z9S (sha256sum: 54bb9e159133ae4b111c3e6c82468d50937c4cdbac3afc533f0fd88f9996d335 )
  • X9S (sha256sum: 43e54bffa8e0d64a1059feab1d9bbbfda0388c85e7749e7e5764f8190b1a6e84 )

OpenwRTA 18.06 R20.10.10

1. 修复Android中无法播放ISO的问题
  • Z9S (sha256sum: 7761498e8670792b9e6558f5d1fbaf282347174ee76bf27701ace4dca823adc1 )
  • X9S (sha256sum: 171b4cfd5fdbf782ddea4ce1cf47866a8ab22eb467c7618cd3fca236c6a7f7cf )

OpenwRTA 18.06 R20.09.30

1. 升级minidlna,以支持dsd等格式
2. 合并上游代码
  • Z9S (sha256sum: 0a474469795f177ff8be6ae19b37f08762eea1a72ff8243ebff010aefc1ef177 )
  • X9S (sha256sum: e29406845e543e7c60aae0073474450a0af72a351b9f1b8afd06aae70ace5ff0 )

OpenwRTA 18.06 R20.09.12

LUCI增加更多语言
  • Z9S (sha256sum: 34254175d73ebcf414816e2814c409005fc426633c8573e120deaf4660f04652 )
  • X9S (sha256sum: c614cc258a7c8dac5dc691db2477632f25e62c1d302a72dc4d857827c42994c6 )

OpenwRTA 18.06 R20.09.10

软件仓库中增加了qBittorrent,如果需要安装qBittorrent,可以升级此固件或者添加这个opkg源 https://raw.githubusercontent.com/jjm2473/cdn/master/openwrt/release/18.06.8/targets/realtek/rtd129x/packages
  • Z9S (sha256sum: 76944e39b52c770c5821545b2be40e9b80a6697748d93f1d37d578c42c702993 )
  • X9S (sha256sum: 422028a0e732af30044b45e02509c4814495a37036aaf77b230c757959ab1deb )

OpenwRTA 18.06 R20.09.04

本版只是给X9S增加了NFS共享支持,Z9S用户可忽略
  • Z9S (sha256sum: 5a599cf075de32a413f6ad2069d7da85f99e348d34643a06905e42c93fd6dac9 )
  • X9S (sha256sum: c102e03e9c9090d4a0cd3703b44002bfa4e554a1a8b9fbcfd911a79e2a58b1bd )

OpenwRTA 18.06 R20.08.29

本版只是更新了transmission-web-control-over,可在软件包页面刷新软件列表并安装此软件包,无需升级固件
1. 更新transmission-web-control-over,支持查看BT下载文件块状态 https://jjm2473.github.io/nas/2020/08/29/transmission-streaming.html
  • Z9S (sha256sum: 7bc5a156ef95cb2fc7893172cd8010128531c433492f13484dd730c31eee851c )
  • X9S (sha256sum: 83a84258618fa1cacc0b2cf13b147a50cc81ca4d6460c8591c6884f61768f433 )

OpenwRTA 18.06 R20.08.28

1. 修复某些情况下NTFS分区的UUID错误问题 https://bugs.openwrt.org/index.php?do=details&task_id=2129
2. NTFS支持卷标
3. 修复"挂载点"页面显示NTFS分区"不存在"的问题
4. 修复lua整数解析问题 https://github.com/openwrt/openwrt/pull/2067
  • Z9S (sha256sum:32992a725903c0e2d2fa972f3090cff29f40914c1b1629addd2c81dffa5b4fea )
  • X9S (sha256sum:1e552a4d57cb61396d2f401da21bee241df6468492bda1cc2c61ebe2595a5edd )

OpenwRTA 18.06 R20.08.26

  • Z9S (sha256sum:9aa19d332b61e5f7c7642db1abfb21883a48a1edba57052496820c773413777e )
  • X9S (sha256sum:e630453a283a60917d9aad3b8931353b3c832615caca6737f237c29c5ad5d382 )

截图

挂载外部Overlay

有线网络信息

无线网络信息

无线网络信息

开发

题外话

Realtek官方的Android开启USB调试模式后重启,USB调试模式会失效,可以安装这个APK解决

致谢

  • https://github.com/openwrt/openwrt
  • https://github.com/coolsnowwolf/lede
  • https://github.com/P3TERX/Actions-OpenWrt
  • https://github.com/unfs3/unfs3
  • https://github.com/transmission/transmission
  • https://github.com/ronggang/transmission-web-control
  • https://github.com/BPI-SINOVOIP/BPI-W2-bsp

Post Directory