Почему NanoKVM?
Имея хоумлабу, мне периодически приходится что-то ковырять в биосе серверов или настраивать очередной сетевой конфиг после того, как вставил тестовую железку. Переключение монитора/клавиатуры/мыши каждый раз для любого действия — процесс нетривиальный, а никаких ILO IDRAC и т. д. в моём домашнем железе отродясь не было, поэтому пришлось искать решение.
Для себя я выделил такие хотелки:
Управление питанием хост машины.
Формат PCIE карты для аккуратной и удобной установки в сервер.
Картинка минимум FullHD, задержка не так важна.
Звук не важен совсем.
Низкое энергопотребление.
Низкая цена, желательно в районе 50 $.
И вот такие решения я нашёл на рынке:
JetKVM — он был отброшен сразу, его нет ни на одной торговой площадке, нет на б/у рынке и в магазинах его также нет. Стартовая цена в $70 неплоха, но весь смысл теряется, когда тебе надо доплатить ещё столько же за его доставку байеру.
PiKVM — также не выдержал конкуренции. Цена готовых комплектов начинается от $90, при этом они далеко не в виде PCIE карты, и их потребление далеко от идеального.
GL.iNet Comet — уже интереснее, его можно найти по цене в $80 на том же AliExpress. Он умеет в 4К при 30 FPS с низкой задержкой и даже в передачу звука! Но, к сожалению, для управления питанием хост-машины потребуется докупить отдельную плату за $18, а сам корпус девайса не предназначен для установки в системный блок.
NanoKVM Pro — не менее интересный вариант, чем Comet. Он также умеет в 4K разрешение, но уже при 45 FPS, поддерживается передача звука, а также имеется не только настольный вариант (за $91), но и версия PCIE карты (за $72).
NanoKVM — самый дешёвый и одновременно самый простой вариант из всех доступных. Все его вариации умеют в 1080 p при 60 Гц, но с приличной задержкой в 100–200 мс. Передачи аудио нет совсем. Но всё это компенсируется ценой! Самая простая базовая версия продаётся на синем маркетплейсе за смешные $32, версия в формате карты Ethernet PCIE стоит всего $44, а полная карта с Wi-Fi и POE имеет цену $56.
В общем-то, на фоне цены последнего решения все остальные просто меркнут. Базовый NanoKVM в формате PCIE карты за 44 $ в теории выполняет все мои задачи по удалённой настройке сервера.
В итоге я взял NanoKVM PCIE на одном синем маркетплейсе, цена — 3977 рублей, или 50 $. В целом мне бы хватило базовой версии с одним Ethernet, но ради интереса и обзора я взял чуть более дорогу Wi-Fi версию.

Распаковк�� и осмотр
Sipeed NanoKVM приезжает в небольшой картонной коробке. Внутри нас ждёт сама плата KVM, а также комплект проводов.

Комплектацию можно назвать богатой, кроме платы с высокой PCIE планкой, в коробке имеется:
Низкопрофильная планка.
Wi-Fi антенна с SMA коннектором.
2 набора кабелей для подключения передней панели.
2 USB-C на USB-A кабеля.
4 pin кабель для подключения к внутреннему USB порту материнской платы.
HDMI кабель.
Отвёртка.
Прозрачная пластиковая панелька-изолятор для контактов на задней стороне платы.

Плата имеет формат обычной PCIE карточки, но с порта PCIE берётся только земля и +5 вольт. Все остальные линии питания не используются, а линий данных совсем нет.
Питать плату можно сразу 4 способами:
USB порт на передней панели.
PCIE порт.
Внутренняя USB колодка компьютера.
POE.
Я купил плату без POE, поэтому преобразователя тут нет, но место под него есть, как и вся разводка — при желании преобразователь можно докупить и припаять потом.

В качестве Wi-Fi модуля тут установлен достаточно современный LB-Link M8800DU6-80. Он поддерживает Wi-Fi 6 стандарт, частоту 2,4 и 5 ГГц, имеет Bluetooth и скорость соединения до 287 Мбит.
Это решение меня очень порадовало, ведь часто в недорогой технике можно обнаружить старенькие модули с частотой 2,4 ГГц (например, в RPI ZERO 2W).
Сердцем устройства является процессор SG2002, под капотом он имеет 2 ядра, одно — RISC-V C906, а второе — ARM Cortex-A53, они оба работают на частоте 1 ГГц. Для операционной системы выделено 256 мегабайт оперативной памяти стандарта DDR3, но где-то половину из них отбирает видеобуфер. Чип ориентирован на камеры, поэтому у него есть аппаратная поддержка кодеков h.265, h.264 и JPEG.

