使用Linux模拟USB驱动器?

使用Linux模拟USB驱动器?

有什么方法可以使用我所说的 PC-A 作为第二台 PC PC-B 的 USB 设备吗?

IE

PC-A <<-- 双公 USB 电缆 --> PC-B

我希望实现的结果是,PC-A 上的各种目录或图像在连接时显示为 PC-B 的 USB 驱动器,并且能够在需要时更改目录,并在 PC-B 上显示为不同的 USB 驱动器插入。另外,作为我的问题的延伸,我是否可以实现类似的结果,但模拟 USB 鼠标或键盘,或者通过所述接口将鼠标和键盘从 PC-A 转发到 PC-B?

PC-B 将是我正在测试的任意数量的旧 PC 之一。理想情况下,PC-A 是一种简化流程或实现流程自动化的方法。

我也只是好奇是否可以这样做,因为我无论如何都喜欢尝试开箱即用的东西,即使最终结果对于我的用例来说并不实用。 :P

答案1

正如 @slm 已经指出的那样,你通常不能这样做。 PC 上的 USB 端口不是“简单”的串行端口。为了支持更高的速度,处理 USB 端口流量的 IC 包含对于普通 PC 而言限制设备成为“主设备”的逻辑或者沟通中的“奴隶”。

您的电脑将具有“主逻辑”,并且它们无法相互通信。

有一些 USB IC 可以编程为“主”或“从”(我的一台 Arduino 设备上有一个,但这些芯片更昂贵,并且在普通 PC 上找不到它们。

这种“主”/“从”区别也是为什么例如我的汽车导航设备(具有 USB 连接并运行 Linux)无法对(从)USB 端口执行任何操作,而是进入被动模式以接收更新的原因我的电脑。它无法控制外部硬盘驱动器或任何东西。

我认为,但我没有这方面的参考资料,这种区别是 USB 电缆上有不同连接器的原因之一(除了希望手机/蓝牙耳机上的连接器比 PC 上的连接器更小之外)。

答案2

如果根本问题是在两台 PC 之间共享文件,您应该认真考虑将两台计算机联网(确实很简单),然后使用 NFS 在两个系统之间共享文件系统。

也可以登录到任一系统。

您可以执行诸如运行 X 窗口系统或 VNC 之类的操作,具体取决于您希望如何共享系统。

我会担心使用 USB 设备,因为我遇到了一些重大问题,设备和/或驱动程序如何导致有问题且有时令人沮丧的问题。

相关内容