Repka Pi 4 — Российский одноплатник в деле

Введение

Рынок одноплатных компьютеров (SBC) последние годы переживает интересные времена. Классическая Raspberry Pi, ставшая де-факто стандартом для DIY-проектов, домашнего сервера и образовательных целей, стала либо недоступной, либо неприлично дорогой. На этом фоне начали появляться альтернативы: Orange Pi, Banana Pi, Rock Pi, Radxa — список можно продолжать. Но все они так или иначе остаются китайскими разработками.

На этом фоне проект Repka Pi выглядит несколько иначе. Это российская разработка одноплатных компьютеров, которая позиционируется как прямая альтернатива Raspberry Pi с полной локализацией производства и, что немаловажно, находится в реестре Минпромторга РФ.

У меня на тесте оказалась модель Repka Pi 4 Optima — и название «Оптима» здесь неслучайно. Изначально производитель планировал выпустить версию «Professional», но было принято решение сфокусироваться на разработке следующего поколения — Repka Pi 5. Поэтому текущая линейка ограничилась «Оптимой», которая, судя по всему, представляет собой сбалансированное решение для большинства задач.

Что обещает производитель?

Согласно информации с официального сайта (repka-pi.ru), Repka Pi 4 разработана как альтернатива Raspberry Pi 4 и выполнена в идентичном форм-факторе — включая размеры, расположение портов, крепления и распиновку 40-пинового GPIO-разъема. Это означает, что теоретически к ней должны подходить корпуса, радиаторы и модули расширения от оригинальной «малинки», включая PCIe-адаптер для NVMe-накопителей от Raspberry Pi 5.

Одна из заявленных технических особенностей — использование обычной DDR-памяти вместо энергоэффективной LPDDR, как у большинства аналогов. Производитель утверждает, что это дает прирост производительности на 15-20% по сравнению с аналогичными моделями Raspberry Pi и других SBC. Звучит многообещающе, но, как всегда, посмотрим, как это проявляется в реальных задачах.

Производство заявлено как 100% локализованное в России, хотя комплектующие используются из материковой части КНР. Это дает прямые поставки без посредников, гарантийные обязательства и возможность сервиса — что важно для тех, кто использует такие платы в коммерческих проектах или образовательных учреждениях.

Комплектация и сценарии использования

Вместе с платой мне был предоставлен отдельный модуль eMMC на 32 ГБ собственного производства Repka Pi. Это интересное решение — вместо того чтобы распаивать память на плате, производитель предлагает модульный подход, что дает гибкость при выборе объема хранилища.

Согласно документации, Repka Pi позиционируется как универсальное решение для широкого круга задач:

  • Обучение основам информатики и программирования
  • Управление системами и устройствами в бизнес-среде
  • Встраиваемый компьютер в системы «Умный дом» и IoT/IIoT
  • АСУ робототехнических систем
  • Сервер сбора и обработки данных, файловые и торрент-системы

В качестве операционной системы используется собственная Repka OS, реализованная на базе Ubuntu. Она включает рабочий стол, браузер, средства просмотра медиа, IDE для Python и панель управления. GPIO-разъем поддерживает два режима работы: полная совместимость с Raspberry Pi и собственный режим IO.

Что будем тестировать?

Образец был любезно предоставлен мне производителем для независимого тестирования, и я хочу посмотреть, как Repka Pi 4 Optima проявит себя в реальных условиях, а не в лабораторных тестах. Планирую проверить:

  • Установка ОС
  • Перенос системы на eMMC
  • Обновление и первичная настройка
  • Подключение по SSH
  • Работа Wi-Fi и Bluetooth
  • Тесты в реальных задачах (видео, музыка, YouTube)
  • Использование в качестве медиасервера

Также производитель предлагает поистине огромный выбор дистрибутивов, но в рамках одной статьи все не уместится. Обязательно позже создадим ретро-консоль на Batocera Linux.

На официальном сайте производителя указаны следующие варианты для разных задач:

  • Для универсальной Linux-системы: Repka OS, Debian, Armbian, ALT Linux, РЕД ОС или NapiLinux
  • Для лёгкой системы под ограниченные ресурсы: DietPi
  • Для мультимедийного сценария: LibreELEC
  • Для ретро-игр: Lakka и Batocera.linux
  • Для задач информационной безопасности: Kali Linux
  • Для Android-интерфейса: Android 9 для Repka Pi 4

Приступим к распаковке и первому знакомству.

Распаковка и комплектация

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

Внутри, помимо самой платы, обнаружился минимальный, но достаточный набор:

  • Паспорт изделия — с указанием серийного номера, объёма оперативной памяти и срока гарантии.
  • Модуль eMMC на 32 ГБ — приложен отдельно, что логично, учитывая модульную архитектуру хранения данных.

И вот здесь стоит отметить первое и важное преимущество Repka Pi перед китайскими аналогами — официальная гарантия на территории РФ сроком 12 месяцев. Для тех, кто берёт плату в образовательный проект или коммерческое решение, это серьёзный аргумент.

Однако ложка дёгтя тоже нашлась: ни в паспорте изделия, ни на официальном сайте я не обнаружил информацию о том, куда именно обращаться в случае гарантийного ремонта. Сервисный адрес, телефон, форма заявки — ничего. Само наличие гарантии радует, но механизм её реализации остаётся загадкой. Надеюсь, производитель уточнит этот момент в будущих ревизиях документации.

