如何在带有 USB 的 Linux 中使用目标模式?

das*_*291 7 linux usb

内核 3.5 引入:

此版本包含一个驱动程序,用于将 IEEE-1394 连接用作 SCSI 传输。这允许将 SCSI 设备暴露给 Firewire 总线上的其他节点,例如硬盘驱动器。它的功能类似于许多 Apple 计算机上的 Firewire 目标磁盘模式。

此版本还添加了一个与 USB 相同的 USB-gadget 驱动程序。该驱动程序支持两种 USB 协议,即 BBB 或 BOT(仅批量传输)和 UAS(USB 连接 SCSI)。BOT 在备用接口 0(主要)上发布,UAS 在备用接口 1 上发布。这两种协议都可以在 USB 2.0 和 USB 3.0 上工作。UAS 利用称为流支持的 USB 3.0 功能。

http://kernelnewbies.org/Linux_3.5

我有一个内核为 3.5.3-1 的 Arch Linux,我想试试这个功能。

Tam*_*man 3

从该消息下的代码中,您可以看到补丁。与您相关的是:

--- 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
Run Code Online (Sandbox Code Playgroud)

这说明USB_GADGET_TARGET已经添加了,如果您在内核中启用此选项并重新编译/重新安装内核,那么您将能够在带有 USB 的 linux 中使用目标模式。TARGET_CORE请注意,您还必须启用。

更多信息请访问: