我有 Debian 11 作为主机操作系统和 Windows 10 作为客户操作系统。
在大多数情况下,USB 直通效果很好。例如,当我将 USB 笔式驱动器传递给客户机时。
但在极少数情况下,它根本不起作用。然后我切换到真正的 Windows 10 PC,它就可以正常工作了。
昨天我又遇到了这种情况。我想更新一下固件Kaico N64 HDMI 适配器。
固件更新程序显示设备已连接。但当我点击“更新”时,进度条根本没有填满。在真正的 Windows 10 PC 上,它可以正常工作。
因为我以前遇到过类似的情况,所以我认为这个特定的 HDMI 适配器没有问题。相反,我认为这是 VirtualBox 的问题。
我知道问题可能出在哪里。
当我连接 USB 设备时,我的主机操作系统 (Debian) 会在设备通过之前与该设备通信。它会初始化设备或检索元信息(如存储大小、设备名称等)。
现在,当我通过该设备并且 Windows 与其通信时,它并非毫发无损。Debian 已经向该设备发送了命令。因此,这肯定是导致错误的原因之一。
我知道可以在 VirtualBox 中保存 USB 设备以进行自动传递。但这并不意味着 Debian 之前不会与它们通信。也许 VirtualBox 只是“非常快速地”传递它们。我不确定。
是否有可能阻止 Debian 在传递之前与设备通信?
也许我应该通过 USB PCIe 主机控制器?或者是否可以在 Debian 下将 USB 设备列入黑名单,以便它不会与其通信?有什么想法吗?