某些应用程序模拟虚拟 USB 或 CD Rom 驱动器,就像 USB 驱动器连接到计算机一样。
有没有提供虚拟USB驱动器的配置或应用程序,不是为操作系统本身,而是通过USB端口接受USB驱动器的其他设备。
因此,我将*.vdi
在计算机中有一个虚拟硬盘(例如文件),它通过 USB 插座作为 USB 驱动器连接到某些其他设备(例如手机或笔记本电脑)。
Mat*_*son 22
编辑:虽然这个答案当时是正确的(有一些罕见的例外),但从那时起有了更多的发展。例如,我们现在有 USB-C,它支持设备和主机模式。许多设备 - 特别是 SBC - 带有 USB-C 和可以在两种模式下运行的控制器。主要问题仍然主要在 Windows PC 端,那里缺少任何带有操作系统的 USB-C 设备模式驱动程序。然而,Linux确实包含 USB-C 设备模式驱动程序(又名“USB Gadget”驱动程序 - 尽管如果它们尚未包含在您的发行版中,您可能需要编译自定义内核。)
您需要向计算机添加 USB 设备/外设控制器,而不是它们通常附带的 USB 主机控制器。
像这样:https : //www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3420E.html
不幸的是,您必须找到一种方法将其连接到主板上。从技术上讲,这是可以做到的。实际上,您必须重新设计主板以包含它。您可能很幸运地在主板上的某处找到暴露的 SPI 或 I2C 总线以允许您添加它,但它们通常直接连接到它们正在使用的任何地方,除非您使用的是开发板或单-带有外露 GPIO 和其他端口(例如 Raspberry Pi)的板载计算机。
另一种选择是 USB On-the-Go 控制器。专为嵌入式和便携式设备设计的主板往往有一个 USB OTG (On-the-go) 控制器,它可以用作主机或设备控制器。例如,前面提到的 Raspberry Pi 有一个 On-the-Go 控制器,但除 Pi Zero 之外的所有型号都重新连接到主机端口或板载 USB 集线器,拒绝使用 USB 设备功能。BeagleBone Black 有一个 OTG 端口。
但这还不是全部——一旦你有了硬件,你还需要软件。Linux 有一些有用的内核 USB 小工具驱动程序(“USB 小工具”是 USB 外围设备/设备的另一个术语),例如g_serial和 g_ethernet,它们允许您将设备插入另一台计算机并作为串行或以太网 USB 设备可见(还有其他用于将设备公开为大容量存储的方法,它允许您将文件用作块设备并将计算机公开为大容量存储小工具)。BeagleBone Black 往往默认启用此功能,因此您可以简单地通过 USB 将其插入您的 PC 并将其视为联网设备 - 我相信它也可以通过使用复合驱动程序(允许它通过单个连接显示为多种 USB 设备类型。 Pi Zero 可以使用这些,但默认情况下不会。对于 Windows 或其他操作系统,您可能必须自己编写该设备驱动程序。
所以,理论上,你可以做到。你可以拆掉你的台式电脑,试着在主板上的某个地方找到一条未使用的兼容总线(很可能是控制器 IC 上一些未使用的引脚),或者一种扩展内部 I2C 或 SPI 总线的方法,或者一些你可以拆掉的东西更换并焊接 USB OTG 或设备控制器芯片。然后您可以安装 Linux 并使用小工具驱动程序,或者为另一个操作系统编写自己的驱动程序。实际上,除非您是一流的电子工程师,否则您将无法做到这一点。至少,直到有人拿出那个带有设备或 OTG 端口的难以捉摸的适配器来插入 USB 端口(理论上,这可以通过连接到一对 USB 设备控制器 IC 的 Arduino 等微控制器来完成),并编写驱动程序来运行它。
Gil*_*il' 11
USB 是不对称的:一侧是主机,另一侧是外围设备。您不能让外围设备充当主机,反之亦然。USB 端口可以充当任一侧;这称为USB on-the-go并且存在于某些手机和平板电脑上。这些端口是物理上的设备类型端口,而不是主机类型端口。我从未见过带有设备端口的 PC。这需要控制器上的电子设备,制作两端都适合的电缆是不够的。
所以不,您将无法将 PC 变成 USB 设备。
如果您想将计算机用作 USB 存储设备,您可以使用具有 USB 连接的手机或平板电脑,而不是使用 PC。
我确实希望人们不要再重复错误的说法,即所有个人计算机都缺乏充当 USB 设备/从设备/小工具/任何东西的硬件。我可以证明事实并非如此。我的第一个例子是所有带有 USB-C 端口的 Apple Mac 计算机都能够进入 USB-C 从属模式。这称为“目标磁盘模式”,并在此处记录:https : //support.apple.com/en-us/HT201462
这是暂时将 2000 美元的笔记本电脑变成 200 美元的 USB-C 驱动器的功能。为什么要这样做?这样人们就可以在一台无法启动的 Mac 上修复驱动器。这是如何运作的?它之所以有效,是因为 Apple 在他们的计算机中使用了 USB-C 芯片,该芯片能够充当 USB 从设备/设备/任何东西,并安装了一些固件以允许此功能。这种芯片并不是苹果电脑独有的,许多其他电脑制造商也使用了这种芯片。
有更多证据表明,大多数带有 USB-C 端口的笔记本电脑还具有充当 USB 从设备/设备所需的硬件。拿一台使用 USB-C 供电和充电的笔记本电脑,获得一个 USB-C 到 USB-C,获得另一台运行 Windows 的带有 USB-C 端口的计算机。现在,使用 USB-C 电缆将笔记本电脑连接到 Windows 计算机并检查设备管理器中是否有新设备。如果笔记本电脑正在从 Windows 计算机获取电源,那么您应该在设备管理器中看到笔记本电脑在设备列表中显示为“USB 广告牌设备”。这是用作 USB 设备的笔记本电脑。它必须作为具有 USB Power Delivery 功能的主机(例如 USB-C 电源砖)的设备出现,才能吸收超过 5 瓦的功率。还有其他方法可以检查这一点,因此请根据您的首选操作系统或其他任何方式调整过程。
为什么没有更多的操作系统发行商使用此功能来为笔记本电脑充电?这是个好问题。这是我长期以来一直想回答的问题。
有些人致力于扩展 Linux 系统作为 USB 设备的能力。它现在适用于各种 USB 虚拟设备,但设置起来并不简单。我希望有一天能更好地支持此功能,并且用户希望它能够简单、轻松地工作,并具有我们期望从 USB 3.x 设备获得的高性能。
在大多数具有 USB-C 端口的计算机中,计算机的硬件已经可以充当 USB 设备,我们只需要更多的人来编写软件,使其成为普通用户(甚至略高于普通用户)可以设置的东西- 和使用。
归档时间: |
|
查看次数: |
66325 次 |
最近记录: |