Дополнительно на плату был установлен HDMI-MIPI CSI конвертор LT6911UXC, так как процессор не имеет входа для HDMI.

Прошивка, настройки и образы загрузки хранятся на внешней Micro-SD карте. В моём случае это Lexar на 32 ГБ. После настройки пользователю остаётся 21 ГБ свободного места.

На передней панели расположились:
SMA штекер для подключения внешней антенны.
Ethernet порт на 100 мегабит.
HDMI порт с поддержкой разрешения FullHD.
USB-C для внешнего питания.
USB-C HID для функционала мыши/клавиатуры/диска.
Кнопка BOOT для сброса платы и активации OLED экрана.
Светодиод STA как индикатор активности.
OLED экран для вывода информации.

При установке низкопрофильной планки теряется возможность подключения Wi-Fi антенны.
Забегая вперёд, скажу, что планку нужно ставить очень точно и скрупулёзно, при её установке есть шанс зажать кнопку BOOT, тем самым сломав загрузку платы, а также сдвинуть OLED экран, отчего он будет стоять криво.

Полезные ссылки
Первый запуск и впечатления
Для тестов я собрал небольшой стенд из мини ПК (Minisforum UM760 SLIM) и KVM карты. Для питания я использовал USB кабель. Также подключил USB-HID для клавиатуры и эмуляции диска и HDMI кабель для получения картинки.
Если после загрузки зажать кнопку BOOT на 2 секунды, то KVM запустит свою точку доступа и выведет QR код для подключения на свой экран!

После подключения питания KVM стартует в течение 15–20 секунд и показывает IP адрес на своём экране.

Если зайти по адресу, то нас встречает экран входа. Стандартные данные — admin/admin, после входа будет предложено сменить их на более надёжные.


Как оно работает
После успешного входа и смены пароля нас встречает интерфейс, он сильно похож на Rustdesk. Верхняя панель прячется кнопкой с крестиком, соседняя кнопка делает картинку на весь экран, и в таком виде компьютером вполне можно пользоваться локально.

Задержки и в целом скорость обновления картинки очень сильно завис��т от выбранных настроек картинки.
Если использовать FullHD разрешение, максимальные настройки качества, то скорость, мягко говоря, не супер, по ощущениям движение мышки происходит в 15 FPS, а картинка ближе к 20. Задержка картинки где-то 150 мс. С такой задержкой можно без труда настраивать BIOS, лазить в системе, править конфиги и т. д. Смотреть видео можно, но с трудом и без звука, играть в игры тоже можно, но разве что в пошаговые стратегии.
Если скинуть разрешение до HD, поставить минимальное качество и 24 FPS, экспириенс становится заметно приятнее. Плавность картинки отличная, задержки сильно падают, и в целом таким решением можно даже пользоваться как полноценным удалённым рабочим столом.
Параграф выше актуален для версии прошивки 2.2. В версии 2.3 кодирование значительно ускорили, и теперь в HD-разрешении задержки очень низкие и вполне позволяют комфортную работу, просмотр видео и даже игры!
На момент написания статьи прошивка 2.3 находится в статусе бета-теста.
За качество цветов KVM хочется похвалить. У меня было несколько бюджетных карт захвата от 5 до 30$, но они и рядом не стояли с тем, какую картинку даёт Sipeed nanoKVM. Дешёвые карты захвата банально портят градиенты и сильно ухудшают читаемость текста.

Управление работает хорошо. F клавиши передаются без проблем напрямую в хост систему. Alt + Shift меняет язык ввода. С сочетаниями всё 50/50. Alt + Tab, Ctrl + Alt + Delete как передаются в хост систему, так и срабатывают на устройстве, в браузере которого мы смотрим картинку.
Изучаем интерфейс
Панель — Экран
Видеорежим — Позволяет выбрать между кодеками h.264 и mJPEG, а также способом доставки картинки по сети. Direct режим доступен только при включении HTTPS режима.
Разрешение — Выбор разрешения экрана, по дефолту стоит авторежим, ПК распознал его как generic монитор 1920 × 1080 при 60 Гц.
Качество — Выбор битрейта, в основном влияет только на движущуюся картинку, на низком всё покрывается квадратами, на высоком такого нет, на статичных кадрах картинка неотличимая.
Частота кадров — Позволяет выбрать частоту обновления. Из-за задержек разница между 60 и 24 кадрами минимальная.
Перезагрузить HDMI подсистему — Эмулирует переподключение HDMI кабеля в хост машину.

