【问题标题】:How to set bus number of usb device in linux如何在linux中设置usb设备的总线号
【发布时间】:2019-02-05 18:03:32
【问题描述】:

我有两个罗技网络摄像头,当我将它们插入英特尔 NUC 的任何 USB 端口时,它们总是在总线 002 上结束。 这是一个问题,因为总线 002 没有足够的带宽来支持两个高帧速率的网络摄像头。

有没有办法将其中一个网络摄像头强制到不同的总线上?

当我插入其他 USB 设备时,它们最终在总线 001 上。这表明总线选择不是由 USB 端口定义的,而是由驱动程序或 USB 控制器内部的某种魔法定义的?有没有办法影响这种行为?

【问题讨论】:

  • 您确定将其他设备插入 same USB 端口并最终连接到 不同 总线上吗?这似乎不太可能,但可能是因为其他设备以不同的速度运行或其他原因,所以主机认为它是不同的总线,因为它们永远不会看到发往您的网络摄像头的数据包。
  • 总线用于不同的 USB 速度。超高速设备总是在总线 002 上结束,而其他一切都在总线 001 上结束。这似乎是英特尔 USB 控制器的“功能”。我不需要超高速带宽,因此将其中一个摄像机移动到另一条总线的方法可以解决我的问题。某处的uvc驱动程序似乎也存在问题。分辨率降低到 320x240 时,它也不起作用:/
  • 所以你的相机速度超快?您可以尝试在相机和计算机之间放置一个仅高速集线器,以强制它使用较低的速度。
  • 是的!解决了它。虽然它是一个丑陋的解决方法。同样在高速下,摄像头驱动程序似乎表现得更好,我可以将两个摄像头都放在高速集线器上,它仍然可以工作......

标签: linux usb


【解决方案1】:

好的,我找到了解决方案。 总线用于不同的 USB 速度。超高速设备总是在总线 002 上结束,而其他一切都在总线 001 上结束。因此,要在总线 001 上强制使用 usb3.0 设备,我必须将其转换为 usb2.0 设备。这是通过在 usb3.0 设备和 usb 端口之间连接一个 usb2.0 集线器来完成的 :-) 哈克但有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2013-12-12
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多