7

Ядро 3.5 представляет:

Этот выпуск включает драйвер для использования соединения IEEE-1394 в качестве транспорта SCSI. Это позволяет предоставлять устройства SCSI другим узлам на шине Firewire, например жестким дискам. Эта функция аналогична режиму целевого диска Firewire на многих компьютерах Apple.

В этом выпуске также добавлен драйвер USB-гаджета, который делает то же самое с USB. Драйвер поддерживает два поддерживаемых протокола USB: BBB или BOT (только для групповой передачи) и UAS (SCSI с USB-подключением). BOT объявляется на альтернативном интерфейсе 0 (основной), а UAS - на альтернативном интерфейсе 1. Оба протокола могут работать на USB 2.0 и USB 3.0. UAS использует функцию USB 3.0, называемую поддержкой потоков.

http://kernelnewbies.org/Linux_3.5

У меня есть Arch Linux с ядром 3.5.3-1 и я хочу попробовать эту функцию.

2 ответа2

4

FireWire - это одноранговая архитектура, поэтому все, что требуется для того, чтобы компьютер притворился жестким диском, - это какое-то программное обеспечение.

USB, с другой стороны, строго различает хост (ПК) и устройства. Может ли ваше оборудование работать как хост или как устройство (или и то, и другое, в случае USB-On-The-Go), зависит от того, для чего предназначен интерфейсный чип USB.

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

Единственный шанс запустить этот код - использовать какое-либо встроенное устройство, например, маршрутизатор, сетевое хранилище или телефон.

2

Из кода под этим сообщением вы можете увидеть патчи. То, что актуально для вас:

--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -798,6 +798,16 @@ config USB_MASS_STORAGE
          Say "y" to link the driver statically, or "m" to build
          a dynamically linked module called "g_mass_storage".

+config USB_GADGET_TARGET
+       tristate "USB Gadget Target Fabric Module"
+       depends on TARGET_CORE
+       help
+         This fabric is an USB gadget. Two USB protocols are supported that is
+         BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is
+         advertised on alternative interface 0 (primary) and UAS is on
+         alternative interface 1. Both protocols can work on USB2.0 and USB3.0.
+         UAS utilizes the USB 3.0 feature called streams support.
+
 config USB_G_SERIAL
        tristate "Serial Gadget (with CDC ACM and CDC OBEX support)"
        help

Это показывает, что USB_GADGET_TARGET был добавлен, если вы включите эту опцию в вашем ядре и перекомпилируете / переустановите ядро, то вы сможете использовать целевой режим в Linux с USB. Обратите внимание, что вы также должны включить TARGET_CORE .

Более подробную информацию можно найти по адресу:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .