Windows PC 作为 USB 从设备来模拟拇指驱动器

Posted

技术标签:

【中文标题】Windows PC 作为 USB 从设备来模拟拇指驱动器【英文标题】:Windows PC as a USB slave to emulate a thumbdrive 【发布时间】:2010-10-15 11:53:12 【问题描述】:

我需要创建一个允许 Windows PC (XP/Vista) 模拟拇指驱动器的应用程序。也就是说,当 PC 插入另一个 Windows 系统时,或者在这种情况下,当插入一个允许插入 USB 拇指驱动器的硬件时,计算机上的一个文件夹看起来就像一个巨大的拇指驱动器。关于一个人会从哪里开始调查这个的任何想法?

更新(更具体的描述): 我需要将我的 PC 连接到支持扫描到插入设备前面的 USB 拇指驱动器的较新的多功能设备之一。这些设备不支持通过通常用于连接 PC 的背面 USB 连接器的 WIA 或 TWAIN。

【问题讨论】:

您是在寻求一种在您自己的系统上执行此操作的方法(如用于测试目的),还是您更多的是在询问您的软件如何在目标系统上执行此操作 【参考方案1】:

普通电脑中的大多数 USB 控制器都无法用作 USB 从设备。所以我会先调查你要使用什么样的硬件。

另一种方法:有 USB Link 电缆可以通过 USB 连接 2 台电脑,也许这对你有用?

【讨论】:

“USB Link 电缆”基本上是 2 个 USB 转以太网适配器,它们之间有 Cat5。因此,每侧需要两个 USB 主控器。 这可能会很好,因为他的“客户端设备”是一台 PC(通常扮演主机的角色),而他的主机设备是扫描仪(它有一个能够从 USB 读取的主芯片组) 但是扫描仪可能不喜欢那种电缆......【参考方案2】:

您不能在应用程序中执行此操作。在最低级别,计算机上的 USB 端口由主机控制器接口控制。该芯片将管理多达 127 个从 USB 设备。在实现 USB 协议的从属端之前,您需要认真重新编程该芯片。当然,此时您 PC 中的任何 USB 集线器都会出现故障 - 您可能拥有的这 8 个 USB 端口通常由连接到 USB1 和 USB2 主机控制器的 2 个智能 USB 集线器实现。接下来,您的 USB 键盘和鼠标将停止工作。

【讨论】:

【参考方案3】:

以带有两个从 USB 的 MCU 为例。编写一个简单的固件,使一个 USB 充当特殊设备类,并等待此 USB 上的 PC 为另一个 USB 提供强制性数据(当然包括设备类)。编写一个连接到特殊设备(您的 MCU)的 PC 程序,上传大容量存储设备类并将 I/O 重定向到专用分区。 MCU 上的另一个 USB 将成为模拟的海量存储设备。

其中一些代码可以取自 Linux。

【讨论】:

以上是关于Windows PC 作为 USB 从设备来模拟拇指驱动器的主要内容,如果未能解决你的问题,请参考以下文章

使用远程主机的 USB 端口作为本地 USB(Linux 和 Windows)[关闭]

使用远程主机的 USB 端口作为本地 USB(Linux 和 Windows)[关闭]

列出连接到 Windows PC 的所有 USB 音频耳机

从USB Virtual Com Port设备检测打开的PC COM端口

USB是啥意思?

求救!!usb hid设备(模拟键盘)遇到的问题