
这是一个十分曲折的故事
0. 起因
最开始我只是想要一个更小的便携路由
- 出差、旅行时带一个便携路由,不用在每个端上折腾网络环境问题
- 手里有 GL.inet MT3000 和 Cudy TR3000,三维 12 x 8 x 3,还不够小
1. 需求
好的便携路由需要满足下面这些要点
- 小,越小越好(甚至考虑过各种 4G 棒子)
- 开放系统,方便满足多样的需求
- 支持 WiFi 中继,不想出门带网线
- Type-C 供电,不用专门备数据线
家庭场景看重的 “网口”、“带宽”、“覆盖”和“带机量”反而不那么重要
2. 淘汰方案
2.1 足够小的成品硬路由

- 型号:GL.inet 300n V2
- 优点:小
- 缺点:性能弱、需要 Micro-USB 接口供电
- 尝试:闲鱼代改,让 RAM 和 Flash 翻倍,供电支持 Type-C
- 结果:性能依然太弱,Pass
2.2 随身 WiFi 刷机

- 型号:各种高通 410 的 4G 随身 WiFi
- 优点:小
- 缺点:不同同时连接 WiFi 和开启热点,Pass
2.3 成品路由开发板

- 型号:Banana Pi BPI-R3 Mini
- 优点:专为路由设计,各方面符合要求
- 缺点:还是稍微大了一点(主板 6.5cm x 6.5cm);贵,1100+
- 结果:我不配,Pass
2.4 成品路由开发板

- 型号:Banana Pi BPI-WiFi6 Mini
- 优点:上面 BPI-R3 Mini 的弱鸡版,价格可接受
- 缺点:SoC 冷门,不在各个系统的主线支持范围内;固件较旧,Pass
2.5 定制路由开发板
- 型号:MT7981b 开发板
- 优点:完美匹配我的需求,硬路由配置,板载 WiFi,小
- 缺点:非量产,暂时断货;自己搓,学习成本有点点高
- 结果:待定
2.6 通用开发板 + 扩展网卡
- 型号:各种尺寸足够小的 Arm 开发板
- 优点:小,普遍支持 Debian 和 OpenWrt,“扩展丰富”
- 缺点:开发板&网卡&系统驱动,适配坑;桌面网卡没有信号放大,WiFi 弱
- 结果:来都来了,试试吧
3. 踩坑
选定 “通用开发板 + 扩展网卡” 这个方案,才是折腾和踩坑的开始
3.1 选择开发板
考虑因素
- 硬件是否在 Linux 和 OpenWrt 支持范围内
- 官方维护固件是否勤奋、专业
- 需要能够扩展两张无线网卡
- 足够小
选定 NanoPi Zero2
- 有一个 M.2 网口,一个 USB-A 口,可以分别扩展一个无线网卡
- 足够小,大约只有 4cm x 4cm
3.2 选择网卡

考虑因素
- 优先 AP 支持好的工业网卡( e.g. 支持同时 STA 和 AP 的 MT7915、MT7916 )
- 驱动兼容性
注意
- MT7915、MT7916 这类网卡非常难买且价格昂贵
- 多数桌面网卡不能同时接受 WiFi 和作为 AP 热点,即便是“双频/三频”网卡
- 桌面网卡作为 AP 的时候,信号很弱,无法穿墙,加天线作用不大
- 大部分品牌 USB 网卡,驱动都非常麻烦,安装驱动可不像安装软件那样简单
- 兼容比较好的网卡型号:MT7601、MT7921、MT7922、RTL8821 等
3.3 内核版本过低
- 内核版本过低,驱动过旧,也会出现各种各样的问题
- 开发板厂商维护的 OpenWrt 内核版本太低,没办法识别我的某张网卡
- 考虑长期的自由度,愤而换成了内核更新的 Armbian
3.4 路由面板
- Linux 下并没有好用的可视化路由面板
- 都到这了,那就自己写一个吧,于是有了:Linux Router
4. 最终

解决方案清单
- NanoPi Zero2
- BL-M7935BP1,M.2 网卡,支持在相同频率下,同时开启 STA 和 AP
- BL-WN650BT,USB 网卡,RTL8821CU-CG 芯片,足够小,在新内核下可以驱动
- Armbian,内核 6.18.38
- Linux Router,自己开发的 Linux 路由管理面板,见下图

优点
- 小
- 系统自由
- 够用
缺点
- 信号低,带宽低
- 保险起见,还是加了一个 USB 网卡,有点丑
5. 后记
- 满足自己需求的就是最好的解决方案
- 人生苦短,少折腾,多赚钱
评论
共 0 条