Технические характеристики Repka Pi 4 Optimal

Прежде чем переходить к тестам, давайте посмотрим, что у нас внутри. Вот полная таблица характеристик модели Repka Pi 4 Optimal на основе данных с официального сайта:

ХарактеристикаRepka Pi 4 Optimal
Процессор (CPU)Allwinner H6, ARMv8 Cortex-A53 64-бит (техпроцесс 28 nm)
Тактовая частота: 1.6-2 GHz
Графический адаптерMali-T720 MP2
Оперативная память (ОЗУ)SDRAM DDR3 (1866 МГц), 2 ГБ
Постоянная память (ПЗУ)Загрузка ОС с SD-карты и eMMC (съёмный модуль или распаянный чип — доступны обе модели, возможна установка под заказ)
USB-портыUSB 2.0 × 3
USB 3.0 × 1
PCIePCIE 2.0 x 1
Разъем FFC (FPC) 16 pin шаг 0.5 (аналогично Raspberry Pi 5)
Операционные системыRepkaOS (Базовая, Образование)
Другие: ALT Linux, Armbian, LibreELEC (Nexus), Debian, DietPi, Kali Linux, Android 9 и др.
Wi-Fi802.11a/b/g/n/ac (модуль AP6256)
BluetoothBluetooth V5.0
EthernetRJ45 (10/100Мбит/сек)
PoE не поддерживается
Интерфейсы GPIO40 контактов (28 × GPIO, UART, I2C, SPI, PWM, I2S)
Звук (выход)Гнездо 3.5 мм (Jack) / HDMI
Подключение питанияUSB TYPE-C
На 40 pin разъёме: пины 2,4 — +5V; пины 6,9,14,20,25,30,34,39 — земля (-)
Потребляемая мощностьВ среднем 1.8 А
Рекомендуемый блок питания5 В, 3 А
Дополнительные разъемыРазъем для PWM вентилятора
Разъем батарейки RTC
Реестр МинпромторгаВ реестре

Ключевые особенности

Что сразу бросается в глаза при взгляде на спецификации:

  • Память DDR3 вместо LPDDR — это то самое преимущество, о котором заявляет производитель. Обычная DDR3 работает на частоте 1866 МГц и теоретически даёт лучшую производительность подсистемы памяти по сравнению с энергоэффективной LPDDR, которую используют большинство конкурентов. Именно это должно обеспечивать заявленные 15-20% прироста.
  • PCIe 2.0 с разъёмом FFC — интересная особенность, заимствованная у Raspberry Pi 5. Это позволяет подключать NVMe-накопители через специальные адаптеры, что значительно расширяет возможности хранения данных по сравнению с медленными SD-картами.
  • Разъём для PWM-вентилятора — продуманное решение для активного охлаждения. Вместо того чтобы подключать вентилятор к GPIO и управлять им через скрипты, можно использовать выделенный разъём с аппаратным ШИМ-управлением.
  • Модульный eMMC — как я упоминал ранее, производитель предлагает гибкость: можно использовать съёмный модуль или заказать плату с распаянным чипом нужного объёма.

Процессор Allwinner H6 — не самый свежий чип на рынке (выпускается с 2018 года), но для задач одноплатника его возможностей должно хватать с запасом. Четыре ядра Cortex-A53 на частоте до 2 GHz — это уровень Raspberry Pi 4, что соответствует позиционированию платы как альтернативы «малинке».

Теперь, когда мы знаем, что у нас внутри, пора переходить к практике.

Выбор и установка операционной системы

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

Основные доступные дистрибутивы

Вот краткий обзор того, что предлагает официальный сайт:

Универсальные Linux-системы:

  • Repka OS Базовая — основная операционная система с рабочими окружениями Gnome и XFCE, набором минимально необходимых утилит
    Данные для авторизации: Логин: root, Пароль: 123
  • Repka OS Образование — специализированная версия для Repka Pi 5 с рабочим окружением LXQt, предустановленными учебными материалами (примеры программ, видео, учебное пособие) и ПО (LibreOffice, FreeCAD, Inkscape, Geany, Пульт управления РТУ), поддержкой удалённого управления классом через Veyon
    Данные для авторизации: Логин: student, Пароль: student
  • Debian — стабильный и универсальный дистрибутив, доступен в минимальной и десктопной версиях (ядро Linux 6.12.9, Debian 12 bookworm)
  • DietPi — ультралегкая система на базе Debian, оптимизированная для минимального использования ресурсов
  • РЕД ОС — российская операционная система на базе ядра Linux, портирована командой РЕД СОФТ
  • NapiLinux — минималистичная и отказоустойчивая Linux-среда с безопасными A/B обновлениями и лёгкими интерфейсами для управления через API или веб

Специализированные решения:

  • LibreELEC — минимальная ОС на основе Linux для медиацентра Kodi с аппаратным ускорением (FullHD на Repka Pi 3, 4K на Repka Pi 4)
  • Android 9 — портированная версия Android, но с текущими ограничениями: отсутствует поддержка Wi-Fi 5GHz, Bluetooth, перенос на eMMC, кнопки включения (ведутся работы по устранению)
  • Batocera.linux — система эмуляции ретро-игр 8-32bit, поддерживает более 100 консолей: NES, Dendy, Sega, PlayStation (WiFi не поддерживается)
  • Lakka — дистрибутив на основе LibreELEC для превращения платы в ретро-игровую консоль с сохранением состояния, сетевым мультиплеером и подключением геймпадов