Панель — Клавиатура
Вставка текста — Возможность быстро вставить текст из 1024 символов, который наберётся в таргет хосте будто бы с клавиатуры.
Клавиатура — Открытие виртуальной клавиатуры с выбором Win/MAC раскладки, а также языка.
Ctrl + Alt + Del — Быстрый вызов диспетчера задач.

Панель — Клавиатура
Стиль курсора — Меняет вид курсора в браузере.
Режим мыши — Меняет алгоритм позиционирования мыши.
Wheel Speed — Меняет скорость прокрутки колеса.
Режим только HID — Выключает всё лишнее в USB стеке, оставляя только клавиатуру и мышь.
Перезагрузка HID — Перезагружает USB подсистему KVM.

Панель — Образ и Скачать образ
Эти пункты позволяют загрузить образ (ISO) на флешку KVM, после перемонтировать его как дисковод для последующей загрузки.
Небольшое неудобство состоит в том, что через браузер загрузить свой образ просто нельзя. Окошко требует ссылку на скачивание, и дальше сам KVM качает его по сети. Скорость скачивания колеблется в районе 5–15 мегабит/сек, что, мягко говоря, мало (образ Ubuntu на 6 Гб с зеркала Яндекса качался несколько часов). Процесс асинхронный: можно закрыть вкладку с KVM в браузере, и он продолжит качать файлы. Низкую скорость можно легко обойти, заранее скачав нужные образы на SD карту.

Если ничего не монтировать, то на хост машине можно увидеть KVM как внешний жёсткий диск (21 Гб с комплектной флешкой), а на нём уже все загруженные нами файлы.

Монтируя ISO образ как CD-ROM, мы получаем полноценный эмулятор дисковода с выбранным файлом. Таким образом можно без труда переустановить операционную систему на хост машине, не подключая ничего, кроме KVM.

Панель — Терминал
Терминал NanoKVM позволяет подключиться к терминалу самой KVM железки, ведь это полноценный Linux PC! Система далеко не на самом свежем ядре, а также очень урезана. Оперативной памяти доступно всего 158 Мб, а процессор загружен на 70–90 % при передаче 1080 p 60 Hz картинки в браузере.

Терминал COM порта позволяет общаться с устройствами по последовательному порту! Таким образом можно, например, превратить сервер в Headless, отключив использование видеокарты в гипервизоре и отдав её одной из виртуальных машин, а консоль гипервизора получать через последовательный порт прямо в браузере!

Панель — Скрипты
Поддерживаются .sh и .py скрипты. К сожалению, на данный момент официальной документации нет, но несколько примеров есть на ГитХабе.

Панель — Wake On Lan
Тут можно ввести MAC адрес спящего устройства, после чего послать ему магический пакет, дабы оно проснулось.

Панель — Питание
В моём исполнении платы KVM присутствует управление питанием, для него потребуется подключить пины управления питания KVM напрямую в материнскую плату хост машины, а её кнопки передней панели — уже к KVM плате. Таким образом мы получим управление кнопкой питания и перезагрузки. Очень удобной фишкой является возможность долгого нажатия на кнопку питания, которая может полностью выключить хост машину.
Если к KVM подключены провода передней панели хост машины, то иконка будет отображать её статус.

Настройки — О системе
Из настроек тут разве что смена имени хоста.

Настройки — Внешний вид
Тут можно сменить язык, а также отключить ненужные кнопки на панели. Выбор языков очень широк.

Настройки — Устройство
Https — Позволяет включить использование https протокола, а это даёт возможность использовать h.264 direct для передачи картинки (чуть быстрее, чем Webrtc).
SSH — Позволяет отключить SSH доступ до самого KVM, с завода он выключен.
mDNS — Отключение mDNS сервиса.
HDMI — Отключение HDMI для экономии энергии и Headless машин с Serial соединением.
Виртуальный диск — Отключение виртуального диска.
Виртуальная сеть — Отключение виртуального сетевого порта в хост системе.
OLED экран — Таймер отключения экрана после перезапуска системы, дабы уменьшить выгорание.
Wi-Fi — Открыть окно конфигурации Wi-Fi соединения.
Дрожалка для мышки — Включение небольшой дрожи мышки, которое не даёт заснуть хост машине.
Файл подкачки — Настройка размера файла подкачки.

