2017-02-10 3 views
4

저는 Windows 7과 Python 3.5를 사용하고 있습니다. 일단 USB 스틱이 연결되면 내 포트의 버전 (2.0, 3.0, 3.1)과 USB 스틱이 지원하는 USB 버전을 구분해야합니다. 의견을 보내 주시면 감사하겠습니다.Windows에서 USB 포트 버전을 확인하는 방법은 무엇입니까?

+0

테스트 속도가 충분히 안정적이지 않은 아이디어 –

+0

일 수 있습니다. 나는 저속 USB 스틱을 얻을 수 있고 그것을 2.0으로 생각할 수있다. 또한 시간이 필요합니다. 가장 좋은 방법은 WMI 쿼리와 같은 smth를 사용하는 것입니다. – wolfich

+0

이 정보를 수집 한 후에 당신은 무엇을 할 것입니까? – WhatsThePoint

답변

1

Microsoft에서 USBView을 확인해야합니다.

Windows API를 사용하여 각 USB 포트 및 각 장치에 대한 정보를 가져 와서 표시합니다. 이 정보에는 USB 포트가 지원하는 속도와 장치가 사용하는 속도가 포함됩니다.

당신은 GUI로 실행하거나 당신이 텍스트 파일에 데이터를 저장하기 위해이 같은 인수를 실행할 수 있습니다 정보를 보여주는 여기

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에서 미리 컴파일 된 바이너리를 찾을 수도 있습니다.

가장 쉬운 방법은 Python 프로그램에서 USBView를 실행하고 텍스트 출력을 구문 분석하는 것입니다. 또 다른 옵션은 source code for USBView을보고 어떤 식 으로든 파이썬으로 변환하거나 파이썬 C 확장을 만드는 것입니다.

+0

작동하는 솔루션처럼 보입니다. 감사. – wolfich

관련 문제