香橙派R1 Plus LTS软路由体验

去年家里装修好之后为了一步到位就打算把无线网络也升级到 WiFi 6 了,不过可惜买的时候没注意,选了有点坑的 红米 AX3000 路由器(不是老的红米 AX6,这款的实际产品型号为:RA81)。这款路由器用的是高通 IPQ5000 处理器,集成 256MB 内存,WiFi 6 功能用起来虽然也没有太大的问题,只是开机运行时间久了总会有卡卡的感觉,最主要小米的魔改系统没有给 SSH 权限,而网上其它小米路由器的破解 SSH 方法对这款路由器并不起作用。

最近我想了想还是准备上个采用标准 OpenWRT 系统的软路由,红米 AX3000 路由器就准备只用来发射 WiFi 信号了。软路由原本考虑很多网友用过的友善 NanoPi R2S,只是最近这款软路由的溢价实在有点多,一番了解之后还是定下了迅龙推出的与 R2S 配置基本相同的 Orange Pi R1 Plus LTS 软路由。

介绍

R1 Plus LTS 软路由的基本硬件参数如下:

项目 内容
CPU Rockchip RK3328
GPU Mali-450MP2
内存 1GB LPDDR3
WAN 裕太微 YT8531C 10M/100M/1000M 以太网
LAN Realtek RTL8153B 10M/100M/1000M USB 以太网
尺寸 63mm X 60.6mm X 27.25mm
重量 175g

其实香橙派之前还出了一款 R1 Plus 软路由,与我买的 R1 Plus LTS 区别也很小:

  • R1 Plus 用的是 1GB DDR4 内存;
  • R1 Plus 的 WAN 口使用的是 Realtek RTL8211E PHY。

所以 R1 Plus LTS 相当于是 R1 Plus 的低配版,只是可能由于芯片短缺等原因 R1 Plus 现在也基本上买不到了。

我购买的 R1 Plus LTS 软路由是自带官方金属外壳的,而且开发板本身都已经装好固定了的,因此主板本身我也就没拆了,看看软路由的外观:

R1 Plus LTS 软路由

前面是 TF 卡槽以及 SYS、LAN、WAN 指示灯,后面就是供电接口以及两个网口了。

本来打算用闲置的华为手机充电器,又考虑到放在家里需要长期稳定运行,我也顺便买了官方的 5V 3A USB Type-C 电源适配器:

R1 Plus LTS 电源适配器

系统

我找了一张老的 8GB TF 卡做系统盘,为了稳定也用的是官方提供的最新 OpenWrt 21.02.1 r16325-88151b8303 版本系统,也不考虑第三方固件提供的各种花里胡哨的功能了。

为了方便我也没有使用官方用户手册里推荐的 Win32Diskimager 或者 balenaEtcher 之类的工具来烧写镜像,直接用 Linux 自带的 dd 命令进行烧写:

备注

我的笔记本自带了 PCIe 的读卡器,所以这里的 dd 命令写的是 /dev/mmcblk0 设备,如果用的是 USB 读卡器,应该就要换成 /dev/sdb 之类的设备。

~# dd if=openwrt-rockchip-armv8-xunlong_orangepi-r1-plus-lts-ext4-sysupgrade.img of=/dev/mmcblk0 bs=1024k

由于 dd 命令没有校验的功能,烧写完成之后可以强制检查一下系统是否正确:

~# e2fsck -f /dev/mmcblk0p2

系统烧写完成之后就可以插到软路由上启动了,OpenWRT 系统第一次启动的时候会自动扩容 rootfs 分区,启动完成之后可以登录系统确认 rootfs 分区大小是否正确。

首先通过 SSH 登录或者 LuCI Web 管理界面修改 OpenWRT 的镜像源,这里我用的是清华的镜像源:

~# cat /etc/opkg/distfeeds.conf
src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/targets/rockchip/armv8/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/packages/aarch64_generic/base
~# cat /etc/opkg/customfeeds.conf
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/packages/aarch64_generic/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/packages/aarch64_generic/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/packages/aarch64_generic/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.1/packages/aarch64_generic/telephony

香橙派官方提供的 OpenWRT 系统自带了 Adblock、Squid、Transmission 甚至 Docker 等软件的支持,用户也可以自行卸载,例如卸载 MiniDLNA:

