Вы можете прочитать /sys/bus/usb/devices/usb?/speed
- это даст вам скорость корневого хаба (ов) в Мбит/с: либо 1.5, 12, 480, либо 5000. Первые два указывают на USB1 (низкая скорость или полная скорость), третий USB2 и четвертый USB3.
Это зависит, скорее, от того, запущен ли код, которому нужна информация. Если вы хотите изменить поведение драйверов USB-устройств ядра на основе скорости соединения, то структура usb_device, переданная подсистемой USB драйверу, содержит перечисление скоростей. Если вы хотите, чтобы приложение в пользовательском пространстве определяло скорость соединения устройств, то попробуйте пройтись по дереву /sys/bus/usb, и вы сможете определить ваше USB устройство, проверив записи idProduct и idVendor. Как только у вас есть совпадение, то скорость запись даст вам то, что вам нужно. Если у вас несколько подключенных устройств, то вам, возможно, понадобится найти способ сопоставить USB id с конкретным устройством. Обычно сопоставления USB и устройств различаются в зависимости от того, поставляет ли устройство серийный номер, а также от подсистемы, которая абстрагируется от функциональности, предоставляемой устройством USB.