9

如何以编程方式确定运行 Linux 内核的嵌入式设备中的 USB 端口速度?

4

2 回答 2

26

您可以阅读/sys/bus/usb/devices/usb?/speed- 它会为您提供以 Mbps 为单位的根集线器的总线速度:1.5、12、480、5000 或 10000。前两个表示 USB1(低速或全速),第三个 USB2 和第四个和第五个USB3。

于 2009-12-25T23:31:21.153 回答
1

这取决于需要信息的代码是否正在运行。如果要根据连接速度修改内核 USB 设备驱动程序的行为,则 USB 子系统传递给驱动程序的 usb_device 结构包含速度枚举。如果您希望用户空间中的应用程序检测设备连接速度,请尝试遍历 /sys/bus/usb 树,您应该能够通过检查 idProduct 和 idVendor 条目来识别您的 USB 设备。一旦您进行了比赛,那么速度输入将为您提供所需的内容。如果您连接了多个设备,那么您可能需要想办法将 USB id 与特定设备匹配。通常,USB 到设备的映射取决于设备是否提供序列号以及抽象 USB 设备提供的功能的子系统是否支持任何热插拔支持。

于 2010-01-02T20:51:45.347 回答