Linux SBC Based 便携路由器选型指南

虽说最近几年来 LTE 模块的门槛越来越低,比如各种集成了 WWAN 模块的笔记本,整合基带的平板电脑 SoC,但是对于在外需要良好 Site2Site 连接的情景来说,这种到处部署 LTE 设备的方案并不经济:你知道得搞一堆 SIM 卡。另外一个客观问题就是 eSIM 也并不普及。所以出门带个路由器无外乎为了:

  • 更方便的接入特定网络
  • 更好的天线,更强的信号
  • 更深入的路由策略
  • 更好的安全性
  • 接入有线网络
  • 主线内核

然而问题是,现有的便携路由器方案都有或多或少的问题,如:

  • 没有电池,或者电池容量无法支持全天续航
  • 固件没有定制能力
  • Wi-Fi 模块性能很差,或信号不佳
  • LTE 模块素质差
  • CPU 的处理能力差

而所谓的 LTE 网关并不是为了消费级用户设计的,所以:

  • 功耗大,体积大
  • 普遍没有电池,或者是只支持 PoE 电池的方案
  • 输入电压 >5V

供电

供电应该是最麻烦的部分。

就我所见最理想的供电模式,应该是 ZMI MF855 的供电。两节 18650 电池提供的 7800mAh 电量可以运行一天,同时还能给别的设备供电。一个很客观的原因是,MF855 内置的 PMIC 一方面提供了电池管理,另外还提供了原生的 3.7V->3.3V/3.7V->CPU 等 DC-DC 降压,避免了升到 5V 降压带来的层层损失,也减少了发热量。

但是 MF855 的问题也很明显,Wi-Fi 部分的 Tx 有问题,速率极慢,而且缺乏自定义功能。

而一些专用的 MiFi,比如国外阿尔卡特定制的型号,同样是缺乏自定义功能。华为有高端支持 cat12,ac 2x2 的方案,然而问题也是缺乏定制能力。

那么 Liunx 的 SBC 支持原生电池管理的 PMIC 多吗?不多。 比如见 Table of Allwinner based board里面的 AXP802 板子,支持的就很少。同时这些板子通常还不带 5Ghz 的网卡,更不要说带 USB 的 mPCIe(Pine H64 初代真的是一个差一点就很能用的板子)。

如果退而求其次,追求简单粗暴,那么移动电源即可。然而移动电源分三种情况:

  1. 输入的时候无法输出(绝大多数)
  2. 输出时候接上输入,会突然断电,然后(快充可能被禁用或者降低功率)输出(少数,如 ZMI10, 索尼的不少移动电源)
  3. 输出时候接上输入以原来的功率输出,类似 UPS(超级少数,如小米 10000mAh 高配版,无线版本; ZMI 10000mAh 无线版)

当然,还有针对 Raspberry Pi 开发的 Battery Hat,但是这类方案也是价格不菲,而且要面对多级升降压问题。另外 12V 的板子接移动电源就要考虑 DC 变压/QC PD 诱骗方案,同样,除非上一级是 7.4V 串联输出 9V 这种损失较少的方案

LTE 射频

其次是 LTE 方案。 LTE 卡可以分成几种情况:

  1. SoC 集成,比如 Orange Pi 4G IoT(MediaTek 方案), 或者 Sierra Networks 带有 A7 Application Core 的基带,或者像某些用了 Qualcomm 419 方案的所谓人脸识别主板(这玩意考虑到 DragonBoard 的价格,外加集成基带,性价比其实非常高)
  2. 板载 mPCIe 的接口,个别主板还会直接集成 SIM 卡插座。就算没有插槽,也可以通过转接板接上 SIM 卡。M.2 接口同理。这种方案由于卡可以直接取得 3.3V, 所以可以避免多次电压变化。
  3. 通过 USB-A 接口或者排线接入 LTE 卡板,这种方案需要额外购买转接卡,而且转接卡通常需要降压电路(3.3-4.2V),所以会引入额外功耗,并且卡的降压电路的最大电流也会影响到 LTE 卡的稳定性。
  4. USB-A 接口的 LTE 模块,这种折腾的难度最低,个别还整合了 2.4G 网卡。

第一种看上去比较方便,但是可以选择的空间很少,外加高端产品的高价格进一步限制了选择。同时这些 SoC 多为 Android 设计,就别指望多少人 port 主线内核了。 第二种多见于交互屏的方案中,很多时候和充电 PMIC 不可兼得,而且会带上很多不必要的外设,增加了功耗和体积。 第三四种算是比较通用的方案,但是必然会引入 DC-DC 变压降低效率,同时 3 方案很多还要考虑外壳问题,有的 LTE 模块的外壳很大,不过能换来 SMA 天线接口。而 4 方案的固件会相对复杂,个别模式存在二级 NAT 的问题。

SoC 选型

SoC 的选型主要有以下考虑

  • ISA 架构,通用性比较好的主要还是 armv7, armv8 和 amd64,像是中古的 armv6 就很容易碰到一些非自由软件不兼容的问题。
  • 核心数量,频率,架构,工艺和 AES/CAAM 加密特性的支持; 记住 ARMv8 的 AES 是可选特性; ARMv8.4 提供了 SM 系列算法的可选实现(虽然真的对于个人意义不大)
  • USB Host 的数量, PCIe 支持
  • 集成的 Ethernet mac 和 Wi-Fi 特性
  • 和 PMIC 相关的 DVFS 特性
  • 社区/官方内核的支持情况