Настройки — Tailscale
Tailscale — это сервис, который позволяет объединить несколько машин по сети даже за NAT. Тут он доступен из коробки, и, войдя в свой аккаунт, а также подключив на устройстве Tailscale, мы сможем открыть KVM буквально в любой точке мира без настройки IP адресов, проброса портов и обхода NAT.
Других сервисов удалённого доступа из коробки нет, но никто не запрещает подключиться по SSH и установить любой другой VPN сервис.

Настройки — Обновление
Тут можно переключиться со стабильной на тестовую ветку, а также провести обновление. Чейнджлог обновлений доступен на ГитХабе. Процесс обновления, на моё удивление, оказался максимально простым и быстрым. Один клик, минута, и KVM уже онлайн и работает!

Настройки — Аккаунт
Здесь можно настроить пароль для пользователя. Сменить имя можно только после полного сброса KVM через кнопку.

Провод или Wi-Fi
Какой-либо значимой разницы в работе между Wi-Fi и проводом я, честно говоря, не заметил.
Проводное соединение происходит на скорости 100 мегабит/сек — кажется, немного, но для стриминга FHD картинки этого вполне достаточно.
Wi-Fi смог удивить, здесь установлен модуль с поддержкой как 2,4, так и 5 гигагерц!

Потребление и нагрев
На открытом воздухе нагрев минимален. С лицевой стороны самым горячим оказался центральный процессор, с обратной стороны греется чип захвата видео. В целом устройство не требует активного охлаждения.

Для теста в POWER был подключён БП 5 V 3 A через тестер KMZ-003C, из колодки USB-HID был распинован провод 5 V, дабы плата не брала питание с этого порта.
Возможно, базовая версия (без Wi-Fi) будет потреблять немного меньше, даже если Wi-Fi выключен.

Потребление также очень консервативное:
Загрузка — 1,7 W.
Голая плата + ETH = 0,98 W.
ETH + HDMI (1080) = 1,43 W.
ETH + HDMI + Стрим картинки = 1,52 W.
ETH + HDMI + USB HID + Стрим картинки = 1,56 W.
ETH + Wi-Fi + HDMI + USB HID + Стрим картинки = 1,7 W.
Wi-Fi + HDMI + USB HID + Стрим картинки = 1,65 W.
Поддержка видеокарт
Я видел комментарии, в которых говорится о проблемах с разными видеокартами, и мне стало интересно, как дела обстоят с моим железом.
AMD Radeon 760m / Windows 11 — Показала себя отлично, участвовала на протяжении всего обзора, и я ни разу не видел каких-либо проблем, даже при переключении разрешения.
Nvidia RTX 3070 / Windows 11 — Никаких проблем.
Nvidia RTX 4070 / Windows 11 — Вывод с ноутбука, заработал без проблем.
Intel UHD Graphics 770 (в процессоре i5 13600к) / Proxmox — Работает без проблем.
Intel HD 630 (в процессоре G4600) / TrueNAS — Никаких проблем.
Nvidia FX 570 / Windows 7 — Вывод через DVI-HDMI адаптер, никаких проблем.
Raspberry PI Zero 2W — Никаких проблем.
Mali G610 в Radxa Rock5 ITX+ / Ubuntu на Mainline ядре — Заработало не с первой попытки, сначала надо запитать и дождаться загрузки KVM, а только потом запускать ПК, и тогда картинка будет. Если же запускать вместе — чёрный экран. Возможно, проблема в EDK2 и прошивка сток загрузчика исправит ситуацию. В остальном ноль проблем.
Камера Sony ZV-E10 — Картинка есть (куда экзотичнее?).
Поддержка VGA входа через адаптер
Также купил и проверил VGA2HDMI (Конвертер аналогово VGA в цифровой HDMI сигнал), в теории он будет полезен для подключения старых серверов или видеокарт, где нет HDMI выхода. Это было очень интересно, ведь большинство серверов имеет только VGA выход, а также на рынке появилась видеокарта с чипом AST2400, которая при цене в 1 тысячу рублей умеет выводить картинку по VGA и потребляет до 2,7 ватт! Это буквально лучшее решение для сборки сервера, где нет ipKVM и встроенной в процессор видеокарты.
В VGA банально нет питания, которое требует адаптер, в HDMI со стороны монитора также нет питания, поэтому надо тщательно выбирать адаптер с внешним питанием. Важно выбирать именно VGA 2 HDMI адаптер: они не универсальные, в обратную сторону работать не будут. Я нашёл таковой на синем маркетплейсе за 237 рублей.
И адаптер без проблем заработал! Поначалу разрешение определилось, как 1024 × 768, и в webui пришлось поставить 1280 × 720, чтобы всё влезло в кадр, а после установки FullHD/HD-разрешения всё работает идеально. Управление в Windows 7 тоже работает.

