aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/handbook/usb-device-mode
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/handbook/usb-device-mode')
-rw-r--r--documentation/content/ru/books/handbook/usb-device-mode/_index.adoc268
-rw-r--r--documentation/content/ru/books/handbook/usb-device-mode/_index.po692
2 files changed, 960 insertions, 0 deletions
diff --git a/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc b/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc
new file mode 100644
index 0000000000..8278e3e2b2
--- /dev/null
+++ b/documentation/content/ru/books/handbook/usb-device-mode/_index.adoc
@@ -0,0 +1,268 @@
+---
+description: 'Эта глава посвящена использованию режима USB Device Mode и USB On The Go (USB OTG) в FreeBSD'
+next: books/handbook/partiv
+params:
+ path: /books/handbook/usb-device-mode/
+part: 'Часть III. Администрирование системы'
+prev: books/handbook/dtrace
+showBookMenu: true
+tags: ["OTG", "USB"]
+title: 'Глава 28. Режим USB-устройства / USB OTG'
+weight: 32
+---
+
+[[usb-device-mode]]
+= Режим устройства USB / USB OTG
+:doctype: book
+:toc: macro
+:toclevels: 1
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:sectnumoffset: 28
+:partnums:
+:source-highlighter: rouge
+:experimental:
+:images-path: books/handbook/usb-device-mode/
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+:imagesdir: ../../../../images/{images-path}
+endif::[]
+ifndef::book[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+toc::[]
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+toc::[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+[[usb-device-mode-synopsis]]
+== Обзор
+
+Эта глава посвящена использованию USB Device Mode и USB On The Go (USB OTG) в FreeBSD. В неё входят виртуальные последовательные консоли, виртуальные сетевые интерфейсы и виртуальные USB-накопители.
+
+При работе на оборудовании, поддерживающем режим USB-устройства или USB OTG, который встроен во многие материнские платы, стек USB FreeBSD может работать в _режиме устройства_. Режим устройства позволяет компьютеру представлять себя как различные классы USB-устройств, включая последовательные порты, сетевые адаптеры и устройства хранения данных, или их комбинацию. USB-хост, такой как ноутбук или настольный компьютер, может обращаться к ним так же, как к физическим USB-устройствам. Режим устройства иногда называют «режимом USB-гаджета».
+
+Существует два основных способа, которыми оборудование может обеспечивать функциональность режима устройства: с отдельным "клиентским портом", который поддерживает только режим устройства, и с портом USB OTG, который может обеспечивать как режим устройства, так и режим хоста. Для портов USB OTG стек USB автоматически переключается между режимом хоста и режимом устройства в зависимости от того, что подключено к порту. Подключение USB-устройства, такого как флеш-накопитель, приводит к переключению FreeBSD в режим хоста. Подключение USB-хоста, например компьютера, приводит к переключению FreeBSD в режим устройства. Однонаправленные "клиентские порты" всегда работают в режиме устройства.
+
+То, что FreeBSD предоставляет USB-хосту, зависит от параметра `hw.usb.template` в sysctl. Некоторые шаблоны предоставляют одно устройство, например, последовательный терминал; другие предоставляют несколько устройств, которые можно использовать одновременно. Примером является шаблон 10, который предоставляет устройство хранения данных, последовательную консоль и сетевой интерфейс. Список доступных значений смотрите в man:usb_template[4].
+
+Обратите внимание, что в некоторых случаях, в зависимости от оборудования и операционной системы хоста, для того чтобы хост заметил изменение конфигурации, может потребоваться либо физическое отключение и повторное подключение, либо принудительное повторное сканирование шины USB способом, зависящим от системы. Если на хосте запущена FreeBSD, можно использовать man:usbconfig[8] `reset`. Это также необходимо сделать после загрузки [.filename]#usb_template.ko#, если USB-хост уже был подключен к разъему USBOTG.
+
+Прочитав эту главу, вы будете знать:
+
+* Как настроить функциональность USB Device Mode в FreeBSD.
+* Как настроить виртуальный последовательный порт на FreeBSD.
+* Как подключиться к виртуальному последовательному порту из различных операционных систем.
+* Как настроить FreeBSD для предоставления виртуального USB-сетевого интерфейса.
+* Как настроить FreeBSD для предоставления виртуального USB-накопителя.
+
+[[usb-device-mode-terminals]]
+== Виртуальные последовательные порты USB
+
+=== Настройка последовательных портов в режиме USB-устройства
+
+Поддержка виртуальных последовательных портов предоставляется шаблонами 3, 8 и 10. Обратите внимание, что шаблон 3 работает с Microsoft Windows 10 без необходимости в специальных драйверах и INF-файлах. Другие операционные системы хоста работают со всеми тремя шаблонами. Необходимо загрузить оба модуля ядра man:usb_template[4] и man:umodem[4].
+
+Чтобы включить последовательные порты в режиме устройства USB, добавьте следующие строки в [.filename]#/etc/ttys#:
+
+[.programlisting]
+....
+ttyU0 "/usr/libexec/getty 3wire" vt100 onifconsole secure
+ttyU1 "/usr/libexec/getty 3wire" vt100 onifconsole secure
+....
+
+Затем добавьте следующие строки в [.filename]#/etc/devd.conf#:
+
+[.programlisting]
+....
+notify 100 {
+ match "system" "DEVFS";
+ match "subsystem" "CDEV";
+ match "type" "CREATE";
+ match "cdev" "ttyU[0-9]+";
+ action "/sbin/init q";
+};
+....
+
+Перезагрузите конфигурацию, если man:devd[8] уже запущен:
+
+[source, shell]
+....
+# service devd restart
+....
+
+Убедитесь, что необходимые модули загружены, и правильный шаблон установлен при загрузке, добавив следующие строки в [.filename]#/boot/loader.conf#, создав его, если он ещё не существует:
+
+[source, shell]
+....
+umodem_load="YES"
+hw.usb.template=3
+....
+
+Для загрузки модуля и установки шаблона без перезагрузки используйте:
+
+[source, shell]
+....
+# kldload umodem
+# sysctl hw.usb.template=3
+....
+
+=== Подключение к последовательным портам в режиме USB-устройств из FreeBSD
+
+Для подключения к плате, настроенной для предоставления последовательных портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB OTG или клиентскому USB-порту платы. Используйте команду `pstat -t` на хосте для вывода списка терминальных линий. В конце списка должен отобразиться USB-последовательный порт, например "ttyU0". Для установки соединения используйте:
+
+[source, shell]
+....
+# cu -l /dev/ttyU0
+....
+
+После нажатия клавиши kbd:[Enter] несколько раз вы увидите приглашение для входа в систему.
+
+=== Подключение к последовательным портам в режиме USB-устройства из macOS
+
+Для подключения к плате, настроенной для предоставления последовательных портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB OTG или клиентскому USB-порту платы. Чтобы открыть соединение, используйте:
+
+[source, shell]
+....
+# cu -l /dev/cu.usbmodemFreeBSD1
+....
+
+=== Подключение к последовательным портам в режиме USB-устройства из Linux
+
+Для подключения к плате, настроенной для предоставления последовательных портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB OTG или клиентскому USB-порту платы. Чтобы открыть соединение, используйте:
+
+[source, shell]
+....
+# minicom -D /dev/ttyACM0
+....
+
+=== Подключение к последовательным портам в режиме USB-устройства из Microsoft Windows 10
+
+Для подключения к плате, настроенной для предоставления последовательных портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB OTG или клиентскому USB-порту платы. Чтобы открыть соединение, вам понадобится программа для работы с последовательным портом, например PuTTY. Для проверки имени COM-порта, используемого Windows, запустите Диспетчер устройств, раскройте раздел "Порты (COM и LPT)". Вы увидите имя, похожее на "USB Serial Device (COM4)". Запустите выбранную программу для работы с последовательным портом, например PuTTY. В диалоговом окне PuTTY установите "Connection type" в значение "Serial", введите COMx (полученный из Диспетчера устройств) в поле "Serial line" и нажмите "Open".
+
+[[usb-device-mode-network]]
+== Сетевые интерфейсы в режиме USB-устройства
+
+Поддержка виртуальных сетевых интерфейсов обеспечивается шаблонами 1, 8 и 10. Обратите внимание, что ни один из них не работает с Microsoft Windows. Другие операционные системы хоста работают со всеми тремя шаблонами. Необходимо загрузить оба модуля ядра: man:usb_template[4] и man:if_cdce[4].
+
+Убедитесь, что необходимые модули загружены, и правильный шаблон установлен при загрузке, добавив следующие строки в [.filename]#/boot/loader.conf#, создав его, если он ещё не существует:
+
+[.programlisting]
+....
+if_cdce_load="YES"
+hw.usb.template=1
+....
+
+Для загрузки модуля и установки шаблона без перезагрузки используйте:
+
+[source, shell]
+....
+# kldload if_cdce
+# sysctl hw.usb.template=1
+....
+
+[[usb-device-mode-storage]]
+== Виртуальное устройство хранения данных USB
+
+[NOTE]
+====
+Драйвер man:cfumass[4] — это драйвер режима USB-устройства, впервые появившийся в FreeBSD 12.0.
+====
+
+Целевое устройство хранения данных (Mass Storage) предоставляется шаблонами 0 и 10. Необходимо загрузить оба модуля ядра: man:usb_template[4] и man:cfumass[4]. Модуль man:cfumass[4] взаимодействует с подсистемой CTL, той же самой, что используется для целевых устройств iSCSI или Fibre Channel. Со стороны хоста инициаторы USB Mass Storage могут обращаться только к одному LUN — LUN 0.
+
+=== Настройка USB-накопителя с использованием стартового скрипта cfumass
+
+Самый простой способ настроить USB-накопитель только для чтения — использовать скрипт [.filename]#cfumass#. Для этого скопируйте файлы, которые должны быть доступны на USB-хосте, в директорию `/var/cfumass` и добавьте следующую строку в [.filename]#/etc/rc.conf#:
+
+[.programlisting]
+....
+cfumass_enable="YES"
+....
+
+Для настройки цели без перезагрузки выполните следующую команду:
+
+[source, shell]
+....
+# service cfumass start
+....
+
+В отличие от последовательных и сетевых функций, шаблон не следует устанавливать в 0 или 10 в [.filename]#/boot/loader.conf#. Это связано с тем, что LUN должен быть настроен до установки шаблона. Скрипт запуска cfumass автоматически устанавливает правильный номер шаблона при запуске.
+
+=== Настройка USB-накопителей с использованием других методов
+
+Оставшаяся часть этой главы содержит подробное описание настройки цели без использования файла `cfumass rc`. Это необходимо, например, если требуется предоставить доступную для записи LUN.
+
+USB-накопитель не требует работы демона man:ctld[8], хотя его можно использовать при необходимости. Это отличается от iSCSI. Таким образом, есть два способа настройки цели: man:ctladm[8] или man:ctld[8]. Оба способа требуют загрузки модуля ядра [.filename]#cfumass.ko#. Модуль можно загрузить вручную:
+
+[source, shell]
+....
+# kldload cfumass
+....
+
+Если модуль [.filename]#cfumass.ko# не встроен в ядро, можно настроить [.filename]#/boot/loader.conf# для его загрузки при старте системы:
+
+[.programlisting]
+....
+cfumass_load="YES"
+....
+
+LUN может быть создан без использования демона man:ctld[8]:
+
+[source, shell]
+....
+# ctladm create -b block -o file=/data/target0
+....
+
+Это предоставляет содержимое файла образа [.filename]#/data/target0# как LUN для USB-хоста. Файл должен существовать до выполнения команды. Чтобы настроить LUN при загрузке системы, добавьте команду в [.filename]#/etc/rc.local#.
+
+man:ctld[8] также может использоваться для управления LUN. Создайте файл [.filename]#/etc/ctl.conf#, добавьте строку в [.filename]#/etc/rc.conf#, чтобы убедиться, что man:ctld[8] автоматически запускается при загрузке, а затем запустите демон.
+
+Вот пример простого файла конфигурации [.filename]#/etc/ctl.conf#. Полное описание параметров можно найти в man:ctl.conf[5].
+
+[.programlisting]
+....
+target naa.50015178f369f092 {
+ lun 0 {
+ path /data/target0
+ size 4G
+ }
+}
+....
+
+Пример создает одну цель с одним LUN. `naa.50015178f369f092` — это идентификатор устройства, состоящий из 32 случайных шестнадцатеричных цифр. Строка `path` определяет полный путь к файлу или zvol, который используется для LUN. Этот файл должен существовать до запуска man:ctld[8]. Вторая строка необязательна и указывает размер LUN.
+
+Чтобы убедиться, что демон man:ctld[8] запускается при загрузке, добавьте следующую строку в [.filename]#/etc/rc.conf#:
+
+[.programlisting]
+....
+ctld_enable="YES"
+....
+
+Чтобы запустить man:ctld[8] сейчас, выполните следующую команду:
+
+[source, shell]
+....
+# service ctld start
+....
+
+При запуске демона man:ctld[8] он читает файл [.filename]#/etc/ctl.conf#. Если этот файл отредактирован после запуска демона, перезагрузите изменения, чтобы они вступили в силу немедленно:
+
+[source, shell]
+....
+# service ctld reload
+....
diff --git a/documentation/content/ru/books/handbook/usb-device-mode/_index.po b/documentation/content/ru/books/handbook/usb-device-mode/_index.po
new file mode 100644
index 0000000000..6141d4b9b2
--- /dev/null
+++ b/documentation/content/ru/books/handbook/usb-device-mode/_index.po
@@ -0,0 +1,692 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2025-10-20 11:02+0300\n"
+"PO-Revision-Date: 2025-06-09 04:45+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/bookshandbookusb-device-mode_index/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
+#, no-wrap
+msgid "This chapter covers the use of USB Device Mode and USB On The Go (USB OTG) in FreeBSD"
+msgstr "Эта глава посвящена использованию режима USB Device Mode и USB On The Go (USB OTG) в FreeBSD"
+
+#. type: Yaml Front Matter Hash Value: part
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
+#, no-wrap
+msgid "Part III. System Administration"
+msgstr "Часть III. Администрирование системы"
+
+#. type: Yaml Front Matter Hash Value: title
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:1
+#, no-wrap
+msgid "Chapter 28. USB Device Mode / USB OTG"
+msgstr "Глава 28. Режим USB-устройства / USB OTG"
+
+#. type: Title =
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:15
+#, no-wrap
+msgid "USB Device Mode / USB OTG"
+msgstr "Режим устройства USB / USB OTG"
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:53
+#, no-wrap
+msgid "Synopsis"
+msgstr "Обзор"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:57
+msgid ""
+"This chapter covers the use of USB Device Mode and USB On The Go (USB OTG) "
+"in FreeBSD. This includes virtual serial consoles, virtual network "
+"interfaces, and virtual USB drives."
+msgstr ""
+"Эта глава посвящена использованию USB Device Mode и USB On The Go (USB OTG) "
+"в FreeBSD. В неё входят виртуальные последовательные консоли, виртуальные "
+"сетевые интерфейсы и виртуальные USB-накопители."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:62
+msgid ""
+"When running on hardware that supports USB device mode or USB OTG, like that "
+"built into many embedded boards, the FreeBSD USB stack can run in _device "
+"mode_. Device mode makes it possible for the computer to present itself as "
+"different kinds of USB device classes, including serial ports, network "
+"adapters, and mass storage, or a combination thereof. A USB host like a "
+"laptop or desktop computer is able to access them just like physical USB "
+"devices. Device mode is sometimes called the \"USB gadget mode\"."
+msgstr ""
+"При работе на оборудовании, поддерживающем режим USB-устройства или USB OTG, "
+"который встроен во многие материнские платы, стек USB FreeBSD может работать "
+"в _режиме устройства_. Режим устройства позволяет компьютеру представлять "
+"себя как различные классы USB-устройств, включая последовательные порты, "
+"сетевые адаптеры и устройства хранения данных, или их комбинацию. USB-хост, "
+"такой как ноутбук или настольный компьютер, может обращаться к ним так же, "
+"как к физическим USB-устройствам. Режим устройства иногда называют «режимом "
+"USB-гаджета»."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:68
+msgid ""
+"There are two basic ways the hardware can provide the device mode "
+"functionality: with a separate \"client port\", which only supports the "
+"device mode, and with a USB OTG port, which can provide both device and host "
+"mode. For USB OTG ports, the USB stack switches between host-side and "
+"device-side automatically, depending on what is connected to the port. "
+"Connecting a USB device like a memory stick to the port causes FreeBSD to "
+"switch to host mode. Connecting a USB host like a computer causes FreeBSD "
+"to switch to device mode. Single purpose \"client ports\" always work in "
+"device mode."
+msgstr ""
+"Существует два основных способа, которыми оборудование может обеспечивать "
+"функциональность режима устройства: с отдельным \"клиентским портом\", "
+"который поддерживает только режим устройства, и с портом USB OTG, который "
+"может обеспечивать как режим устройства, так и режим хоста. Для портов USB "
+"OTG стек USB автоматически переключается между режимом хоста и режимом "
+"устройства в зависимости от того, что подключено к порту. Подключение USB-"
+"устройства, такого как флеш-накопитель, приводит к переключению FreeBSD в "
+"режим хоста. Подключение USB-хоста, например компьютера, приводит к "
+"переключению FreeBSD в режим устройства. Однонаправленные \"клиентские "
+"порты\" всегда работают в режиме устройства."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:73
+msgid ""
+"What FreeBSD presents to the USB host depends on the `hw.usb.template` "
+"sysctl. Some templates provide a single device, such as a serial terminal; "
+"others provide multiple ones, which can all be used at the same time. An "
+"example is the template 10, which provides a mass storage device, a serial "
+"console, and a network interface. See man:usb_template[4] for the list of "
+"available values."
+msgstr ""
+"То, что FreeBSD предоставляет USB-хосту, зависит от параметра "
+"`hw.usb.template` в sysctl. Некоторые шаблоны предоставляют одно устройство, "
+"например, последовательный терминал; другие предоставляют несколько "
+"устройств, которые можно использовать одновременно. Примером является шаблон "
+"10, который предоставляет устройство хранения данных, последовательную "
+"консоль и сетевой интерфейс. Список доступных значений смотрите в "
+"man:usb_template[4]."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:77
+msgid ""
+"Note that in some cases, depending on the hardware and the hosts operating "
+"system, for the host to notice the configuration change, it must be either "
+"physically disconnected and reconnected, or forced to rescan the USB bus in "
+"a system-specific way. When FreeBSD is running on the host, "
+"man:usbconfig[8] `reset` can be used. This also must be done after loading "
+"[.filename]#usb_template.ko# if the USB host was already connected to the "
+"USBOTG socket."
+msgstr ""
+"Обратите внимание, что в некоторых случаях, в зависимости от оборудования и "
+"операционной системы хоста, для того чтобы хост заметил изменение "
+"конфигурации, может потребоваться либо физическое отключение и повторное "
+"подключение, либо принудительное повторное сканирование шины USB способом, "
+"зависящим от системы. Если на хосте запущена FreeBSD, можно использовать "
+"man:usbconfig[8] `reset`. Это также необходимо сделать после загрузки "
+"[.filename]#usb_template.ko#, если USB-хост уже был подключен к разъему "
+"USBOTG."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:79
+msgid "After reading this chapter, you will know:"
+msgstr "Прочитав эту главу, вы будете знать:"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:81
+msgid "How to set up USB Device Mode functionality on FreeBSD."
+msgstr "Как настроить функциональность USB Device Mode в FreeBSD."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:82
+msgid "How to configure the virtual serial port on FreeBSD."
+msgstr "Как настроить виртуальный последовательный порт на FreeBSD."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:83
+msgid ""
+"How to connect to the virtual serial port from various operating systems."
+msgstr ""
+"Как подключиться к виртуальному последовательному порту из различных "
+"операционных систем."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:84
+msgid "How to configure FreeBSD to provide a virtual USB network interface."
+msgstr ""
+"Как настроить FreeBSD для предоставления виртуального USB-сетевого "
+"интерфейса."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:85
+msgid "How to configure FreeBSD to provide a virtual USB storage device."
+msgstr "Как настроить FreeBSD для предоставления виртуального USB-накопителя."
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:87
+#, no-wrap
+msgid "USB Virtual Serial Ports"
+msgstr "Виртуальные последовательные порты USB"
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:89
+#, no-wrap
+msgid "Configuring USB Device Mode Serial Ports"
+msgstr "Настройка последовательных портов в режиме USB-устройства"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:95
+msgid ""
+"Virtual serial port support is provided by templates number 3, 8, and 10. "
+"Note that template 3 works with Microsoft Windows 10 without the need for "
+"special drivers and INF files. Other host operating systems work with all "
+"three templates. Both man:usb_template[4] and man:umodem[4] kernel modules "
+"must be loaded."
+msgstr ""
+"Поддержка виртуальных последовательных портов предоставляется шаблонами 3, 8 "
+"и 10. Обратите внимание, что шаблон 3 работает с Microsoft Windows 10 без "
+"необходимости в специальных драйверах и INF-файлах. Другие операционные "
+"системы хоста работают со всеми тремя шаблонами. Необходимо загрузить оба "
+"модуля ядра man:usb_template[4] и man:umodem[4]."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:97
+msgid ""
+"To enable USB device mode serial ports, add those lines to [.filename]#/etc/"
+"ttys#:"
+msgstr ""
+"Чтобы включить последовательные порты в режиме устройства USB, добавьте "
+"следующие строки в [.filename]#/etc/ttys#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:102
+#, no-wrap
+msgid ""
+"ttyU0\t\"/usr/libexec/getty 3wire\"\tvt100\tonifconsole secure\n"
+"ttyU1\t\"/usr/libexec/getty 3wire\"\tvt100\tonifconsole secure\n"
+msgstr ""
+"ttyU0\t\"/usr/libexec/getty 3wire\"\tvt100\tonifconsole secure\n"
+"ttyU1\t\"/usr/libexec/getty 3wire\"\tvt100\tonifconsole secure\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:105
+msgid "Then add these lines to [.filename]#/etc/devd.conf#:"
+msgstr "Затем добавьте следующие строки в [.filename]#/etc/devd.conf#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:115
+#, no-wrap
+msgid ""
+"notify 100 {\n"
+"\tmatch \"system\"\t\t\"DEVFS\";\n"
+"\tmatch \"subsystem\"\t\"CDEV\";\n"
+"\tmatch \"type\"\t\t\"CREATE\";\n"
+"\tmatch \"cdev\"\t\t\"ttyU[0-9]+\";\n"
+"\taction \"/sbin/init q\";\n"
+"};\n"
+msgstr ""
+"notify 100 {\n"
+"\tmatch \"system\"\t\t\"DEVFS\";\n"
+"\tmatch \"subsystem\"\t\"CDEV\";\n"
+"\tmatch \"type\"\t\t\"CREATE\";\n"
+"\tmatch \"cdev\"\t\t\"ttyU[0-9]+\";\n"
+"\taction \"/sbin/init q\";\n"
+"};\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:118
+msgid "Reload the configuration if man:devd[8] is already running:"
+msgstr "Перезагрузите конфигурацию, если man:devd[8] уже запущен:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:122
+#, no-wrap
+msgid "# service devd restart\n"
+msgstr "# service devd restart\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:125
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:192
+msgid ""
+"Make sure the necessary modules are loaded and the correct template is set "
+"at boot by adding those lines to [.filename]#/boot/loader.conf#, creating it "
+"if it does not already exist:"
+msgstr ""
+"Убедитесь, что необходимые модули загружены, и правильный шаблон установлен "
+"при загрузке, добавив следующие строки в [.filename]#/boot/loader.conf#, "
+"создав его, если он ещё не существует:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:130
+#, no-wrap
+msgid ""
+"umodem_load=\"YES\"\n"
+"hw.usb.template=3\n"
+msgstr ""
+"umodem_load=\"YES\"\n"
+"hw.usb.template=3\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:133
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:200
+msgid "To load the module and set the template without rebooting use:"
+msgstr "Для загрузки модуля и установки шаблона без перезагрузки используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:138
+#, no-wrap
+msgid ""
+"# kldload umodem\n"
+"# sysctl hw.usb.template=3\n"
+msgstr ""
+"# kldload umodem\n"
+"# sysctl hw.usb.template=3\n"
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:140
+#, no-wrap
+msgid "Connecting to USB Device Mode Serial Ports from FreeBSD"
+msgstr "Подключение к последовательным портам в режиме USB-устройств из FreeBSD"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:146
+msgid ""
+"To connect to a board configured to provide USB device mode serial ports, "
+"connect the USB host, such as a laptop, to the boards USB OTG or USB client "
+"port. Use `pstat -t` on the host to list the terminal lines. Near the end "
+"of the list you should see a USB serial port, e.g. \"ttyU0\". To open the "
+"connection, use:"
+msgstr ""
+"Для подключения к плате, настроенной для предоставления последовательных "
+"портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB "
+"OTG или клиентскому USB-порту платы. Используйте команду `pstat -t` на хосте "
+"для вывода списка терминальных линий. В конце списка должен отобразиться USB-"
+"последовательный порт, например \"ttyU0\". Для установки соединения "
+"используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:150
+#, no-wrap
+msgid "# cu -l /dev/ttyU0\n"
+msgstr "# cu -l /dev/ttyU0\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:153
+msgid ""
+"After pressing the kbd:[Enter] key a few times you will see a login prompt."
+msgstr ""
+"После нажатия клавиши kbd:[Enter] несколько раз вы увидите приглашение для "
+"входа в систему."
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:154
+#, no-wrap
+msgid "Connecting to USB Device Mode Serial Ports from macOS"
+msgstr "Подключение к последовательным портам в режиме USB-устройства из macOS"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:158
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:168
+msgid ""
+"To connect to a board configured to provide USB device mode serial ports, "
+"connect the USB host, such as a laptop, to the boards USB OTG or USB client "
+"port. To open the connection, use:"
+msgstr ""
+"Для подключения к плате, настроенной для предоставления последовательных "
+"портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB "
+"OTG или клиентскому USB-порту платы. Чтобы открыть соединение, используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:162
+#, no-wrap
+msgid "# cu -l /dev/cu.usbmodemFreeBSD1\n"
+msgstr "# cu -l /dev/cu.usbmodemFreeBSD1\n"
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:164
+#, no-wrap
+msgid "Connecting to USB Device Mode Serial Ports from Linux"
+msgstr "Подключение к последовательным портам в режиме USB-устройства из Linux"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:172
+#, no-wrap
+msgid "# minicom -D /dev/ttyACM0\n"
+msgstr "# minicom -D /dev/ttyACM0\n"
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:174
+#, no-wrap
+msgid "Connecting to USB Device Mode Serial Ports from Microsoft Windows 10"
+msgstr "Подключение к последовательным портам в режиме USB-устройства из Microsoft Windows 10"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:182
+msgid ""
+"To connect to a board configured to provide USB device mode serial ports, "
+"connect the USB host, such as a laptop, to the boards USB OTG or USB client "
+"port. To open a connection you will need a serial terminal program, such as "
+"PuTTY. To check the COM port name used by Windows, run Device Manager, "
+"expand \"Ports (COM & LPT)\". You will see a name similar to \"USB Serial "
+"Device (COM4)\". Run serial terminal program of your choice, for example "
+"PuTTY. In the PuTTY dialog set \"Connection type\" to \"Serial\", type the "
+"COMx obtained from Device Manager in the \"Serial line\" dialog box and "
+"click Open."
+msgstr ""
+"Для подключения к плате, настроенной для предоставления последовательных "
+"портов в режиме USB-устройства, подключите USB-хост, например ноутбук, к USB "
+"OTG или клиентскому USB-порту платы. Чтобы открыть соединение, вам "
+"понадобится программа для работы с последовательным портом, например PuTTY. "
+"Для проверки имени COM-порта, используемого Windows, запустите Диспетчер "
+"устройств, раскройте раздел \"Порты (COM и LPT)\". Вы увидите имя, похожее "
+"на \"USB Serial Device (COM4)\". Запустите выбранную программу для работы с "
+"последовательным портом, например PuTTY. В диалоговом окне PuTTY установите "
+"\"Connection type\" в значение \"Serial\", введите COMx (полученный из "
+"Диспетчера устройств) в поле \"Serial line\" и нажмите \"Open\"."
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:184
+#, no-wrap
+msgid "USB Device Mode Network Interfaces"
+msgstr "Сетевые интерфейсы в режиме USB-устройства"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:190
+msgid ""
+"Virtual network interfaces support is provided by templates number 1, 8, and "
+"10. Note that none of them works with Microsoft Windows. Other host "
+"operating systems work with all three templates. Both man:usb_template[4] "
+"and man:if_cdce[4] kernel modules must be loaded."
+msgstr ""
+"Поддержка виртуальных сетевых интерфейсов обеспечивается шаблонами 1, 8 и "
+"10. Обратите внимание, что ни один из них не работает с Microsoft Windows. "
+"Другие операционные системы хоста работают со всеми тремя шаблонами. "
+"Необходимо загрузить оба модуля ядра: man:usb_template[4] и man:if_cdce[4]."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:197
+#, no-wrap
+msgid ""
+"if_cdce_load=\"YES\"\n"
+"hw.usb.template=1\n"
+msgstr ""
+"if_cdce_load=\"YES\"\n"
+"hw.usb.template=1\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:205
+#, no-wrap
+msgid ""
+"# kldload if_cdce\n"
+"# sysctl hw.usb.template=1\n"
+msgstr ""
+"# kldload if_cdce\n"
+"# sysctl hw.usb.template=1\n"
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:208
+#, no-wrap
+msgid "USB Virtual Storage Device"
+msgstr "Виртуальное устройство хранения данных USB"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:213
+msgid ""
+"The man:cfumass[4] driver is a USB device mode driver first available in "
+"FreeBSD 12.0."
+msgstr ""
+"Драйвер man:cfumass[4] — это драйвер режима USB-устройства, впервые "
+"появившийся в FreeBSD 12.0."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:219
+msgid ""
+"Mass Storage target is provided by templates 0 and 10. Both "
+"man:usb_template[4] and man:cfumass[4] kernel modules must be loaded. "
+"man:cfumass[4] interfaces to the CTL subsystem, the same one that is used "
+"for iSCSI or Fibre Channel targets. On the host side, USB Mass Storage "
+"initiators can only access a single LUN, LUN 0."
+msgstr ""
+"Целевое устройство хранения данных (Mass Storage) предоставляется шаблонами "
+"0 и 10. Необходимо загрузить оба модуля ядра: man:usb_template[4] и "
+"man:cfumass[4]. Модуль man:cfumass[4] взаимодействует с подсистемой CTL, той "
+"же самой, что используется для целевых устройств iSCSI или Fibre Channel. Со "
+"стороны хоста инициаторы USB Mass Storage могут обращаться только к одному "
+"LUN — LUN 0."
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:220
+#, no-wrap
+msgid "Configuring USB Mass Storage Target Using the cfumass Startup Script"
+msgstr "Настройка USB-накопителя с использованием стартового скрипта cfumass"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:224
+msgid ""
+"The simplest way to set up a read-only USB storage target is to use the "
+"[.filename]#cfumass# rc script. To configure it this way, copy the files to "
+"be presented to the USB host machine into the `/var/cfumass` directory, and "
+"add this line to [.filename]#/etc/rc.conf#:"
+msgstr ""
+"Самый простой способ настроить USB-накопитель только для чтения — "
+"использовать скрипт [.filename]#cfumass#. Для этого скопируйте файлы, "
+"которые должны быть доступны на USB-хосте, в директорию `/var/cfumass` и "
+"добавьте следующую строку в [.filename]#/etc/rc.conf#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:228
+#, no-wrap
+msgid "cfumass_enable=\"YES\"\n"
+msgstr "cfumass_enable=\"YES\"\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:231
+msgid "To configure the target without restarting, run this command:"
+msgstr "Для настройки цели без перезагрузки выполните следующую команду:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:235
+#, no-wrap
+msgid "# service cfumass start\n"
+msgstr "# service cfumass start\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:240
+msgid ""
+"Differently from serial and network functionality, the template should not "
+"be set to 0 or 10 in [.filename]#/boot/loader.conf#. This is because the "
+"LUN must be set up before setting the template. The cfumass startup script "
+"sets the correct template number automatically when started."
+msgstr ""
+"В отличие от последовательных и сетевых функций, шаблон не следует "
+"устанавливать в 0 или 10 в [.filename]#/boot/loader.conf#. Это связано с "
+"тем, что LUN должен быть настроен до установки шаблона. Скрипт запуска "
+"cfumass автоматически устанавливает правильный номер шаблона при запуске."
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:241
+#, no-wrap
+msgid "Configuring USB Mass Storage Using Other Means"
+msgstr "Настройка USB-накопителей с использованием других методов"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:245
+msgid ""
+"The rest of this chapter provides detailed description of setting the target "
+"without using the cfumass rc file. This is necessary if e.g. one wants to "
+"provide a writeable LUN."
+msgstr ""
+"Оставшаяся часть этой главы содержит подробное описание настройки цели без "
+"использования файла `cfumass rc`. Это необходимо, например, если требуется "
+"предоставить доступную для записи LUN."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:251
+msgid ""
+"USB Mass Storage does not require the man:ctld[8] daemon to be running, "
+"although it can be used if desired. This is different from iSCSI. Thus, "
+"there are two ways to configure the target: man:ctladm[8], or man:ctld[8]. "
+"Both require the [.filename]#cfumass.ko# kernel module to be loaded. The "
+"module can be loaded manually:"
+msgstr ""
+"USB-накопитель не требует работы демона man:ctld[8], хотя его можно "
+"использовать при необходимости. Это отличается от iSCSI. Таким образом, есть "
+"два способа настройки цели: man:ctladm[8] или man:ctld[8]. Оба способа "
+"требуют загрузки модуля ядра [.filename]#cfumass.ko#. Модуль можно загрузить "
+"вручную:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:255
+#, no-wrap
+msgid "# kldload cfumass\n"
+msgstr "# kldload cfumass\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:258
+msgid ""
+"If [.filename]#cfumass.ko# has not been built into the kernel, [.filename]#/"
+"boot/loader.conf# can be set to load the module at boot:"
+msgstr ""
+"Если модуль [.filename]#cfumass.ko# не встроен в ядро, можно настроить "
+"[.filename]#/boot/loader.conf# для его загрузки при старте системы:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:262
+#, no-wrap
+msgid "cfumass_load=\"YES\"\n"
+msgstr "cfumass_load=\"YES\"\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:265
+msgid "A LUN can be created without the man:ctld[8] daemon:"
+msgstr "LUN может быть создан без использования демона man:ctld[8]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:269
+#, no-wrap
+msgid "# ctladm create -b block -o file=/data/target0\n"
+msgstr "# ctladm create -b block -o file=/data/target0\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:274
+msgid ""
+"This presents the contents of the image file [.filename]#/data/target0# as a "
+"LUN to the USB host. The file must exist before executing the command. To "
+"configure the LUN at system startup, add the command to [.filename]#/etc/"
+"rc.local#."
+msgstr ""
+"Это предоставляет содержимое файла образа [.filename]#/data/target0# как LUN "
+"для USB-хоста. Файл должен существовать до выполнения команды. Чтобы "
+"настроить LUN при загрузке системы, добавьте команду в [.filename]#/etc/"
+"rc.local#."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:277
+msgid ""
+"man:ctld[8] can also be used to manage LUNs. Create [.filename]#/etc/"
+"ctl.conf#, add a line to [.filename]#/etc/rc.conf# to make sure man:ctld[8] "
+"is automatically started at boot, and then start the daemon."
+msgstr ""
+"man:ctld[8] также может использоваться для управления LUN. Создайте файл "
+"[.filename]#/etc/ctl.conf#, добавьте строку в [.filename]#/etc/rc.conf#, "
+"чтобы убедиться, что man:ctld[8] автоматически запускается при загрузке, а "
+"затем запустите демон."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:280
+msgid ""
+"This is an example of a simple [.filename]#/etc/ctl.conf# configuration "
+"file. Refer to man:ctl.conf[5] for a complete description of the options."
+msgstr ""
+"Вот пример простого файла конфигурации [.filename]#/etc/ctl.conf#. Полное "
+"описание параметров можно найти в man:ctl.conf[5]."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:289
+#, no-wrap
+msgid ""
+"target naa.50015178f369f092 {\n"
+"\tlun 0 {\n"
+"\t\tpath /data/target0\n"
+"\t\tsize 4G\n"
+"\t}\n"
+"}\n"
+msgstr ""
+"target naa.50015178f369f092 {\n"
+"\tlun 0 {\n"
+"\t\tpath /data/target0\n"
+"\t\tsize 4G\n"
+"\t}\n"
+"}\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:296
+msgid ""
+"The example creates a single target with a single LUN. The "
+"`naa.50015178f369f092` is a device identifier composed of 32 random "
+"hexadecimal digits. The `path` line defines the full path to a file or zvol "
+"backing the LUN. That file must exist before starting man:ctld[8]. The "
+"second line is optional and specifies the size of the LUN."
+msgstr ""
+"Пример создает одну цель с одним LUN. `naa.50015178f369f092` — это "
+"идентификатор устройства, состоящий из 32 случайных шестнадцатеричных цифр. "
+"Строка `path` определяет полный путь к файлу или zvol, который используется "
+"для LUN. Этот файл должен существовать до запуска man:ctld[8]. Вторая строка "
+"необязательна и указывает размер LUN."
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:298
+msgid ""
+"To make sure the man:ctld[8] daemon is started at boot, add this line to "
+"[.filename]#/etc/rc.conf#:"
+msgstr ""
+"Чтобы убедиться, что демон man:ctld[8] запускается при загрузке, добавьте "
+"следующую строку в [.filename]#/etc/rc.conf#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:302
+#, no-wrap
+msgid "ctld_enable=\"YES\"\n"
+msgstr "ctld_enable=\"YES\"\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:305
+msgid "To start man:ctld[8] now, run this command:"
+msgstr "Чтобы запустить man:ctld[8] сейчас, выполните следующую команду:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:309
+#, no-wrap
+msgid "# service ctld start\n"
+msgstr "# service ctld start\n"
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:313
+msgid ""
+"As the man:ctld[8] daemon is started, it reads [.filename]#/etc/ctl.conf#. "
+"If this file is edited after the daemon starts, reload the changes so they "
+"take effect immediately:"
+msgstr ""
+"При запуске демона man:ctld[8] он читает файл [.filename]#/etc/ctl.conf#. "
+"Если этот файл отредактирован после запуска демона, перезагрузите изменения, "
+"чтобы они вступили в силу немедленно:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/usb-device-mode/_index.adoc:317
+#, no-wrap
+msgid "# service ctld reload\n"
+msgstr "# service ctld reload\n"