Для задач информационной безопасности:

  • Kali Linux — дистрибутив на основе Debian для тестирования на проникновение, проверки уязвимостей, аудита безопасности систем и сетей

Документация

Отдельно стоит отметить раздел документации на официальном сайте — он впечатляет своей полнотой и детализацией. Здесь найдёте подробные инструкции по:

  • Началу работы: установка ОС, первое включение, варианты подключения, обновление Repka OS
  • Настройкам: параметры работы, repka-config, аппаратное ускорение видео, управление звуком, троттлинг
  • Работе с GPIO: обзор и распиновка 40-pin разъёма, работа с GPIO, библиотеки RepkaPi.GPIO и WiringRP, системы нумерации пинов, ШИМ, Serial, I2C, SPI
  • Подключению внешних устройств: умный вентилятор, servo driver, светодиодные панели, камеры, сетевые устройства
  • Техническим деталям: исходные коды U-Boot и ядра Linux, конфигурация устройств, порядок загрузки, интерфейсы UART/I2C/SPI/Ethernet

Для новичка это настоящая сокровищница знаний, а для опытного пользователя — удобная шпаргалка по специфичным особенностям платы.

Процесс установки операционной системы

Установка ОС на Repka Pi 4 стандартна для большинства одноплатных компьютеров, но есть несколько важных нюансов, о которых стоит знать заранее. Производитель уделил этому вопросу серьёзное внимание, и я расскажу о своём опыте, опираясь на официальную документацию.

Выбор SD-карты — это важно!

Прежде чем приступать к записи образа, нужно правильно выбрать SD-карту. Производитель прямо указывает, что некачественные карты могут приводить к ошибкам загрузки, зависаниям и нестабильной работе системы. Особенно это актуально при использовании недостаточно мощных или «импульсных» блоков питания.

На официальном сайте есть отдельная статья в блоге о выборе SD-карт, и производитель рекомендует следующие модели:

  • SanDisk: Ultra, Ultra Plus, Extreme
  • Kingston: Canvas Select Plus
  • Samsung: EVO Plus

Запись образа на SD-карту

Производитель в документации описывает несколько способов записи образа:

  • Windows: Rufus или balenaEtcher
  • Linux: команда dd

Однако я решил использовать Raspberry Pi Imager — универсальную утилиту, которая отлично работает не только с оригинальной «малинкой», но и с другими SBC. Процесс стандартный:

  1. Скачиваем образ нужного дистрибутива с официального сайта Repka Pi
  2. Запускаем Raspberry Pi Imager
  3. Выбираем Устройство «No filtering/Операционная система «Использовать настраеваемый образ» и указываем путь к архиву.
  4. Выбираем нашу SD-карту
  5. Нажимаем «Записать» и ждём завершения

Для своих тестов я выбрал Repka OS Базовая — как наиболее универсальное решение, которое покажет возможности платы в повседневных задачах.

Первое включение и загрузка

После записи образа вставляем SD-карту в слот Repka Pi 4, подключаем питание и ждём загрузки. По умолчанию система загружается именно с SD-карты. У меня первый запуск занял 1 минуту 20 секунд.

Загрузка прошла успешно, и я получил доступ к рабочему столу Repka OS с окружением XFCE. Всё выглядит аккуратно и привычно для пользователей Linux.

Перенос системы на eMMC-модуль

Одна из ключевых особенностей Repka Pi 4 — возможность работы с модулем eMMC. Это даёт значительный прирост скорости по сравнению с SD-картами и повышает надёжность хранения данных. Производитель описывает два способа записи ОС на eMMC:

Способ 1: Клонирование с SD-карты через repka-config

Это самый простой способ, не требующий дополнительного оборудования:

  1. Загружаемся с SD-карты с установленной ОС
  2. Вставляем eMMC-модуль в соответствующий разъём на плате
  3. Открываем терминал и запускаем утилиту конфигурации: repka-config
  4. Выбираем пункт «Системные настройки ОС»
  5. Выбираем «Копирование ОС с одного накопителя на другой»
  6. Указываем источник (SD-карта) и назначение (eMMC)
  7. Ждём завершения процесса (у производителя чистая система копируется за 7 минут)

Важное предупреждение: объём SD-карты должен быть меньше объёма eMMC-модуля. Даже если оба устройства имеют заявленный объём 64 ГБ, реальный размер в байтах может отличаться. Если SD-карта окажется больше, клонирование завершится ошибкой.

После успешного клонирования выключаем плату, извлекаем SD-карту и включаем снова — теперь система загружается с eMMC. Также реализована обратная функция: можно создать резервную копию с eMMC на SD-карту, что удобно для бэкапов.

Но есть одна проблема…

И вот тут я столкнулся с неожиданным препятствием. В моём арсенале microSD-карт оказались только модели объёмом от 128 до 512 ГБ. Для безопасного клонирования на eMMC-модуль объёмом 32 ГБ нужна карта меньшего размера — в идеале 32 ГБ или даже меньше.

