Sipeed NanoKVM:20 美元、USB-C 供电、内置 TF 卡槽的 IP KVM 模块

2024-07-11 23:03:54
This post is also available in English and alternative languages.

本文的 NanoKVM 样品由 Sipeed 友情赞助。

TL;DR

基本介绍

通俗的说,IP KVM 是基于外部硬件的(带外管理,OOB)、独立于操作系统的远程桌面方案,可以透过网络进行 BIOS 管理、远程桌面(HTML5/Java/VNC)、电源管理等操作,就像是在现场操作一样。你甚至可以挂载 ISO 文件,远程重装系统。

IP KVM 大概有以下几种类型:

  • 独立的 IP KVM 矩阵:很贵很贵,需要单独购买 Adapter 和 Switch
  • 支持 Intel vPro 功能的商用主板(大部分 ThinkPad 和 Dell Precision)的 Intel AMT 功能
  • 集成在服务器主板的 BMC 芯片中:如 Supermicro Intelligent Managment、Dell iDRAC 和 HPE iLO

集成了 BMC 的主板价格通常数倍于家用产品;对于家用主板,Intel AMT 如今也 discontinued 了。至于向日葵控控,其依赖于中性化的云平台,且需要 SaaS 订阅。基于 Raspberry Pi 的 PiKVM 看着不错,但树莓派硬件本身已经逐渐背离了其“人人买得起的计算机”的初衷,价格逐年上涨,逼近 J1900、N100 等低功耗的 x86 平台。

NanoKVM 是 Sipeed 基于自家 LicheeRV Nano 开发版的 IP KVM 产品,对标 PiKVM,以 20 美元的价格提供基本的 IPMI 功能。除此之外,还内置 TF 卡槽,可以提供 ISO 挂载。非常适合低成本 Homelab 改造。

产品开箱

NanoKVM Full 采用纸盒包装,包含:

  • NanoKVM 本体
  • ATX-B 电源板
  • 2x USB-A 转 USB-C 数据线
  • 一组(12根)杜邦线:用于连接 ATX-B 电源板与主板

用户体验

初始配置很方便,仅需使用 USB 和 HDMI 线连接到受管理的设备,再接入网线即可。NanoKVM 将伪装为 HID 设备(键盘和鼠标),并捕获 HDMI 信号,输出为 M-JPEG 流。OLED 屏幕上会显示当前 IP 地址、HDMI 输入信号以及 CPU 使用率。辅助供电口用于连接外置的 USB 电源,这样当设备主板切断了 USB 供电时,NanoKVM 仍然可以正常工作。

Web UI 提供了语言切换(简体中文/英语)、固件 OTA 更新和串流参数设置。支持的分辨率不多,只能选择 640x480、800x600、1280x720 和 1920x1080 四种。遗憾的是,Web UI 暂时不支持上传 ISO 镜像,或进行文件管理。

当浏览器窗口小于串流分辨率时,会出现滚动条,而不会自动缩放。当窗口大于串流分辨率时,也不会自动缩放。

Terminal 能以 root 权限访问到 NanoKVM 的系统,可以看到有一个通过 USB 端口虚拟的网口,连接到受管理设备。在受管理设备上,可以看到一个驱动无法正常加载的 RNDIS 设备。

视频编码器似乎是始终运行的,所以登录后画面瞬间就加载出来。切换分辨率和画质时,需要几百毫秒时间生效,画面会闪烁一次。

整体来说串流体验很不错,延迟较低,和基于 TCP 的 RDP 差别不大,但略逊色于基于 UDP 的内网 RDP 使用体验。是的,在 2024 年,微软仍未为 macOS/iPadOS 平台的 Microsoft Remote Desktop 客户端添加 UDP 支持。相比于 Dell iDRAC 和 Supermicro 自带的 HTML5 或 Java Applet,NanoKVM 的用户体验以及串流性能明显更好。

至于串流质量,即使图像质量设置为 95%,颜色仍然略有些发灰,应该是编码的色彩较少。内网下串流帧率很稳定,通过 NanoKVM 在 1080P@60 分辨率下观看视频,十分流畅,没有出现掉帧、卡顿等现象。带宽消耗从 4Mbps-70Mbps 不等,取决于分辨率、画质以及画面变化。编码器应该是可变码率,类似监控摄像头,在画面变化较少时,带宽消耗较低。

使用一段时间后,NanoKVM 本体背部的散热片有一些热量,但不会烫手,串流性能也未见下降。

总结和建议

  • Shut up and take my money.jpg
  • 这是市场上最便宜的 IP KVM 产品,没有之一。购买成本远低于 PiKVM,且体积和散热具备显著优势。
  • 目前 NanoKVM 无法使用 ipmitool 进行操作,期待后续固件中能够支持 IPMI 和 Redfish 协议。
  • 频繁切换串流设置时,可能导致编码服务炸掉。需要根据 Wiki 中的方法进行恢复。
  • 默认 Web UI 账号为 admin/admin,SSH 账号为 root/root。请务必修改默认密码,并将设备隔离在管理 VLAN 中。
  • 目前串流方案基于 M-JPEG,期待后续 h264 的表现。
  • API 接口使用了 JWT 鉴权,有效期为 6 个月。即使 NanoKVM 本体重启或更换浏览器,也不会导致 Token 失效。考虑到 NanoKVM 采用 HTTP 明文通讯,存在一定风险。建议加入 session key 轮换机制,或提供自签名证书的 HTTPS 服务(并允许用户自行替换)。
  • 中国公司设计、制造的闭源硬件不可避免的会在海外市场遭到质疑(12)。根据 Sipeed 官方 Twitter,NanoKVM 未来将会开源固件,并移植 PiKVM 固件。这算是对阴谋论的最好回应了。
  • NanoKVM Full 预置了 TF 卡,如果能出厂预装 Zerotier、WireGuard 或 Tailscale 软件包,将会是很不错的独家 feature。
Prev
2024-07-11 23:03:54