Что такое USB OTG?
USB On-The-Go (OTG) — это стандарт, который расширяет возможности традиционного USB, позволяя таким устройствам, как одноплатные компьютеры Repka Pi, выступать не только в роли периферийного устройства, но и в роли хоста — управляющего устройства.
Разница между режимами
Чтобы понять суть OTG, необходимо разобраться в трех ключевых ролях, которые может выполнять USB-порт.
-
Хост (Host)
- Роль: Управляющий. Это "мозг" операции, который инициирует обмен данными и управляет подключенной периферией.
- Пример: USB-порты на вашем персональном компьютере или ноутбуке. Когда вы подключаете к ним флешку, именно компьютер (хост) решает, что с ней делать.
-
Устройство (Device), или Гаджет (Gadget)
- Роль: Управляемый. Это периферийное устройство, которое выполняет команды хоста.
- Пример: USB-флешка, мышь, клавиатура, веб-камера. Сами по себе они не могут инициировать передачу данных; они ждут команд от хоста.
-
OTG (On-The-Go)
- Роль: Универсал. Устройство с поддержкой OTG обладает "двойной ролью" и способно динамически переключаться между режимами Хоста и Устройства.
- Пример: Порт USB-C на Repka Pi 4. Он может как управлять подключенной к нему флешкой, так и сам "притвориться" флешкой для вашего ПК.
Аналогия: От классической схемы к новым возможностям
Чтобы лучше понять эту разницу, рассмотрим два сценария.
-
Сценарий 1: Классический (Компьютер и флешка)
В этой паре роли жестко закреплены.
- Компьютер — это всегда Хост. Он активен, он управляет.
- Флешка — это всегда Устройство. Она пассивна, она ждет команд.
-
Сценарий 2: OTG (Repka Pi и флешка)
Благодаря OTG, Repka Pi может играть обе роли.
- Как Хост: Вы можете подключить флешку к Repka Pi. В этом случае Repka Pi выступает в роли "главного", как компьютер, и читает данные с флешки.
- Как Устройство: Вы можете подключить саму Repka Pi к компьютеру. В этом случае Repka Pi "притворяется" флешкой, и уже ваш компьютер становится для нее хостом.
Именно эта способность работать в режиме Устройства (Gadget) и открывает все те уникальные возможности, которые мы рассмотрим в этом руководстве.
Зачем это нужно на Repka Pi? (Сценарии использования)
Функциональность USB OTG кардинально расширяет сферу применения Repka Pi, позволяя ей адаптироваться под разные задачи. В зависимости от выбранной роли — Хоста или Устройства — открываются совершенно разные возможности.
Режим Хоста: Repka Pi как центр управления
Это наиболее привычный режим, в котором Repka Pi функционирует как самостоятельный компьютер, управляющий подключенными к нему устройствами. OTG-порт, сконфигурированный как хост, обеспечивает питание и инициирует обмен данными с периферией. Операционная система Repka Pi загружает соответствующие драйверы для каждого подключенного устройства, интегрируя его в систему.
- Подключение устройств ввода: Клавиатуры, мыши, графические планшеты. Это позволяет использовать Repka Pi в качестве полноценного настольного компьютера.
- Подключение накопителей: USB-флешки, внешние жесткие диски, SSD. Это основной способ расширения дискового пространства и быстрого обмена файлами.
- Расширение коммуникаций: Wi-Fi и Bluetooth адаптеры ("донглы"). Позволяет добавить беспроводные интерфейсы на платы, где они отсутствуют или их производительность недостаточна.
- Специализированная периферия: Веб-камеры, принтеры, сканеры, GPS-модули, программаторы и отладочные платы. Repka Pi может выступать в роли управляющего центра для систем автоматизации, сбора данных или разработки.
Режим Устройства (Gadget): Repka Pi как специализированный инструмент
Это уникальная и наиболее мощная возможность, которую предоставляет OTG. В этом режиме Repka Pi перестает быть управляющим центром и сама становится периферийным устройством для другого хоста (обычно, вашего основного ПК). Ядро Linux, благодаря фреймворку USB Gadget API, позволяет программно эмулировать практически любой тип стандартного USB-устройства.
-
Прямое сетевое подключение к ПК (виртуальная сетевая карта)
- Что это делает: Позволяет установить прямое сетевое соединение между ПК и Repka Pi по одному USB-кабелю, без необходимости в роутере, коммутаторе или отдельном Ethernet-кабеле.
- Как это работает: Repka Pi эмулирует стандартный USB Ethernet адаптер, используя протоколы RNDIS (для совместимости с Windows) или ECM (для Linux/macOS). Ваш компьютер определяет Repka Pi как новую сетевую карту, что позволяет настроить IP-адреса и работать по сети (например, через SSH) так же, как в обычной локальной сети.
- Ценность: Незаменимо для первоначальной "безголовой" настройки (headless setup), для работы в полевых условиях без доступа к сети или для создания изолированного и безопасного канала управления.
-
Использование Repka Pi как внешнего накопителя (флешка, eMMC-кардридер)
- Что это делает: Repka Pi определяется вашим компьютером как стандартный USB-накопитель (флешка или внешний диск).
- Как это работает: Эмулируется класс USB Mass Storage. В качестве хранилища может выступать либо файл-образ, созданный на SD-карте, либо целый блочный раздел, например, eMMC-модуль. Это позволяет хост-компьютеру получить прямой низкоуровневый доступ к накопителю для форматирования и записи данных.
- Ценность: Удобно для быстрой передачи больших объемов данных или для использования Repka Pi в качестве "умного кардридера" для первоначальной прошивки eMMC-модулей.
-
Консольный доступ через виртуальный COM-порт
- Что это делает: Создает последовательный (serial) порт поверх USB.
- Как это работает: Эмулируется класс CDC-ACM (Communications Device Class - Abstract Control Model). На хост-компьютере появляется новый COM-порт (например,
COM3
в Windows или/dev/ttyACM0
в Linux), к которому можно подключиться любой терминальной программой (PuTTY, screen, minicom). - Ценность: Критически важный инструмент для отладки. Он позволяет видеть самые ранние сообщения загрузки ядра и получать доступ к консоли, даже если сетевые интерфейсы еще не работают или система находится в аварийном состоянии.
-
Эмуляция устройств ввода (клавиатура, мышь) для автоматизации
- Что это делает: Repka Pi может отправлять на ПК сигналы нажатия клавиш, движения мыши или нажатия кнопок геймпада.
- Как это работает: Эмулируется класс HID (Human Interface Device). Специальный скрипт или программа на Repka Pi формирует и отправляет через USB стандартные HID-отчеты, которые операционная система хоста интерпретирует как действия пользователя.
- Ценность: Позволяет создавать кастомные устройства ввода, средства для автоматизации рутинных задач на ПК, инструменты для тестирования безопасности (по аналогии с USB Rubber Ducky) или специализированные ассистивные технологии.
-
Продвинутые сценарии: веб-камера, звуковая карта, MIDI-устройство
- Что это делает: Repka Pi может притвориться сложным мультимедийным устройством.
- Как это работает: Путем эмуляции соответствующих стандартных классов: UVC (USB Video Class) для видео, UAC (USB Audio Class) для звука или MIDI class для музыкальных инструментов. Это позволяет передавать видеопоток с камеры, подключенной к Repka Pi, или обрабатывать звук и отправлять его на ПК.
- Ценность: Открывает возможности для создания кастомных USB-веб-камер, портативных аудиоинтерфейсов, уникальных цифровых музыкальных инструментов и других сложных устройств.
Реализация на платах Repka Pi
Физическая реализация и расположение OTG-порта, способного работать в режиме Устройства (Gadget), кардинально отличаются между Repka Pi 3 и Repka Pi 4. Понимание этих различий является ключом к правильному подключению.
Repka Pi 4
На плате Repka Pi 4 функционал OTG реализован на порту USB-C.
-
Порт: Используется тот же порт USB-C, который предназначен для основного питания платы.
-
Особенность: Важно отметить, что при подключении к компьютеру в режиме Устройства (Gadget), Repka Pi 4 может получать питание непосредственно от хоста через этот же кабель USB-C, что значительно упрощает подключение. Отдельное питание через пины GPIO в этом сценарии не требуется.
-
Скорость: Контроллер, подключенный к этому порту, соответствует стандарту USB 2.0 High Speed (до 480 Мбит/с).
Repka Pi 3
На плате Repka Pi 3 для OTG используется один из стандартных портов USB-A, а не отдельный разъем Micro-USB.
-
Порт: Это нижний порт в правом сдвоенном блоке USB-A.
-
Особенность: В отличие от остальных портов USB-A, которые подключены к процессору через внутренний USB-хаб и могут работать исключительно в режиме Хоста, данный порт имеет прямое соединение с SoC (Системой-на-кристалле). Именно эта прямая связь позволяет ему гибко переключать свою роль и работать в режиме Устройства (Gadget).
-
Питание: При работе в режиме Устройства плата получает питание от хоста через этот же USB-порт.
Режим "Устройство" через modules-load
Этот раздел описывает классический, или "legacy", метод активации режимов USB-гаджета. Он заключается в принудительной загрузке одного из монолитных модулей ядра (g_...
) с помощью параметров, передаваемых при старте системы.
Этот метод прост и эффективен для создания однофункциональных устройств, таких как виртуальная сетевая карта или USB-накопитель.
Механизм активации: /boot/repkaEnv.txt
и переменная extra
В Repka OS управление параметрами загрузки ядра осуществляется через конфигурационные файлы загрузчика U-Boot. Понимание их ролей крайне важно для корректной настройки.
-
/boot/boot.cmd
: Это основной скрипт, который выполняет загрузчик U-Boot. В нем содержится командаsetenv bootargs
, которая формирует финальную строку параметров для ядра. Редактировать этот файл напрямую не рекомендуется, так как любые изменения требуют его пересборки с помощью утилитыmkimage
. -
/boot/repkaEnv.txt
: Это файл с переменными окружения для U-Boot. Это безопасное и правильное место для добавления пользовательских параметров. U-Boot читает этот файл перед выполнениемboot.cmd
и использует его значения.
Для добавления пользовательских параметров в boot.cmd
предусмотрена специальная переменная-заполнитель — ${extra}
. Все, что будет записано в переменную extra
в файле repkaEnv.txt
, загрузчик U-Boot автоматически подставит в конец строки аргументов ядра. Это позволяет гибко управлять конфигурацией, не затрагивая основной логики загрузочного скрипта.
Принцип работы: Мы будем добавлять в repkaEnv.txt
строку вида extra=modules-load=имя_модуля [параметры_модуля]
для активации нужного нам режима.
Что такое модуль ядра?
Модуль ядра Linux — это фрагмент кода, который может быть динамически загружен в работающее ядро или выгружен из него, без необходимости перезагрузки всей системы. По своей сути, это "плагины" для операционной системы.
- Назначение: Основное применение модулей — это реализация драйверов для различных устройств (видеокарт, сетевых адаптеров, USB-контроллеров) и поддержка файловых систем или сетевых протоколов.
- Файлы: Скомпилированные модули хранятся в виде файлов с расширением
.ko
(Kernel Object). - Преимущество: Такой подход делает ядро Linux чрезвычайно гибким. Вместо того чтобы собирать одно гигантское, монолитное ядро, которое включает в себя драйверы для всех возможных устройств в мире, система может оставаться легковесной и подгружать только тот код, который необходим для работы с конкретным, подключенным в данный момент оборудованием.
Почему эти модули уже есть на Repka Pi?
Файлы модулей (.ko
), которые вы можете использовать, уже находятся в вашей системе, потому что разработчики дистрибутива Repka OS уже позаботились об этом.
В процессе создания операционной системы они:
- Сконфигурировали ядро Linux, выбрав, какие функции и драйверы могут понадобиться пользователям Repka Pi.
- Скомпилировали ядро и все выбранные драйверы в виде модулей.
- Разместили эти готовые
.ko
файлы в стандартной директории/lib/modules/ВАША_ВЕРСИЯ_ЯДРА/
.
Таким образом, у вас "из коробки" уже есть полный набор драйверов, предусмотренный для вашей платы. Вам остается только научиться ими управлять.
Как управлять модулями и передавать им команды?
Для работы с модулями в командной строке существуют стандартные утилиты, но для наших задач нас интересует механизм их загрузки и конфигурации при старте системы.
Параметры модуля
Самое важное — понимать, что многие модули являются настраиваемыми. Они принимают параметры при загрузке, которые влияют на их поведение. Это как запустить программу с флагами в командной строке.
Чтобы узнать, какие параметры принимает конкретный модуль, используется команда modinfo
.
Пример: Давайте посмотрим на модуль, эмулирующий флешку:
modinfo g_mass_storage
Вывод будет содержать очень важную информацию:
filename: /.../g_mass_storage.ko
description: Mass Storage Gadget
...
parm: file:Paths to the backing file or block device (array of charp)
parm: ro:true to force read-only (array of bool)
parm: removable:true to simulate removable media (array of bool)
...
description
: Краткое описание того, что делает модуль.parm:
: Это и есть те самые "настройки".modinfo
показывает имя параметра (file
), его тип (array of charp) и краткое описание. Из этого вывода мы точно знаем, что модулюg_mass_storage
нужно передать параметрfile
, чтобы он знал, какой файл или диск использовать как хранилище.
Загрузка при старте: параметр ядра modules-load
Для "виртуальных" устройств, как наши гаджеты, ядро не может автоматически определить, что их нужно загрузить. Мы должны приказать ему это сделать на самом раннем этапе.
Это делается с помощью параметра командной строки ядра modules-load
. В Repka OS мы передаем его через переменную extra
в файле /boot/repkaEnv.txt
.
Синтаксис:
-
Загрузка одного модуля:
extra=modules-load=имя_модуля
-
Загрузка одного модуля с параметрами: Параметры передаются после имени модуля, через пробел. Имя параметра указывается после имени модуля с точкой.
extra=modules-load=имя_модуля имя_модуля.параметр=значение
Пример для флешки:extra=modules-load=g_mass_storage g_mass_storage.file=/pi_storage.img
-
Загрузка нескольких модулей: Имена модулей перечисляются через запятую, без пробелов.
extra=modules-load=модуль1,модуль2,модуль3
Каталог доступных "Legacy" гаджет-модулей на Repka Pi
Вот список основных монолитных гаджет-модулей, которые вы можете использовать с modules-load
:
Имя модуля | Описание | Пример строки для extra |
---|---|---|
g_ether |
Эмулирует USB-Ethernet адаптер (сетевую карту). | extra=modules-load=g_ether |
g_mass_storage |
Эмулирует USB-накопитель (флешку). | extra=modules-load=g_mass_storage g_mass_storage.file=/pi_storage.img |
g_serial |
Эмулирует виртуальный COM-порт (CDC-ACM). | extra=modules-load=g_serial |
g_hid |
Эмулирует устройство ввода (клавиатуру, мышь). | extra=modules-load=g_hid (требует сложной доп. настройки) |
g_multi |
Композитное устройство: Сеть + Флешка + COM-порт. | extra=modules-load=g_multi g_multi.file=/pi_storage.img |
g_ncm |
Более современный вариант сетевой карты. | extra=modules-load=g_ncm |
g_audio |
Эмулирует USB-аудиоустройство. | extra=modules-load=g_audio |
g_webcam |
Эмулирует USB-веб-камеру. | extra=modules-load=g_webcam |
g_midi |
Эмулирует MIDI-устройство. | extra=modules-load=g_midi |
g_printer |
Эмулирует USB-принтер. | extra=modules-load=g_printer |
g_zero |
Тестовый модуль "заглушка" для проверки связи. | extra=modules-load=g_zero |
Ключевые особенности и ограничения
При использовании монолитных гаджет-модулей (g_...
) важно понимать два фундаментальных ограничения, связанных с их архитектурой и текущей реализацией драйверов в официальном (mainline) ядре Linux.
Ограничение производительности (PIO-режим)
Как было установлено в ходе детального анализа, производительность OTG-порта в режиме Устройства (Gadget) на Repka Pi с официальным (mainline) ядром Linux является низкой.
-
Причина: Это известное архитектурное ограничение драйвера
sunxi-musb
. В текущей версии ядра в нем не реализована поддержка DMA (Прямого доступа к памяти) для режима "гаджет". В результате, вся передача данных осуществляется в медленном режиме PIO (Programmed I/O), который сильно загружает центральный процессор. -
Ожидаемая скорость: Реальная пропускная способность будет ограничена ~10 МБ/с (~80 Мбит/с).
-
Практическое значение: Этой скорости более чем достаточно для комфортной работы в командной строке (SSH), эмуляции устройств ввода и передачи небольших файлов. Однако она не подходит для задач, требующих высокой пропускной способности, таких как копирование больших файлов (например, при использовании Repka Pi в качестве флешки) или видеостриминг.
Ограничение по одновременной работе (монопольный режим)
Legacy-модули, такие как g_ether
и g_mass_storage
, являются монолитными и взаимоисключающими. Это означает, что в любой момент времени может быть активен только один из них.
-
Причина: Эта особенность кроется в архитектуре драйверов. Каждый из этих модулей спроектирован для монопольного захвата единственного доступного USB-контроллера, способного работать в режиме Устройства (UDC). На платах Repka Pi такой контроллер всего один — тот, что выведен на OTG-порт.
-
Как это работает: Какой именно модуль запустится, зависит от порядка их перечисления в параметре
modules-load
. Первый модуль в списке успешно "захватит" контроллер и начнет работать. Все последующие модули в списке не смогут инициализироваться, так как необходимый им аппаратный ресурс уже будет занят. -
Исключение: модуль
g_multi
Модульg_multi
не является комбинацией нескольких модулей. Это один модуль, который изначально был скомпилирован для эмуляции нескольких интерфейсов (сеть, накопитель, COM-порт) одновременно. Он, как и остальные, монопольно занимает контроллер, но предоставляет хост-компьютеру сразу несколько функций.
Практическое руководство — Repka Pi как Сетевая Карта (g_ether
)
Этот раздел представляет собой пошаговое руководство по настройке Repka Pi для работы в режиме "виртуальной" сетевой карты. В результате вы сможете подключить Repka Pi к вашему компьютеру одним USB-кабелем и получить полноценный сетевой доступ (например, через SSH), не используя Wi-Fi или Ethernet-роутер.
Шаг 1: Конфигурация Repka Pi
Наша первая задача — дать ядру Linux команду принудительно загрузить необходимый модуль при старте системы.
-
Подключитесь к Repka Pi по существующей сети (Wi-Fi или Ethernet) и откройте терминал.
-
Откройте конфигурационный файл
/boot/repkaEnv.txt
с помощью текстового редактораnano
. Для этого требуются права суперпользователя:sudo nano /boot/repkaEnv.txt
Вы увидите содержимое файла, в котором уже могут быть другие параметры.
-
Перейдите в конец файла и добавьте новую строку для переменной
extra
:extra=modules-load=g_ether
-
Сохраните внесенные изменения, нажав
Ctrl+O
. Редактор запросит подтверждение имени файла — просто нажмитеEnter
. -
Закройте редактор
nano
, нажавCtrl+X
. -
Важно: Перезагрузите Repka Pi, чтобы она загрузилась с новыми параметрами:
sudo reboot
Ваше SSH-соединение прервется. Это нормально.
Шаг 2: Подключение и настройка сети
Теперь, когда Repka Pi готова, подключим ее к компьютеру и посмотрим, как система на это отреагирует.
-
На вашем основном ПК откройте терминал и запустите команду для отслеживания системных событий в реальном времени:
sudo dmesg -w
Терминал перейдет в режим ожидания и будет показывать новые сообщения от ядра по мере их появления.
-
Подключите Repka Pi к вашему основному компьютеру с помощью USB-кабеля. Используйте соответствующий OTG-порт:
- На Repka Pi 4: порт USB-C.
- На Repka Pi 3: определенный порт USB-A.
-
Подождите 10-15 секунд, чтобы операционная система вашего ПК обнаружила новое "устройство".
-
Откройте терминал на вашем ПК и найдите имя нового сетевого интерфейса. Для этого используется команда
ip a
:ip a
В списке, помимо ваших обычных
wlan0
илиeth0
, появится новый интерфейс. Чаще всего он будет называтьсяusb0
, но в некоторых системах может получить имя видаenx...
. -
Назначьте IP-адрес вашему ПК на этом новом интерфейсе. Это создаст нашу мини-сеть. (В команде ниже замените
usb0
, если ваше имя отличается).sudo ip addr add 192.168.10.1/24 dev usb0
-
Активируйте ("поднимите") интерфейс:
sudo ip link set up dev usb0
-
Теперь назначьте IP-адрес самой Repka Pi. Для этого вам снова понадобится доступ к ее консоли (например, через старое Wi-Fi соединение, если оно еще активно, или подключив монитор/клавиатуру). Выполните на Repka Pi:
sudo ip addr add 192.168.10.2/24 dev usb0 sudo ip link set up dev usb0
Теперь у нас есть сеть: ваш ПК —
192.168.10.1
, а Repka Pi —192.168.10.2
.
Шаг 3: Проверка соединения и использование
-
Вернитесь в терминал вашего основного ПК и проверьте связь с помощью команды
ping
:ping 192.168.10.2
Вы должны увидеть успешные ответы от Repka Pi, подтверждающие, что сетевое соединение установлено и работает.
-
Готово! Теперь вы можете подключиться к вашей Repka Pi по SSH, используя ее новый IP-адрес:
ssh root@192.168.10.2
Вы успешно настроили прямое сетевое соединение и можете работать с консолью Repka Pi без дополнительного сетевого оборудования.
Практическое руководство — Repka Pi как USB-накопитель (g_mass_storage
)
Этот раздел описывает, как настроить Repka Pi для работы в режиме USB-накопителя. Этот режим позволяет компьютеру видеть Repka Pi как обычную флешку или внешний диск, что удобно для обмена файлами или первоначальной прошивки eMMC-модулей.
Вариант А: Использование файла-образа (Виртуальная флешка)
Этот метод превращает часть SD-карты вашей Repka Pi в "виртуальную" флешку.
Шаг 1: Создание файла-хранилища на Repka Pi Перед настройкой необходимо создать на SD-карте файл, который будет выступать в роли "диска" для нашей флешки.
-
Подключитесь к Repka Pi по SSH.
-
Создайте пустой файл нужного размера. В этом примере мы создадим файл на 4 ГБ.
sudo dd if=/dev/zero of=/pi_storage.img bs=1M count=4096 status=progress
-
Отформатируйте этот файл в файловой системе FAT32, чтобы он был совместим с большинством ОС.
sudo mkfs.vfat /pi_storage.img
Шаг 2: Конфигурация Repka Pi
-
Откройте файл
/boot/repkaEnv.txt
в текстовом редакторе:sudo nano /boot/repkaEnv.txt
-
Добавьте/измените переменную
extra
, указав модулюg_mass_storage
путь к вашему файлу-образу:extra=modules-load=g_mass_storage g_mass_storage.file=/pi_storage.img
-
Сохраните изменения (
Ctrl+O
,Enter
) и закройте редактор (Ctrl+X
). -
Перезагрузите Repka Pi:
sudo reboot
Шаг 3: Подключение и проверка
Теперь, когда Repka Pi сконфигурирована, можно подключать ее к компьютеру и наблюдать за процессом инициализации.
-
На вашем основном ПК откройте терминал и запустите команду для отслеживания системных событий в реальном времени:
sudo dmesg -w
Терминал перейдет в режим ожидания, готовый показывать новые сообщения от ядра.
-
Подключите Repka Pi к компьютеру с помощью USB-кабеля. Используйте соответствующий OTG-порт:
- На Repka Pi 4: порт USB-C.
- На Repka Pi 3: определенный порт USB-A.
-
Наблюдайте за выводом в терминале. В момент подключения вы должны увидеть серию сообщений, подтверждающих, что ядро обнаружило и настроило Repka Pi как USB-накопитель.
-
Через некоторое время в операционной системе вашего ПК должен появиться новый съемный диск. В связи с ограничениями драйвера это время может составлять более минуты.
Вариант Б: Использование eMMC-модуля (Режим кардридера, только для Repka Pi 4)
Этот метод позволяет предоставить вашему ПК прямой, низкоуровневый доступ ко всему eMMC-модулю.
Шаг 1: Идентификация eMMC-модуля Нам нужно узнать системное имя eMMC-накопителя.
-
Убедитесь, что Repka Pi загружена с SD-карты.
-
Подключитесь по SSH и выполните команду
lsblk
. -
Найдите в списке устройство, которое не является вашей SD-картой (
mmcblk0
). Обычно этоmmcblk1
. Запомните это имя (/dev/mmcblk1
).
Шаг 2: Конфигурация Repka Pi
-
Откройте файл
/boot/repkaEnv.txt
в текстовом редакторе:sudo nano /boot/repkaEnv.txt
-
Добавьте/измените переменную
extra
, указав путь к вашему eMMC-устройству:extra=modules-load=g_mass_storage g_mass_storage.file=/dev/mmcblk1
-
Сохраните и перезагрузите Repka Pi.
Шаг 3: Подключение и форматирование
- Подключите Repka Pi к компьютеру через OTG-порт USB-C.
- Ваш компьютер обнаружит новый неформатированный диск. Это нормально, так как он получил прямой доступ к "пустому" устройству.
- Операционная система (Windows, macOS или Linux) предложит вам отформатировать этот новый диск.
- Отформатируйте его в любой универсальной файловой системе (например, exFAT для файлов >4ГБ или NTFS).
После форматирования eMMC-модуль будет работать как высокоскоростной внешний накопитель.
Краткое напоминание об ограничениях
Как указано в предыдущей главе, помните, что из-за особенностей официального драйвера sunxi-musb
скорость передачи данных в этом режиме будет ограничена ~10 МБ/с. Этого может быть недостаточно для комфортной работы с очень большими файлами.