Почему так? Дело в том, что реальный размер карты в байтах может отличаться от заявленного. Даже если взять microSD на 32 ГБ, её фактический объём может оказаться чуть больше, чем у eMMC-модуля с теми же «32 ГБ на упаковке». В этом случае утилита клонирования выдаст ошибку, и процесс прервётся.

Поэтому данный этап мне придётся отложить до момента покупки подходящей microSD-карты на 16 ГБ. Как только она появится, обязательно дополню статью результатами переноса системы на eMMC и сравнением скорости загрузки.

Способ 2: Запись через ПК с использованием платы-переходника

Альтернативный вариант — записать образ напрямую на eMMC с помощью ПК. Для этого понадобится специальная плата EMMC-USD или ридер для eMMC-модулей. В этом случае процесс аналогичен записи на SD-карту: используете Rufus, balenaEtcher, Raspberry Pi Imager или команду dd в Linux.

Этот способ не требует соблюдения условия «SD-карта меньше eMMC», но предполагает наличие дополнительного оборудования, которого у меня пока тоже нет.

Варианты подключения и первый SSH-доступ

После успешной загрузки системы настало время настроить удобный доступ к плате. Производитель в документации описывает несколько вариантов подключения:

  • Прямое подключение — монитор по HDMI, клавиатура и мышь по USB. Самый простой способ для первого запуска и первичной настройки.
  • SSH — удалённый доступ к командной строке. Основной способ администрирования.
  • VNC — удалённый доступ к графическому рабочему столу. Удобно, когда нужен GUI без постоянного подключения монитора.
  • Debug-UART — низкоуровневая отладка через USB-to-TTL конвертер. Полезно для диагностики, если система не загружается или нет изображения на экране.

Я сразу решил работать в режиме headless — без монитора и клавиатуры, как это обычно бывает с домашними серверами. Поэтому мой выбор — SSH.

Определяем IP-адрес платы

Для удалённого подключения первым делом нужно узнать IP-адрес устройства в локальной сети. Производитель предлагает несколько способов:

  • Через графический интерфейс на самой плате (параметры сети)
  • Через терминал командой ip -4 a или ip a
  • Через список клиентов роутера

Я пошёл самым простым путём — открыл веб-интерфейс своего роутера и посмотрел список подключённых устройств. Плата определилась сразу и получила имя Repka-Pi. IP-адрес запомнил для дальнейшего подключения.

Подключаемся по SSH через Termius

Для работы с SSH я использую клиент Termius — кроссплатформенное приложение с удобным интерфейсом и возможностью синхронизации хостов между устройствами. Вместо него можно использовать PuTTY на Windows или стандартный ssh в терминале Linux/macOS.

Параметры подключения стандартные:

  • Хост: IP-адрес платы (определили через роутер)
  • Порт: 22 (по умолчанию)
  • Пользователь: root
  • Пароль: 123

При первом подключении система попросит подтвердить ключ хоста — соглашаемся. После ввода пароля попадаем в командную строку Repka Pi. Всё работает штатно, никаких неожиданностей.

Кстати, сразу после первого входа рекомендую сменить пароль по умолчанию — оставлять root:123 в системе, подключённой к сети, мягко говоря, неосмотрительно.

Альтернативные способы подключения

Для полноты картины кратко упомяну остальные варианты, описанные производителем:

VNC — удалённый графический доступ

Если нужен доступ к рабочему столу без монитора, можно установить VNC-сервер:

sudo apt install x11vnc
x11vnc -storepasswd
x11vnc -display :0 -auth guess -forever -usepw

Для автоматического запуска можно настроить службу systemd или добавить приложение в автозагрузку через «Сеансы и запуск» в настройках Repka OS.

Debug-UART — для глубокой отладки

Если система не загружается или нет изображения на экране, производитель рекомендует использовать USB-to-TTL конвертер (PL2303HX или CH340G) для доступа к отладочной консоли. Для Repka Pi 3 и 4 используются пины UART0 на 40-pin разъёме: TX — пин 8, RX — пин 10, GND — любой пин земли.

Важно: уровень сигнала должен быть 3.3 В! Подача 5 В на эти пины недопустима и может вывести плату из строя.

В моём случае Debug-UART не понадобился — система загрузилась штатно и SSH заработал с первого раза. Переходим к настройке системы.

Обновление Repka OS

Прежде чем переходить к обновлению, стоит пару слов сказать о самой системе. Repka OS — это дистрибутив, основанный на Ubuntu, поэтому большинство привычных инструментов и команд работают здесь так же, как в стандартной Ubuntu. Однако есть одно важное отличие.

Почему не стоит использовать apt upgrade?

Производитель разработал собственную систему обновления пакетов и утилит — утилиту repka-os-update. Каждое обновление проходит внутреннее тестирование по обширным кейсам и чек-листам команды Repka Pi.

По этой причине не рекомендуется обновлять систему стандартными средствами Ubuntu, такими как apt upgrade или do-release-upgrade. Производитель не гарантирует корректную работу системы при таком подходе. Настоятельно рекомендуется использовать только штатный механизм обновления.

Процесс обновления