~# opkg remove luci-i18n-minidlna-zh-cn luci-app-minidlna minidlna

通过 SSH 登录可以看到 OpenWRT 系统的 Linux 内核是 5.4 版本的,应该也够用了:

~# uname -a
Linux R1PlusLTS 5.4.154 #0 SMP PREEMPT Sun Oct 24 09:01:35 2021 aarch64 GNU/Linux

然后是 CPU 信息:

~# cat /proc/cpuinfo
processor    : 0
BogoMIPS    : 48.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant   : 0x0
CPU part    : 0xd03
CPU revision  : 4

LuCI 问题

值得一提的是我使用 Chrome 浏览器访问 OpenWRT 的 LuCI Web 管理界面经常出现类似 _(...).format is not a function 这样的报错,控制台还有其它错误:

A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received

后来发现使用 Chrome 无痕式窗口访问 LuCI Web 界面就没有问题,因此怀疑是某些 Chrome 扩展导致的,经常一番禁用扩展并测试,确认是由 TronLink 这个波场官方的钱包导致的,禁用 TronLink 扩展就可以正常访问 LuCI 界面。

不过为了能正常使用 TronLink 钱包,我还是在 TronLink 扩展的详情页将 允许此扩展程序读取和更改您在所访问的网站上留存的所有数据 选项由 在所有网站上 改为了 点击时,这样 LuCI 界面和 TronLink 就都可以用了。

性能

这里我就不做常见的 CPU 性能、加解密性能测试了,因为 RK3328 的性能已经有好多网友测试过了,我主要关注 LAN 口 RTL8153B USB 网卡的性能。

我的笔记本直接带了千兆有线网卡,这样我就将笔记本通过千兆网线接到软路由的 LAN 口,用 iperf 命令做一下简单的测试了,先看看 LAN 口接收数据的性能:

~# iperf -s -w 512K
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 1.00 MByte (WARNING: requested 512 KByte)
------------------------------------------------------------
[ 4] local 192.168.2.1 port 5001 connected with 192.168.2.57 port 65244
[ ID] Interval    Transfer   Bandwidth
[ 4] 0.0-30.0 sec 3.31 GBytes  949 Mbits/sec

接着我又测试了 LAN 口发送数据的性能:

root@R1PlusLTS:~# iperf -c 192.168.2.57 -w 512K -t 30
------------------------------------------------------------
Client connecting to 192.168.2.57, TCP port 5001
TCP window size: 1.00 MByte (WARNING: requested 512 KByte)
------------------------------------------------------------
[ 3] local 192.168.2.1 port 44562 connected with 192.168.2.57 port 5001
[ ID] Interval    Transfer   Bandwidth
[ 3] 0.0-30.0 sec 3.30 GBytes  946 Mbits/sec

总结

最后我把 R1 Plus LTS 软路由的联网配置好之后,将原来的红米 AX3000 路由器的 WAN 口接到 R1 Plus LTS 的 LAN 口,并把 AX3000 从 普通路由 模式切换为 有线中继 模式,这样原有的手机之类的无线终端设备就能继续上网了:

红米 AX3000 有线中继

由于 R1 Plus LTS 软路由只有一个 LAN 口,家里的 NAS 服务器只能接在红米 AX3000 路由器上了。还好 AX3000 使用有线中继模式之后,终端设备与软路由也还在同一网段,而且上面的测试结果可以看出软路由的 LAN 口性能也不是瓶颈,我用支持 WiFi 6 的电脑和手机访问 NAS 服务器的速度也没什么问题,可以满足日常使用需求了。

最后说一下 R1 Plus LTS 软路由的散热,我购买的是自带官方金属外壳的版本,这两个月连续运行下来我发现也挺稳定的,通过命令可以查看 CPU 温度:

root@R1PlusLTS:~# cat /sys/class/thermal/thermal_zone0/temp
56818

上面结果中的 57 摄氏度是在南京接近 40 度的高温下室内不开空调看到的,实际使用下来我还没有遇到温度超过 60 摄氏度的情况,看起来挺过这个最热夏天之后,R1 Plus LTS 软路由就可以留下来暂定长期使用了。





*