Files
pylibibuddy/contrib/usbenum.py

40 lines
1.6 KiB
Python

#!/usr/bin/env python
#
# usbenum.py: enumerate usb devices using pyusb module
# from http://wiki.erazor-zone.de/wiki:projects:python:pyusb:setup:examples:usbenum
# copyright 2005 Wander Lairson Costa
import usb
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print('Device:', dev.filename)
print(' Device class:',dev.deviceClass)
print(' Device sub class:',dev.deviceSubClass)
print(' Device protocol:',dev.deviceProtocol)
print(' Max packet size:',dev.maxPacketSize)
print(' idVendor:',dev.idVendor)
print(' idProduct:',dev.idProduct)
print(' Device Version:',dev.deviceVersion)
for config in dev.configurations:
print(' Configuration:', config.value)
print(' Total length:', config.totalLength)
print(' selfPowered:', config.selfPowered)
print(' remoteWakeup:', config.remoteWakeup)
print(' maxPower:', config.maxPower)
for intf in config.interfaces:
print(' Interface:',intf[0].interfaceNumber)
for alt in intf:
print(' Alternate Setting:',alt.alternateSetting)
print(' Interface class:',alt.interfaceClass)
print(' Interface sub class:',alt.interfaceSubClass)
print(' Interface protocol:',alt.interfaceProtocol)
for ep in alt.endpoints:
print(' Endpoint:',hex(ep.address))
print(' Type:',ep.type)
print(' Max packet size:',ep.maxPacketSize)
print(' Interval:',ep.interval)