You can download this code by clicking the button below.
This code is now available for download.
This function is used to discover all connected USB devices and return detailed information for each device, including device description, interface description, vendor ID, product ID, and configuration value.
Technology Stack : PyUSB
Code Type : The type of code
Code Difficulty :
import usb.core
import usb.util
def discover_usb_devices():
"""
Discover all connected USB devices and return their information.
"""
# Discover all USB devices
devices = usb.core.find(find_all=True)
# Prepare a list to hold device information
device_info_list = []
# Iterate over each device
for device in devices:
# Get device description
device_desc = device.get_description()
# Get device configuration
configurations = device.get_active_configuration()
# Iterate over each configuration
for configuration in configurations:
# Iterate over each interface in the configuration
for interface in configuration:
# Get interface description
interface_desc = interface.get_description()
# Create a dictionary with device information
device_info = {
"vendor_id": device.idVendor,
"product_id": device.idProduct,
"device_desc": device_desc,
"interface_desc": interface_desc,
"configuration": configuration.bConfigurationValue
}
# Append device information to the list
device_info_list.append(device_info)
# Return the list of device information
return device_info_list