标签 软路由 下的文章

接上次硬撸ROS失败。平衡需求和成本预算,最终还是决定选择虚拟机方案。

硬件选择

需求:

  1. 设备放置在弱电箱
  2. 作为家庭互联网接入的主要设备,同时兼顾局域网设备通信的核心路由及数据交换服务
  3. 满足宽带双拨的千兆解决方案

通过上述需求分析,进行简单筛选。主流工控方案,N5105和N100进入了我的最终抉择名单中。通过性能对比,N100方案比N5105方案领先那么一丢丢,成本也贵约莫100块。通过和博友往记的讨论,最终敲定了N100方案,主要是基于自身对ROS的特殊使用需求。

具体配置如图:

N100配置

伪开箱

目前首富家开售的N100方案分为两类:一类是小主机;另一类是工控机。观感主要区别在于外扩接口的差异。由于我需求的主要功能是用作软路由,因此选择4网口版本。外观照片走一波:

蓓控N100

蓓控N100_散热器

蓓控N100_前面板

蓓控N100_网口

安装部署

开箱后进行简单硬件测试,没有发现问题,开始装机。

内存测试

厂家预装了iKuai软路由系统,其实一般家用应用需求其实也能满足,但我是个爱折腾的人,目标自然是ROS。由于设备单跑ROS性能相对会比较富余,因此我决定以虚拟机方式部署ROS,作为前瞻部署为日后功能扩展预留空间。母鸡系统使用的是自己比较熟悉的PVE。

轻车上路,很快就安装完了。
PVE

简单配置了ROS,并进行一些基本测试,基本满足日常使用需求。没有出现之前使用WR330撞到硬件性能墙的问题。

ROS

网络测速也能跑满运营商的宽带。
测速

2.5G网口也能聚合到局域网交换机上跑满端口带宽
聚合测速

待机功耗也在预期范围内

功耗

使用感受

经过1个月的使用,基本能满足家里日常使用需求。

在选择前博友往记也曾提醒过我N100发热量比较大,若放在家里的媒体箱可能应付不来。刚开始我还想一个TDP不是只有6W的小盒子,能有多少热量?

结果现实狠狠给我一记大嘴巴。广州今年夏天确实比较热,放媒体箱一天不到就热挂了。一摸散热外壳,这温度能烤鸡蛋牛排。最后硬着头皮给媒体箱加装散热风扇,顺便改造媒体箱风道,机器的外壳温度才终于稳定在50度以内。

总体而言,本次折腾达到预期。


前言

前段时间,发小致电我寻求帮助。事因其从事外贸行业,和境外客户通信大多使用互联网方式。基于国情,近期出口网络质量不如人意,其公司有相关的方案,但家里收发邮件都存在一定困难。需求明确,用于收发邮件,邮件系统在境外。对于此类需求不大的应用场景,普通软路由便能解决,但由于是家用,所以还需要无线等功能。兼顾性价比,计划帮他找能刷 openwrt 的家用路由器。

入手亚瑟AX1800 PRO

简单查了下能刷 openwrt 的设备,首选江湖人称“刷机小王子”的友华WR330,后来发现 ROM 只有 16M ,这对于有科学需求而言,就不是很方便了。

近期由于运营商进一步打击滥用个人带宽行为,导致出现一小波 PCDN 矿难的情况,这说不定是一个机会。我在海鲜市场蹲了半天,80 块收到了一台狗东亚瑟AX1800 pro,64G 版本,性能比“刷机小王子”强不少。具体配置参数如下:
亚瑟AX1800PRO

AX1800 Pro采用的CPU是高通的IPQ6000,四核心频率1.2GHz,64位 ARM Cortex-A53架构,14nm制程,内置1.5GHz NPU(network processing unit),算力11040DMIPS;内存512MB内存;还有64/128/256G闪存,还可以通过USB3.0接口外接移动硬盘或U盘的扩展存储;无线参数方面,2.4G支持最高速率574Mbps(2x2mimo 40MHz频宽),5G最高速率1201Mbps(2x2mimo 80MHz频宽)。

刷机

这个设备的刷机教程,网上大部分都不是太完整。看评论说是比较忌讳狗东,因为便宜拿了本来用来做 PCDN 的设备做其他事情,损害到他的利益。我刷机主要参考了恩山大佬收集的资料顺利完成的,资料有些适合,有些可能不适合,所以这个刷机操作建议有一定动手能力的人进行,切忌盲目刷机。材料在阿里云盘,可以点击这里下载。同时也参考了张大妈某位值友的物理拆机教程

亚瑟 AX1800PRO 拆解后主板

刷机总体分为两部分:第一部分是刷uboot;第二部分刷固件。综合上面的两个教程基本能顺利完成。我补充一些自己遇到的问题(主要是 MacOS 的处理方案):

USB to TTL 模块的选择和使用

匹配的是 CH340G 串口模块。该模块在 MacOS Sonoma 使用免驱,没有遇到任何问题。杜邦线使用 3 条,不用管串口转换器电压是5V还是3.3V,不要接电源那路线直接主板供电,接线方式如下:

TTL主板
GNDG
TXDR
RXDT

CH340G

AX1800主板预留了 TTL 调试孔,但没有安装针脚。用几个牙签把杜邦线塞进进孔里固定。TTL 接 USB,电脑网口接 AX1800 LAN网口,通电后 TTL 调试器开始跑马灯就表示正常了。

TTL方式链接调试

MacOS使用 TTL 刷机方法

MacOS 自带终端和 tftp 服务器 ,无需像 Windows 那样还需要配套的刷机程序。访问串口的方法:

在终端(有条件也可以用Termius)输入下列命令,找到你的 com 设备,不行就拔插USB TTL 对比测试找出来

    ls /dev/tty.*

