M.2转接Intel i210千兆

2023-06-01 作者:

先说句题外话,个人不喜2.5G,一直觉得就是民用市场卷出来的临时产品。反正六类线跑电口万兆没问题,2.5G抑或10G都是贵,买个中间态产品?图便宜就留在千兆方案,不差钱直接万兆完事,2.5G这不上不下,就那么几个网卡方案不升级还断流,厂家重视与否么显而易见,对吧。

为什么要提2.5G,前两天说Tinker Board 2s带了一个key A+E的m.2,一旦做路由,这种wifi卡显见没啥用,可以考虑:

  • 另一块网卡,这样路由就不再单臂,更实至名归一些(板子还是天生12v供电,你不做路由谁做路由?)。
  • 扩SATA。也是好主意,但这板自带16GB emmc跑host和kvm足够,还空一个TF卡槽,需要的话插卡就很方便。再扩SATA就没啥必要了,并且SATA供电也得外接,板上并无接口,鸡肋了。
  • 其他PCIe设备,意思不大。

某宝上转了一圈,其实基于i225V B3(或者RTL 8125)的m.2接口2.5G网卡,居然比i210的千兆还便宜20块,赫然写着新版绝不断流……

犹豫再三我还是入了i210版本,综合考虑了自己对2.5G的不感冒,以及RK3399的转发能力,适合自己才是最好的嘛。即使接单块2.5G网卡,再做2.5G单臂路由的话,还需要2.5G vlan switch,没事咱就别给自己挖坑了。

卡么,看板子糙了点儿,但外观毕竟不能当饭吃。

 

完整阅读本篇»

为RK3399换金属壳降温

2023-06-01 作者:

这个没啥技术含量,就看愿不愿意为这么块小铁皮出90块。板子太冷门,周边没人做,所以商家估计本着开张吃半年的原则,这么个壳子收90,而且隔壁还有140的……我感觉140买x86的瘦客户端洋垃圾几乎能买整机了……

效果也比较明显,在室温影响差异不到1℃的前提下,同样被动散热能多拉下来6℃,只能说没有白花的钱,至于值不值就另说了。

完整阅读本篇»

基于CM4 Sensing双WAN冗余路由

2023-05-12 作者:

把手头能玩的板子全玩了一遍,完全停不下来。基于virt-manager和virsh cli的libvirt方案虽然没有PVE的纯web使用便利,但毕竟ARMv8有完全可用的libvirt支持已经很方便了,还要啥自行车哦。

既然Pi 4B据测已经能够很好的承担虚拟化路由职责,那么基于CM4并集成了4G LTE连接能力的CM4 Sensing就完全有能力实现双路外网的负载均衡+故障切换,对吧?

那即使技术实现上的选择已经很清晰,我们还是列一下目前已知的可能途径:

  • 基于一般Linux发行版使用iptables + connmark + policy-based routing直接手打路由。我曾用一台Debian 11 vm做过实验并且跑通了最基本的双wan负载均衡,想来感兴趣这种原始手工方式的玩家想必不是很多,所以也没有过多记录。且继续往下,在Linux上做这些策略的持久化、多ISP定时监控、故障切换,都有大量的脚本工作;而这方面已有大量成熟方案,我的目的仅仅是通过实验理解原理,目的达到,见好就收。感兴趣的可以通过关键词检索相应文章学习,另外B站的“金枪鱼之夜”的课堂录像(上下两集),可以帮你很好的由浅入深搞懂iptables。
  • 直接按Pi 4B编译/下载OpenWrt固件。如我们之前的mwan3负载均衡测试,功能实现上不应存在潜在问题,但这里显然要开始考虑4G/5G模块的驱动编译,wan口支持wwan的相应库的选择,最终编译结果固件的长期可靠性测试,硬件如果升级(比如4G模块,比如CM4载板)必然重新编译……一圈玩下来可以说是实现产品的精力了。
  • 第三个选择就要轻松的多。完全无需重新编译,把我们已经玩6的armvirt镜像直接扔Sensing里,给vm多加一个虚拟网卡eth2,打完收工。

没理解是吧,没关系,先把上一篇《基于Raspberry Pi 4B单臂路由》复习一下,接下来我们看图说话。

完整阅读本篇»

简单RestAPI获取硬件状态

2023-05-11 作者:

简单来说,我需要一个能从HA上直接浏览家里主路由的CPU温度的首屏,因为RK3399发热比较猛却只有被动散热。有人可能说,加个小风扇难度很大么?呃,具备Netgear R7000(博通方案)在夏天轻松面对75℃服役5年的经验,我觉得国货不妨一战。

所以这个小项目,其实提供了对运行在物理机上几乎任意Linux的cpu温度、磁盘余量、上电时间等参数的rest api获取。写的比较糙快猛,主要满足自己需求,所以莫要预期过高哈。

提供何种接口

随意运行一个http client,比如  curl http://[hostname]:9090/stats/[data_type]

data_type初期支持三种, du, temps, boot_time 分别代表磁盘用量,多个温度,和上电时间。然后就可以返回数据了。

完整阅读本篇»

基于 Asus Tinker Board 2S 单臂路由

2023-05-07 作者:

书接上回,这次实验对象轮到了压箱底旧货,基于RK3399的华硕Tinker Board 2S

虽然原厂OS拉胯,不得不说硬件用料还是大厂风范

话说这CPU运行libvirt比较艰难,直接新建vm确定100%报错cpu初始化失败。

查阅了一些资料,发现这种大小核的cpu,libvirt支持上比较有个性,vm要么选择小核,要么选择大核,万不可“既要又要”,否则就报错摆烂。也好,A72双核 vs. A53四核,看看老话“双拳难敌四手”到底靠谱不靠。

带上vlan,蛮好一台4口路由

那么先给OpenWrt配置A72双核,注意是RK3399的后2核,莫要搞错。

完整阅读本篇»