目前 allwiner 的低端,如 H2+/H3 都是 40nm,但是好在社区支持应该能持续很久。H6 最近也有很多社区支持,有独立 PMIC 和 LPDDR 内存,外加 28nm,所以在周边外设增加的情况下做到了比 H2+ 接近的待机功耗。

像 RK3399 这样的顶级 SoC,功耗就非常爆炸, 虽然 RK 提供了自己的 PMIC 方案, 但是这样跑起来加上射频就和电磁炉一样。今年预计会有一波 8nm/12nm/22nm 的新嵌入式 SoC,主要是 RK3358, 或许就没那么火炉了.

高通开发板(DragonBoard)方案非常贵, 但是如果是国内做人脸识别门禁/支付的成品板就很便宜, 主要优势在于集成了 LTE 和 Wi-Fi. 不过内核/发行版支持就会比较糟糕.

Wi-Fi 选型

Wi-Fi 在 SBC 上主要有几种:

  • 走 SDIO,这种最常见于 AMPAK 的邮票,低端的 AP6212 很常见,实测大概峰值速率 40Mbps。理论上可以吹掉换同尺寸更高规格的邮票,但是需要改 dt 换 firmware patch,资料可以见: 某大佬吹掉 AP6212 换 AP6234 的记录 AMPAK Module Specs。不过 SDIO 的限制很大,SDIO 受制于数据线数量和频率,常见的 ac 1x1 AP6255/AP6256S(带 BT5.0)即便可以 443Mbps 握手,最高也只能跑到 110Mbps。
  • 走 USB。当 SDIO 的卡不支持 5Ghz 时,环境干扰就会很大的影响实际速度,从而成为 LTE 的主要瓶颈。USB 卡的选择就比较多,主要是 Realtek(螃蟹)家的卡。一般主线内核能支持更多新网卡。所以买卡之前要结合实际情况考虑即插即用和相关驱动的功能实现情况,省的回头还要编译驱动,搞 DKMS 之类的事情。个人比较推荐 8812au,因为还能用于渗透测试等工作。
  • 走 PCIe。这个要求就比较高,因为有的 SoC 的主线内核并不支持 PCIe,或者 PCIe 实现的比较草(比如 H6),需要 patched 的网卡内核驱动。不过就选型来说,除了 MediaTek 那种针对路由器设计的 SoC 自带 Wi-Fi,通常有 mPCIe 插槽都会留给 LTE 卡用(等于还是用 USB)。

Allwiner 相关可见 Table of Allwinner based board。个人觉得如果仅仅是 cat4 LTE 的话,AP6255 基本就很能用了。而且板载网卡意味着少占用 USB,能源效率也较高。

VIM2/3 Edge 家的邮票还支持 RSDB,适合于需要 2.4Ghz Only 的设备(其实用 BT 的 PAN 也不是不行)

外壳和版型

因为随身路由器很多时候放在包里,又有到户外的需求,为了防止 ESD 和水,外壳还是非常必要的。Orange 家很多产品提供了外壳,FriendElec 也有。mangOH 家提供了 3D 打印外壳和开源图纸。BPI 的 R1/2/64,也有亚克力外壳。散热片也是非常必要的,而风扇最好按需配置(比如有接口和调速方案)。

然而比较可惜的是,社区支持较好, 带官方外壳,SoC规模、性能比较平衡,带电池管理,板载 LTE socket SIM 卡槽,带 AC 网卡的 SBC 目前还为找到。

相关推荐

如果对资金比较敏感,Orange Pi Zero/NanoPi Neo 都是不错的选择,当然缺点是得外挂移动电源,挂 USB 的 LTE/WiFi Dongle。 个人觉得 NanoPi 外壳的工艺更好(很多有金属外壳),而且散热结构比较合理,板子的质量也相对更好。 特别是NanoPi NEO 2/ Plus 2。 Orange Pi zero plus2 存在比较严重的散热问题,就不推荐了。

而如果希望少挂 Dongle,目前 28nm H6 w/LPDDR3 带 ac 的型号里,Orange One Lite 2 是我比较推荐的型号,大概 180 就能搞定本体+外壳。缺点是没有自带的有线网卡。缺点是 USB 3.0 可能不能稳定握手。

如果可以容忍较大的体积和功耗,OPI RK3399 算是一个价格比较合理的选择。然而官方外壳还是比较含酸, ESD 保护并不全面而且功耗过大。

BPI R2 带一个 PCIe 槽(需要 SIM 转接卡接 LTE 卡),并且带外壳和电池,然而板载的 Wi-Fi 基本不能用,而且几个网口很大的增加了待机功耗,所以不推荐。R64 用的是 4x4 的 MediaTek SoC,带 LTE 插槽,然而可惜没有电池接口。

树莓派只推荐 3A+,因为其他的型号自带的 Hub 引入了很大功耗。 不过比较可惜的是 3A+ USB 口过少,CPU 不支持 AES 指令集, 并且千兆网卡受制于 USB 2.0, 仅能达到 300Mbps.

Luv Letter

變幻莫測之物, 未曾改變之物.

Subscribe to Luv's Shelf

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!