Как определить версию порта USB в Windows?

Я запускаю Windows 7 и Python 3.5. Как только USB-накопитель подключен, моя цель – определить, к какой версии порта (2.0, 3.0, 3.1) подключена и какая версия USB поддерживается USB-накопителем. Любые мысли оцениваются.

One Solution collect form web for “Как определить версию порта USB в Windows?”

Вы должны посмотреть на USBView от Microsoft.

Он использует Windows API для получения информации о каждом USB-порту и каждом устройстве и отображает его. Эта информация включает в себя скорость, с которой поддерживает USB-порт и скорость его использования.

Вы можете запустить его как графический интерфейс или запустить его с таким аргументом, чтобы сохранить его данные в текстовом файле:

usbview /saveall:usb.txt 

Вот фрагмент текстового вывода, содержащий информацию, которую вы интересуете для моей USB-гарнитуры:

 Is Port User Connectable: yes Is Port Debug Capable: no Companion Port Number: 1 Companion Hub Symbolic Link Name: USB#VID_0451&PID_8046#5&16bdd27b&0&22#{f18a0e88-c30c-11d0-8815-00a0c906bed8} Protocols Supported: USB 1.1: yes USB 2.0: yes USB 3.0: no Device Power State: PowerDeviceD0 ---===>Device Information<===--- English product name: "Logitech G930 Headset" ConnectionStatus: Current Config Value: 0x01 -> Device Bus Speed: Full (is not SuperSpeed or higher capable) Device Address: 0x09 Open Pipes: 1 

USBView является открытым исходным кодом, и для него есть даже пакет MSYS2 , поэтому вы можете попробовать его, не компилируя ничего. Возможно, вы также сможете найти прекомпилированный двоичный файл от Microsoft.

Самый простой путь – запустить USBView из вашей программы Python и проанализировать его вывод текста. Другой вариант – посмотреть исходный код USBView и каким-то образом преобразовать его в Python или сделать из него расширение Python C.

  • Почему я получаю сообщение об ошибке на последней строке установки Pylons 1.0 с easy_install и Python 2.7 в Windows Vista 64?
  • В сценариях оболочки Windows (cmd.exe) как вы назначаете stdout программы переменной окружения?
  • 32-разрядные ограничения памяти Python на 64-битных окнах
  • Почему virtualenv на Windows не связывает файлы .py / .pyw / .pyo / .pyc с версией исполняемых файлов на виртуальном языке версии Python?
  • rpy2 установить на windows 7
  • Установка пакета Ephem в Python 3
  • scipy.sparse.linalg.spsolve удивительное поведение для больших разреженных матриц на Linux-системах
  • Windows XP - автоматически отключает звук / отключает звук в Python
  • Как получить доступ к серверу разработки бутылок с другого ПК в локальной сети?
  • Python ctypes и недостаточно аргументов (отсутствует 4 байта)
  • Вывод пакетного файла Piping на скрипт Python
  • Python - лучший язык программирования в мире.