连接设备时强制使用 USB 3.0

连接设备时强制使用 USB 3.0

我有一台相机,希望在连接到计算机时将其检测为 USB 3.0 设备。有时,如果我插入 USB 电缆的速度不够快,相机就会被注册为 USB 2 设备。这种情况发生在多个摄像机和多条高质量电缆上。解决办法是拔掉重新插上,直到识别为3.0。我想知道是否有办法确保它始终被识别为 USB 3.0,例如通过 modprobe 或 udev 规则。我不是其中任何一个的专家。

答案1

在 USB A 型插头中,四个明显的接触垫用于经典的 USB 2.x 速度。对于更高的 USB 3.x 速度,还有一组额外的 5 个触点。它们隐藏在插头深处:在插座一侧,在插座的“舌尖”上,它们更加明显。

插头或插座内的任何污垢最终都可能会干扰“超高速”触点,同时允许经典 USB 2.x 触点仍然工作:经典触点在每次插入/拔出时都会进行擦拭操作,而 3.x 触点在每次插入/拔出时都会进行擦拭操作。 x 触点基本上只是相互推挤。这也意味着,如果插头稍微歪斜或未完全就位,3.x 连接也可能会失败。

由于您已尝试过多个相机和电缆,请仔细检查 USB 插座是否有污垢或损坏。

由于 USB 3.0 设备的检测涉及一组完全不同的电线,因此没有纯软件解决方案可以进行连接切换到USB 3.0。您也许可以制定 udev 规则来拒绝与设备的 USB 2.0 模式连接,但除非 USB 3.0 触点成功连接,否则该设备将根本无法工作。

这样的 udev 规则类似于:

# Deauthorize a USB device with vendor/productID xxxx:yyyy if it connects as USB 2
SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", ATTR{idProduct}=="yyyy", ATTR{speed}=="480", ATTR{authorized}="0"

这并不完全是您所希望的,但它仍然可能有助于使连接速度问题在发生时更加明显。

相关内容