通过 screen 命令访问你的 TTL

    screen /dev/tty.[yourSerialPortName] [yourBaudRate]

例子:

    screen /dev/tty.usbserial-A6004byf 9600

使用内置tftp服务器就更简单了:

tftp默认目录在 /private/tftpboot(建议将该目录权限设置为777)

    # chmod whole folder to 777
    sudo chmod -R 777 /private/tftpboot

合并固件

我使用的 iStoreOS 固件是 L大 制作的,下载地址在这里

刷完 uboot 后,通过 uboot 的 web 方式刷入 istoreOS 固件。刚开始,我误以为只要刷入 rootfs 部分即可。结果刷完后,路由器不断重启。通过先刷 kernel 分区再刷 rootfs 分区依旧不行。后来尝试把两个固件合并成一个固件刷进去就成功了。windows 合并的方式是通过软件 ubin。而 MacOS 则直接通过系统自带的 dd 命令完成:

    dd if=$BOOT_BIN >>$IMG_NAME

其中$BOOT_BIN是kernel固件文件名,$IMG_NAME是rootfs固件文件名。最后得到的rootfs固件直接通过 uboot 的网页方式刷进去即可。如果懒得合并也可以使用我合并好的固件直接刷进去,点击这里下载

扩展overlay分区

iStoreOS 顺利运行起来,但是 overlay 分区只有 4M,这样跑啥都不行,网上教程很多,具体操作可以搜索一下。这里总结下大概得扩容思路:

  1. 把原来overlay分区的内容备份到新分区上;
  2. 解挂原来overlay分区;
  3. 重新挂载新分区作为overlay分区。

实测/dev/mmcblk0p27分区是用于存放 PCDN 缓存作用的,因此可以直接清空它。但是由于运行在虚拟分区表上,无法对该分区直接修改,同时我发小对docker 服务没有要求,因此我直接把/dev/mmcblk0p27清空了,作为新的 overlay 分区。

AX1800分区

iStoreOS分区

小结

至此,刷机工作全部完成。经过几个小时测试,工作稳定,有线无线方式都正常。开通科学功能,CPU 占比也稳定范围。这次算是小成本解决了需求。

iStoreOS


前言

自从撸上软路由后,一直使用ROS作为家庭网络的骨干路由系统。近期由于搬家,需要对网络重新部署。ROS 自然成为部署主路由系统的首选。为便于管理和节省连通距离,此前一直使用 ALL IN ONE 模式部署相关服务系统,ROS 以虚拟机模式运行在 NAS 中。虽然管理方便,但是稳定性容易受到母鸡影响,导致整个网络瘫痪,家里连普通的上网都受到影响。因此,在部署新网络环境时,我优先考虑把 ROS 独立出来,首选方案是硬件 ROS 设备。

购入RB450G

宽带只有300m,接入需求不大。此前使用虚拟机跑ROS,只分配1C256M资源,从来没有出现过性能瓶颈问题,因此主观地认为,简单的家庭网络响应对 ROS 并不会形成网络瓶颈。 基于这些预设前提,我在海鲜市场花了100 多入手了一台二手RB450G,带 L5 授权的 4 口千兆硬件软路由。

RB450G

把光猫切换到桥接模式,使用 ROS 进行拨号,链接好像都正常,但是刷视频什么的总感觉有点卡卡的。进行简单网络测速,300m 的宽带,运营商测速结果为 100m 左右,速度不达标!刚开始还以为更换设备时候不小心把光纤折弯过出现了线损的情况。后来直接用光猫拨号测试,结果是速度正常,所以判定问题出现在内部网络。于是我把开发商预埋的网线全部换成 Cat6A ,重新再测速,结果还是一样。因此,问题就落在 RB450G 身上了。

友华WR330刷ROS

为确认网络瓶颈是否真由RB450G引起的,我决定做个对比测试。此前,我 30 块收到个江湖号称“刷机小王子”的路由器:友华WR330,正好它能刷 ROS。因此,轻松地完整抄袭了恩山大神的作业,把 ROS 刷进去,并申请了个免费的 L1 授权。

RB450G硬件信息

友华WR330硬件信息

从配置信息不难发现,两个设备是不同时代的产物,CPU 性能应该差别巨大。

测速

使用 ROS 自带的带宽测试工具进行测试。该功能是通过两个 ROS 系统进行链接,测试两设备间的性能和网络状况,有点类似 iperf3。
友华WR330连RB450G测试结果
从结果可知,WR330连RB450G,带宽只能去到 338Mbps,此时其 CPU已经被完全占用,相反 WR330 只占用一半左右,而且只是使用单收或单发模式,如果使用同时收发模式测试,速度只去到几十 Mbps。换 RB450G 连 WR330,速度就只剩 100Mbps 左右。上面的结果很好地解释了为何刷视频会出现一点卡卡的感觉,因为流量峰值出现的时候,RB450G遇到运算瓶颈。

为印证上面的结论,我还专门爬了一下ROS 论坛的信息,发现果然在2013 年已经有大佬提过类似问题,而官方人员回应答案是 :RB450G 实际应用建议的带宽是40-50MBps(约为320-400Mbps),对于超过这个数值的需求,建议更换性能更好的设备……啊,屈指一算它已经是十多年前的产品了。

官方建议的应用范围

问题与解决方案

基于前面的测试结果,我把 WR330 更换掉 RB450G,再次进行网络测试,结果和光猫拨号相近,速度达标。
测速结果

作为主路由,L1 授权功能太少,单独购买其他等级授权确实负担不起。想来想去,还是回到虚拟机那条老路了,毕竟性能和授权都不是问题。

这个坑同时教育了我:捡垃圾,要做好功课。不然,还是花钱走正规途径省时间。