Обновление выполняется через утилиту repka-config:

  1. Открываем терминал (или работаем через SSH) и запускаем: repka-config Откроется псевдографический интерфейс управления системными настройками.
  2. Выбираем пункт «7 Update Repka OS» и нажимаем Enter.
  3. Начнётся скачивание утилиты repka-os-update. Обратите внимание: она скачивается каждый раз при выборе этого пункта — так сделано для того, чтобы у вас всегда была актуальная версия «обновлятора».
  4. После скачивания утилита запустится и проверит текущую версию системы:
    • Если установлена актуальная версия — вы увидите соответствующее оповещение
    • Если доступно обновление — появится экран с предложением установить новую версию
  5. Выбираем пункт «Установить» и нажимаем Enter. Начнётся скачивание и установка обновления.

Особенности обновления

Стоит учитывать несколько важных моментов:

  • Пошаговое обновление: если ваша версия отстает от актуальной на несколько релизов (например, у вас 1.0.10, а актуальная 1.0.15), обновление будет выполняться последовательно — по одной версии за раз. Процесс повторится для каждой промежуточной версии.
  • Перезагрузка: после обновления зачастую появляется оповещение о необходимости перезагрузки. Настоятельно рекомендую не игнорировать это сообщение и перезапустить плату.
  • При ошибках: если обновление завершится с ошибкой, производитель рекомендует сообщить об этом в чате Repka Pi — команда старается отвечать на все вопросы пользователей.

В моём случае система оказалась актуальной, поэтому обновление не потребовалось. Но сам механизм обновления через собственную утилиту выглядит продуманным и безопасным — лучше, чем рисковать с apt upgrade на специфичном железе.

Теперь, когда система обновлена и готова к работе, переходим к первичной настройке и проверке основных функций.

Настройка параметров через repka-config

Основным инструментом настройки Repka Pi является утилита repka-config — псевдографический интерфейс для управления системными параметрами. Исходный код утилиты открыт и доступен на GitFlic.

Запуск из терминала:

sudo repka-config

При первом запуске утилита показывает информацию о максимальной тактовой частоте процессора и объёме оперативной памяти. После нажатия Enter открывается основное меню конфигурации.

Обзор разделов repka-config

Меню состоит из девяти основных разделов:

  • 1 System Options — системные настройки: клонирование ОС на eMMC, управление отладочными логами, настройка громкости
  • 2 Display Options — настройки дисплея (в разработке)
  • 3 Interface Options — настройка 40-pin разъёма GPIO, выбор распиновки, конфигурация I2C
  • 4 Performance Options — настройки производительности, включая аппаратное ускорение видео
  • 5 Localization Options — настройки локализации (в разработке)
  • 6 Advanced Options — продвинутые настройки (в разработке)
  • 7 Update Repka OS — обновление системы (рассмотрели в предыдущем разделе)
  • 8 Board Options — настройки платы (в разработке)
  • 9 About repka-config — информация об утилите

Часть разделов пока находится в разработке, но основные функции уже работают. Особенно интересен раздел Interface Options — здесь можно выбрать один из готовых вариантов распиновки GPIO или создать собственный. Доступны варианты с UART, SPI, I2C, I2S, W1-GPIO и другими интерфейсами.

Аппаратное ускорение воспроизведения видео

Одна из ключевых функций для медиасервера — аппаратное ускорение видео. Repka Pi 4 поддерживает этот режим начиная с версии 1.0.0.

Включить или отключить ускорение можно в разделе «4 Performance Options» утилиты repka-config. При включении режима устанавливается специальный плеер mpv с патчем для аппаратного декодирования.

Проверить состояние ускорения можно двумя способами:

  • По обоям рабочего стола: если режим включён — на обоях отображается зелёная надпись «Аппаратное ускорение: включено», если отключён — красная надпись «Аппаратное ускорение: отключено».
  • Через htop: запускаем видео в высоком разрешении и смотрим загрузку процессора. Если ускорение работает, CPU не будет загружен на 100%.

Для моих тестов медиасервера и воспроизведения видео это критически важная функция — обязательно проверю её в действии в соответствующем разделе.

Дополнительные возможности

Помимо базовой настройки, документация Repka Pi описывает ряд продвинутых функций, которые заслуживают отдельных статей:

  • USB OTG: порт USB-C на Repka Pi 4 может работать не только для питания, но и в режиме устройства (Gadget). Плата может эмулировать сетевую карту, USB-накопитель, виртуальный COM-порт или даже клавиатуру. Это открывает интересные сценарии для headless-настройки и автоматизации. Однако есть ограничение: скорость передачи в режиме Gadget составляет около 10 МБ/с из-за особенностей драйвера.
  • Управление звуком: на Repka Pi 4 используется аудиокодек AC200. Управление звуком осуществляется через стандартные инструменты ALSA (alsamixer, amixer). Доступны воспроизведение через Line Out / HDMI и запись с микрофонного входа.

Тесты в реальных задачах: беспроводные интерфейсы, браузер, видео и звук

Теория и настройка позади — переходим к самому интересному: как Repka Pi 4 ведёт себя в повседневных сценариях. Проверяю беспроводные интерфейсы, браузер, воспроизведение видео и звук.

Wi-Fi и Bluetooth

С беспроводными интерфейсами всё прошло гладко:

  • Wi-Fi: подключение к домашней сети прошло без проблем, соединение стабильное. Модуль AP6256 с поддержкой 802.11ac работает как ожидается.
  • Bluetooth: тестовое подключение геймпада Xbox прошло успешно — устройство спарилось и определилось без танцев с бубном. Хороший знак для тех, кто планирует использовать плату в том числе как ретро-консоль с беспроводными геймпадами.

