diff options
Diffstat (limited to 'documentation/content/ru/books/handbook/usb-device-mode')
| -rw-r--r-- | documentation/content/ru/books/handbook/usb-device-mode/_index.adoc | 268 | ||||
| -rw-r--r-- | documentation/content/ru/books/handbook/usb-device-mode/_index.po | 692 |
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" |
