大概我也挺久没有做什么记录了,稍微记录一下翻车过程。

翻看文章管理,上一篇草稿还是20年的事情,时间挺快的,跟高铁一样快。

背景

前阵子我弄来了一个新的路由器,作为 mesh 子节点来重新补点,替换掉旧的方案(我始终觉得旧的方案很棒,可能有时间的话写写)。我稍微画了一个图,就是从左边变成了右边这样,过渡挺平滑的,mesh 是个挺好的东西。

这样子就多了一个旧路由无处安放。如果说MTK的路由有什么大火的方案的话,那么MT7621AT必定排的上号。作为一个双核 880Mhz 的 CPU,小米的 R3G、R4A、红米AC2100全都是这U,而且还能直接超频到 1100Mhz,前几天还看到有用这个U做Wi-Fi 6方案的,可以说很魔鬼了。

小米运营商定制的Wi-Fi6用的就是这个U

既然性能足够,那么就得发挥余热了。原本的打算就是挂在主路由下充当旁路由的。虽说是旁路由,但其实充当的也不过是服务器的角色,至于防火墙、无线模块等则被我一一关闭了。

正常的捣鼓

由于是个旧路由,最方便最快捷的系统自然就是 openwrt 了。

原本的打算是装完加个 AdguardHome 上去,加几个公共 DNS 来做并行查询,一方面是加快 DNS 解析的速度,另一方面是防止 DNS 污染。顺便通过过滤规则,可以过滤一下小米盒子的广告,这里不得不吐槽,这货一天能跑差不多三千个访问,也不知道都在搜集啥。

总是被错误翻译的 AdGuard Home

因为最近阿里云盘挺火的,资源也都可以直接转存,所以我就又在路由上加了一个阿里云的 WebDAV,配合电视的 nplayer 直接云串流,挺方便的。这个主要是解决两个问题,一是电视端的app不是官方出的,可能存在安全性问题。二是手机app投屏无法识别外挂字幕,会直接导致看视频没有字幕的情况出现。

可以看到项目非常火爆

累人的尝试

这个之后我又想,反正内存也还没满,干脆就多加点东西上去,我想到的第一个是 Home Assistant。众所周知,Home Assistant 是没有官方的 openwrt 版本的,但是这个不重要,我们可以用 docker,docker 版本总该有吧?

 

就是上面这货,可以接入几乎所有的智能家居产品,实在没有插件的,也可以手动抓包,实现全屋智能本地化。

我便一通捣鼓,dockerd、docker cli 都装上去,docker pull 拉一下,看似一切顺利,然后就卡在CPU架构了。官方不提供 mipsel 架构的容器镜像,但是没关系,我又找到了一个可以在 openwrt 上安装的版本,只不过需要手动解决依赖的问题,这可难不倒我。

挺好用的,就是有点麻烦

又是一通捣鼓,花了两天,HA 是跑起来了,但是作为一个最精简版的 HA Core,里面什么都没有,即没有 HACS、也没有 Homekit。要知道 Homekit 作为 HomeBridge 将米家设备接入苹果生态才是我装 HA 的最终目的。于是我又花了一天尝试各种方法,但都失败了,HA 也就宣布失败告终。

但,捣鼓总是不停止的。就在今天,我又看到了 docker registry 的私有部署,这不好玩的事情又来了吗?刚好系统有了、/overlay 空间扩大好了,万事具备。docker pull,run 他!

然后就出现了这玩意儿并不支持 mipsel 架构,上图的 no matching manifest 将的就是这件事。一般而言这里应该是会出现类似于 no cpu architecture found 之类的,不知道是不是新版本改了还是咋回事。

为了确认是不是真的不支持 mipsle,所以我就又跑 docker hub 上进行确认,确实如此。

那既然来都来了,看看有啥其他好玩的容器能用,也不白白装这一波,于是我又搜索了一下 mipsle。一看只有4个,这不得当场卸载?

一定是我的拼写有问题,搜一下 mipsel,果然好多了。实际上正确的写法应该是mipsel没问题,对应的 mips64el 的 64位处理器,但就是俩都能搜到。

总结

实际上基于 mips 的软路由确实没有多少玩头,作为不那么主流的架构,在很多需要依赖底层架构的场景下就会吃亏。当然,这是一个专为路由设计的芯片,其本身就不是为通用计算作为考虑的,这也是情理之中。

如果你有装过 openwrt 系统的话,你应该有看到过这么一个界面:

无线的自由,也会存在局限。作为一个有着十几年历史的系统,其生态之庞大自不必说。但这其中其实也可能有一些东西,你并没有办法使用,有一些bug,得等上游代码进行修复,大大小小的坑其实也蛮多的。

前阵子tp春季发布会说,今年的新品能用上docker,给我兴奋了好一阵,结果现在也没等到上市。我仔细的查了一下,tp用的是 MTK 的 filogic 830 方案,基于的是 ARM 的64位架构,容器生态倒是没啥问题了,就看性能能不能顶得住了,如下图:

对比之下,32位的 ARM 只有七万个。

尽管如此,我还是不太会推荐这么“高端”的产品,除非是需求契合得特别好,否则怎么看,ARM base 来装 docker,来捣鼓折腾坑定是不如 x86 base 的,更别提后者可以二层虚拟化各种玩法。