Браузер и YouTube: ожидаемо тяжело

Браузер Firefox из коробки работает: страницы открываются, интерфейс относительно отзывчивый. Но с YouTube ситуация ожидаемо сложная — видео заметно тормозит. Чтобы понять причину, я открыл панель статистики воспроизведения («Stats for nerds») и вот что она показала:

ПоказательЗначениеЧто это значит
Viewport / Frames1344×756 / 1414 dropped of 2074Из 2074 кадров не отрисовано 1414 — около 68% потерь. Фактически вместо 30 fps видео идёт со скоростью ~9-10 fps
Current / Optimal Res1280×720@30Плеер автоматически снизил разрешение с 1080p до 720p, но даже это не спасло от тормозов
Codecsav01.0.05M.08 / opusВидео передаётся в кодеке AV1, звук — Opus. Аппаратного декодера AV1 у Allwinner H6 нет
Connection Speed1554 KbpsСкорости канала достаточно для 720p
Buffer Health66.54 sБуфер заполнен больше чем на минуту вперёд — сеть в полном порядке

Почему так происходит? Ключевая строка здесь — Codecs. YouTube отдаёт видео в современном кодеке AV1 (av01), а графический ускоритель и аппаратный декодер Allwinner H6 его не поддерживают. В итоге Firefox вынужден декодировать AV1 программно, силами центрального процессора, и четырёх ядер Cortex-A53 на это банально не хватает.

Обратите внимание на Buffer Health в 66 секунд: видео загружено в буфер с огромным запасом, то есть проблема не в Wi-Fi и не в скорости интернета. Узкое место — именно программное декодирование и рендеринг. Это типичная ситуация для одноплатников со слабым GPU в браузере, и Raspberry Pi без аппаратного ускорения в браузере вела бы себя схожим образом.

mpv и аппаратное ускорение: совсем другая картина

А вот с тестовым фильмом плеер mpv справился великолепно. Напомним: при включении аппаратного ускорения в repka-config устанавливается специальная сборка mpv с патчем, которая использует аппаратный видеодекодер Allwinner H6 для H.264/H.265.

Результат: видео воспроизводится без тормозов и дропов, картинка плавная. Разница с браузером — как день и ночь, и она наглядно показывает: железо платы вполне способно на комфортное воспроизведение видео, просто это работает только там, где задействован аппаратный декодер, а не программное декодирование на CPU.

Отсюда практический вывод: для просмотра видео на Repka Pi 4 стоит использовать mpv (или медиасистемы вроде Kodi/LibreELEC с аппаратным ускорением), а вот браузерный YouTube — не её стихия.

Звук из коробки

Со звуком никаких сюрпризов — всё заработало сразу после установки системы, без дополнительной настройки:

  • Аналоговый выход 3.5 мм: звук чистый, воспроизведение работает из коробки.
  • HDMI: звук корректно передаётся вместе с видео на телевизор/монитор.

Для медиасервера или домашнего кинотеатра этого достаточно. Для тонкой настройки уровней и маршрутов сигнала производитель документирует работу с ALSA (alsamixer, amixer) — аудиокодек на Repka Pi 4 — AC200.

Промежуточный итог по мультимедиа

Картина по мультимедиа получается двойственной. С одной стороны, аппаратное воспроизведение видео через mpv и звук по обоим выходам работают отлично — плата готова к роли медиацентра. С другой — браузерный YouTube с программным декодированием AV1 оказывается ей не по зубам, и это стоит учитывать при выборе сценария использования. В роли «компьютера для YouTube» Repka Pi 4 будет разочарованием, а вот как медиасервер или плеер — совсем другое дело.

Создаём медиасервер: пользователь, внешний SSD, qBittorrent и Jellyfin

Один из главных сценариев использования Repka Pi 4 — домашний медиасервер: торрент-качалка плюс медиатека с веб-интерфейсом. Именно эту связку я и решил развернуть: qBittorrent скачивает контент на внешний SSD, Jellyfin раздаёт его по сети. В процессе мы столкнулись с несколькими интересными граблями — о них тоже расскажу, чтобы вы не наступали на те же.

Шаг 1. Создаём отдельного пользователя

Работать постоянно под root — дурной тон, тем более на машине, которая будет круглосуточно висеть в сети. Создаём отдельного пользователя biggratz с правами sudo:

sudo adduser biggratz
sudo usermod -aG sudo biggratz

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

Шаг 2. Готовим и монтируем внешний SSD

Для внешнего накопителя на Repka Pi 4 есть один порт USB 3.0 — подключаем SSD именно в него, чтобы не упираться в скорость. Смотрим, как система увидела диск:

lsblk

И здесь нас ждали первые грабли: диск определился как /dev/sda целиком, но без единого раздела. Поэтому попытка отформатировать /dev/sda1 закономерно завершилась ошибкой «The file /dev/sda1 does not exist» — такого устройства просто не существовало. Сначала создаём раздел:

sudo parted -s /dev/sda mklabel gpt mkpart media ext4 0% 100%
sudo mkfs.ext4 /dev/sda1

Затем узнаём UUID нового раздела, создаём точку монтирования и прописываем автомонтирование в fstab:

sudo blkid /dev/sda1
sudo mkdir -p /mnt/media
sudo nano /etc/fstab

