USB Port Speed Linux [closed]

心已入冬 提交于 2019-12-07 03:49:39

问题


How to programatically determine the usb port speed in embedded devices running the Linux kernel?


回答1:


You can read /sys/bus/usb/devices/usb?/speed - it'll give you the bus speed of the root hub(s) in Mbps: either 1.5, 12, 480 or 5000. The first two indicate USB1 (low speed or full speed), the third USB2 and the fourth USB3.




回答2:


This rather depends on were the code that needs the information is running. If you want to modify a kernel USB device drivers behavior based on connection speed then the usb_device struct that passed to the driver by the USB subsystem contains a speed enumeration. If you want an application in user space to detect the devices connection speed then try walking the /sys/bus/usb tree you should be able to identify your USB device by checking the idProduct and idVendor entries. Once you have a match then the speed entry will give you what you need. If you have multiple devices connected then you might need to figure a way to match USB id to specific device. Generally USB to device mappings vary on any hot plug support present whether the device supplies a serial number and the sub system that abstracts the functionality provided by the USB device.



来源:https://stackoverflow.com/questions/1957589/usb-port-speed-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!