В общем, можно сказать, что поддержка видеовхода не идеальная на 100%, но в целом прекрасная.
Безопасность
Перед покупкой я натыкался на видео, в которых показывают странное поведение софта, оно качало скомпилированные библиотеки (без которых KVM не работал), постоянно пыталось подключиться к серверам Tailscale, даже если сам сервис не использовался, имело включённый SSH с дефолтными данными root/root и т. д.
Но, на удивление, разработчики активно сотрудничали и пофиксили большую часть проблем — подробнее тут.
Сейчас при покупке NanoKVM оно приходит со свежей прошивкой, не качает никаких бинарных/исполняемых файлов, а его интернет-трафик кристально чист и не делает никаких лишних запросов, кроме DNS/NTP.
Исходный код проекта NanoKVM доступен тут.
Также недавно был скандал, где в NanoKVM нашли «скрытый» микрофон. На практике оказалось, его никто не пытался скрыть. Ради экономии KVM Lite версия использует готовую отладочную плату LicheeRV Nano, в которой микрофон вполне официально заявлен, а на «Вики» есть примеры записи аудио. В версии PCIE, где используется кастомная плата, микрофона уже нет.
Установка в сервер и реальный опыт взаимодействия
Одно дело тестировать железку на столе в тепличных условиях, а другое — использовать её в продакшене.
Я перекрутил планку PCI с полноразмерной на короткую, антенну пришлось отключить, так как в короткой для неё отверстия нет, после чего поставил карту в сервер. Но не в PCIE слот, а в пустое пространство, дабы не занимать слоты, которые мне нужны для экспериментов.

Провода подключать было не сказать, что просто. Сумрачный гений китайского электропрома решил сделать разную компоновку контактов вход-выход для передней панели. Если быть очень внимательным, то не проблема, подключил всё и работает, но если быть обычным человеком, то с первого раза может и не заработать.

С USB для внутреннего подключения всё прошло гладко, но потребовалось много внимательности. Штекеры проводов для внутреннего USB не имеют ключи и никак не помечены, поэтому подключать надо предельно внимательно, иначе если перевернуть колодку, то получим КЗ линии 5 В на землю, или запитаем KVM напряжением с обратной полярностью.

И вот всё подключено, я нажимаю кнопку питания, и сервер стартует, а карта мигает диодом пару раз и не стартует. Я менял провода, подключал внешнее питание, переставлял в слоты, на всякий случай проверил SD карту, подумал, что убил плату, но в итоге всему виной User error. При прикручивании низкопрофильной планки я случайно зажал кнопку BOOT, отчего плата просто не стартовала. После аккуратной пересборки планки всё запустилось и заработало, но не совсем.
Тут я в первый раз столкнулся с софтварным багом. Сервер стартовал, proxmox загружался, видел клавиатуру / мышь / USB диск, но управление в вебе не работало. Я переключил KVM в режим HID Only, и управление заработало как в Proxmox, так и в BIOS, после чего я обратно переключился на стандартный режим с USB диском, и более ничего не ломалось.
И после всех этих манипуляций — оно просто работает. Я обновлял BIOS, разгонял память, правил сетевые конфиги, делал тесты железа для обзоров на других ПК — и всё это из браузера!

Выводы
Честно говоря, я скептически относился к этой железке, когда заказывал. Но, пользуясь ею более месяца, я могу сказать, что она оставила только положительные впечатления. PCIE версия — это вполне законченное решение, которое позволяет решать проблемы без беготни с клавиатурой, мышкой и, конечно же, монитором. Софт немного сыроват и местами куцый, но он стабильно делает своё дело и имеет достаточный функционал, чтобы я мог порекомендовать Sipeed NanoKVM к покупке.
© 2025 ООО «МТ ФИНАНС»

