Get USB ID of a serial port through pyserial?
Tim Golden
mail at timgolden.me.uk
Thu Mar 31 10:54:49 EDT 2011
On 30/03/2011 20:01, John Nagle wrote:
> Is there some way to get the USB ID of a serial port through
> pyserial on Linux and/or Windows? USB serial port devices have
> device names determined by when they were plugged in. So, if
> you have more than one USB serial device, you need the USB device's
> built-in ID to figure out what's out there.
>
> Is there a way to get that info portably?
I appreciate that you're after a portable solution and are
using pyserial, but since no-one's responded (publicly), then
let me at least offer a WMI solution which should work on
Windows:
<code>
import win32com.client
wmi = win32com.client.GetObject ("winmgmts:")
for usb in wmi.InstancesOf ("Win32_USBHub"):
print usb.DeviceID
</code>
Now, that shows that WMI can "see" USB devices, but to
get from that database record to something more physical,
such as a disk drive or a COM port usually involves a
merry dance across the WMI namespace, essentially joining
to successive entity classes until you reach the one you
want.
If you think this might be worth pursuing for your case,
feel free to get back and ask.
TJG
More information about the Python-list
mailing list