Добавляем строку (UUID подставляем свой):

UUID=ваш-uuid /mnt/media ext4 defaults,nofail 0 2

Опция nofail принципиальна: если диск однажды будет отключён или выйдет из строя, плата всё равно спокойно загрузится, а не уйдёт в аварийный режим. Монтируем и проверяем:

sudo mount -a
df -h /mnt/media

В моём случае — 469 ГБ, доступных в /mnt/media.

Шаг 3. Папки медиатеки и права доступа

Создаём структуру папок и настраиваем права через общую группу media — позже в неё войдут и сервисы, которым нужен доступ к файлам:

sudo groupadd media
sudo usermod -aG media biggratz
sudo mkdir -p /mnt/media/{downloads,movies,series,music}
sudo chown -R biggratz:media /mnt/media
sudo chmod -R 775 /mnt/media

Шаг 4. qBittorrent-nox

Для headless-сервера ставим версию без графического интерфейса:

sudo apt update
sudo apt install -y qbittorrent-nox

Создаём systemd-службу, чтобы клиент работал от пользователя biggratz и поднимался автоматически:

sudo nano /etc/systemd/system/qbittorrent-nox.service
[Unit]
Description=qBittorrent Daemon
After=network.target

[Service]
Type=simple
User=biggratz
ExecStart=/usr/bin/qbittorrent-nox
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now qbittorrent-nox

Веб-интерфейс открывается по адресу http://IP-платы:8080, логин по умолчанию — admin, пароль — adminadmin (сразу смените его на надёжный). Там же я создал категории для автоматической раскладки контента:

  • категория movies — путь сохранения /mnt/media/movies
  • категория series — путь сохранения /mnt/media/series

Грабли №2: категории с путями поначалу не сработали — торренты всё равно падали в /mnt/media/downloads. Причина в «Режиме управления торрентом»: при значении Manual qBittorrent игнорирует путь категории и использует путь из поля «Путь сохранения». Категория в ручном режиме — просто метка. Чтобы работал путь категории, режим должен быть Automatic. Это можно переключать при добавлении торрента или задать по умолчанию в настройках, в разделе «Загрузки».

Для уже добавленных торрентов есть удобный перенос: правая кнопка по торренту → «Задать расположение…» → указать /mnt/media/movies. qBittorrent сам перенесёт файлы, включая недокачанные, и продолжит загрузку уже на новом месте.

Скорость загрузки в тестах достигала 10МБ/с — отличный показатель для связки USB 3.0 + SSD на этой плате.

Шаг 5. Jellyfin: apt-пакет и неожиданный баг

Jellyfin устанавливал из официального репозитория:

sudo apt install -y apt-transport-https curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
echo "Types: deb
URIs: https://repo.jellyfin.org/ubuntu
Suites: $( awk -F'=' '/^VERSION_CODENAME=/{print $2}' /etc/os-release )
Components: main
Architectures: $( dpkg --print-architecture )
Signed-By: /etc/apt/keyrings/jellyfin.gpg" | sudo tee /etc/apt/sources.list.d/jellyfin.sources
sudo apt update
sudo apt install -y jellyfin
sudo usermod -aG media jellyfin

И здесь нас ждали главные грабли обзора. Служба запустилась, порт 8096 слушался, но веб-интерфейс навсегда застыл на «Jellyfin Server still starting». Логи обрывались на одной и той же строке — миграции базы данных Perform migration 20250925203415_ExtendPeopleMapKey.

Диагностика показала: процесс стоит с 0% CPU (не считает, а именно завис), памяти хватает, ошибок I/O и OOM в dmesg нет. Чистка базы данных и перезапуск не помогли — зависание повторялось на той же миграции. Вывод: это upstream-баг ветки Jellyfin 10.11 на данной платформе (ARM64 + эта связка ядра и SQLite), а не ошибка настройки. Лечить такое на месте нецелесообразно — проще откатиться на стабильную ветку.

Шаг 6. Jellyfin в Docker: 10.10.7 стартует штатно

В ветке 10.10 проблемной миграции нет, а официальные Docker-образы собраны и под arm64. Отключаем зависший apt-пакет и поднимаем контейнер:

sudo systemctl disable --now jellyfin
sudo apt install -y docker.io
sudo usermod -aG docker biggratz
sudo docker run -d \
  --name jellyfin \
  --restart unless-stopped \
  -p 8096:8096 \
  -v jellyfin-config:/config \
  -v jellyfin-cache:/cache \
  -v /mnt/media:/media \
  jellyfin/jellyfin:10.10.7

Разница — как день и ночь: миграции прошли мгновенно, и через пару секунд открылся мастер начальной настройки. Важный момент с путями: внутри контейнера наш диск виден как /media, поэтому медиатеки указываем так:

  • Фильмы → /media/movies
  • Сериалы → /media/series
  • Музыка → /media/music

При этом qBittorrent работает нативно на хосте и видит хостовые пути /mnt/media/.... Диск один и тот же, просто «с двух сторон» — об этом легко споткнуться при настройке.

Проверка связки в работе

Сначала положил в медиатеку тестовый файл — скачал трейлер прямо на плату:

cd /mnt/media/movies
curl -L -o sintel_trailer-480p.mp4 https://download.blender.org/durian/trailer/sintel_trailer-480p.mp4

Jellyfin подхватил его после сканирования, и воспроизведение в веб-плеере прошло плавно, через Direct Play. Затем проверил полную цепочку: торрент с категорией movies → загрузка на SSD → автоматическое появление фильма в медиатеке → воспроизведение. Всё работает: фильмы в H.264 играются без транскодинга.

Отдельная оговорка про транскодинг: аппаратного ускорения перекодирования через VAAPI на Allwinner H6 нет, поэтому любое транскодирование выполняется программно и заметно нагружает процессор. Хорошая новость в том, что при Direct Play — когда клиент поддерживает кодек файла — транскодинг вообще не нужен. Современные клиенты Jellyfin в большинстве случаев играют контент напрямую.

Итог по медиасерверу

СервисАдресНазначение
qBittorrenthttp://IP-платы:8080Загрузка контента на SSD, категории movies/series
Jellyfin (Docker)http://IP-платы:8096Медиатека и воспроизведение по сети

За полчаса с учётом всех граблей мы получили полноценный домашний медиасервер: qBittorrent качает контент на быстрый SSD, Jellyfin раздаёт его по всей сети, всё работает от отдельного пользователя и поднимается автоматически после перезагрузки. Именно в такой роли — тихого, экономичного сервера «24/7» — Repka Pi 4 раскрывается лучше всего.

Итог: кому подойдёт Repka Pi 4 Optima?

За время тестирования Repka Pi 4 Optima показала себя как крепкий середнячок с интересными особенностями. Плата успешно справилась с ролью домашнего медиасервера: qBittorrent стабильно качает на SSD через USB 3.0, Jellyfin раздаёт контент по сети, система работает круглосуточно без сбоев. Именно в такой роли — тихого, экономичного сервера «24/7» — она раскрывается лучше всего.

Что работает хорошо

  • Медиасервер без проблем: связка qBittorrent + Jellyfin + внешний SSD работает стабильно, воспроизведение видео идёт через Direct Play без транскодинга.
  • DDR3 вместо LPDDR: память действительно быстрее, чем у большинства аналогов, что заметно в отзывчивости системы.
  • Модульный eMMC: гибкое решение для хранения системы, плюс обратная совместимость с экосистемой Raspberry Pi (корпуса, HAT-модули, PCIe-адаптер для NVMe).
  • Официальная гарантия в РФ: для образовательных и коммерческих проектов это серьёзный плюс.
  • Wi-Fi ac и Bluetooth 5.0: работают из коробки, геймпад Xbox подключился без проблем.
  • Аппаратное ускорение видео: H.264/H.265 через mpv идёт плавно, CPU почти не нагружается.

Что не работает или работает плохо

  • Браузерный YouTube: программное декодирование AV1 не по силам четырём Cortex-A53. Видео тормозит, теряется 68% кадров даже в 720p. Это узкое место не платы, а связки «слабый GPU + современный кодек в браузере».
  • Jellyfin 10.11 из apt-репозитория: зависает на миграции базы данных на этой платформе. Решение — использовать стабильную версию 10.10 в Docker, где всё стартует штатно за секунды.
  • Нет аппаратного транскодинга: VAAPI не поддерживается, любое перекодирование видео выполняется программно и нагружает CPU.

Кому подойдёт Repka Pi 4 Optima

  • Домашний медиасервер: идеальный сценарий — тихий, экономичный, с быстрым SSD.
  • Сетевые задачи: роутер, VPN-сервер, прокси, DNS — плата справится без проблем.
  • Образование и DIY-проекты: GPIO-разъём совместим с Raspberry Pi, документация подробная.
  • Встраиваемые решения: компактный размер, низкое потребление, модульный eMMC.

Кому стоит поискать альтернативу

  • Если нужен «компьютер для YouTube»: браузерное воспроизведение AV1 не тянет, придётся использовать mpv или Kodi с аппаратным ускорением.
  • Если нужно транскодирование на лету: например, стриминг 4K на слабый клиент — четырёх ядер Cortex-A53 на это не хватит.
  • Если важна максимальная производительность: для тяжёлых задач лучше смотреть на Repka Pi 5 с RK3588 или более мощные x86-решения.

Что осталось за кадром

В этом обзоре я не успел перенести систему на eMMC-модуль — для этого нужна microSD-карта на 16 ГБ (в моём арсенале только от 128 ГБ, а при клонировании через repka-config карта должна быть меньше eMMC). Как только карта появится, обязательно дополню статью результатами переноса и сравнением скорости загрузки.

Также в планах — отдельные материалы по ретро-геймингу на этой плате. Дистрибутивы Batocera и Lakka обещают поддержку более 100 консолей, и будет интересно проверить, как Repka Pi 4 справится с эмуляцией. Аппаратного ускорения для 3D-графики должно хватить на большую часть ретро-библиотеки.

Вердикт

Repka Pi 4 Optima — это не «убийца Raspberry Pi», а скорее её разумная альтернатива для тех, кому важна гарантия в РФ, модульный eMMC и чуть более быстрая память. Для своей ниши — тихий домашний сервер, встраиваемое решение, образовательная платформа — она подходит отлично.

Соотношение цена/качество на момент тестирования — хорошее. Плата справляется с заявленными задачами, документация подробная, производитель идёт на контакт. Если вам нужен именно SBC для серверных задач или DIY-проектов — Repka Pi 4 Optima заслуживает внимания.