a1ien / rusb

A safe Rust wrapper for libusb.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Get Usb Devices Vendor, Model and Serial Number

eribol opened this issue · comments

In example, i just get some number of devices but i need actualy manufacturer name, product name, serial number. I think i miss something but i do not know what.
This what i want

S:  Product=TransMemory
S:  SerialNumber=0022CFF6B89AC39143138CEF

but instead i get this;

  bcdUSB              2.00
  bDeviceClass        0x09
  bDeviceSubClass     0x00
  bDeviceProtocol     0x01
  bMaxPacketSize0       64
  idVendor          0x1d6b
  idProduct         0x0002
  bcdDevice           6.05
  iManufacturer          3 
  iProduct               2 
  iSerialNumber          1 
  bNumConfigurations     1
  Config Descriptor:
    bNumInterfaces         1
    bConfigurationValue    1
    iConfiguration         0 
    bmAttributes:
      Self Powered      true
      Remote Wakeup     true
    bMaxPower              0mW
    Interface Descriptor:
      bInterfaceNumber       0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass     0x09
      bInterfaceSubClass  0x00
      bInterfaceProtocol  0x00
      iInterface             0 
      Endpoint Descriptor:
        bEndpointAddress    0x81 EP 1 In
        bmAttributes:
          Transfer Type          Interrupt
          Synch Type             NoSync
          Usage Type             Data
        wMaxPacketSize    0x0004
        bInterval             12```

With usb_ids i can get vendor or manufacturer but serial number still missing.

commented

I encountered the same problem. I couldn't get the correct iSerialNumber and iManufacturer on the Windows system, but it was normal on the Mac system.

What error you get? And do you use winusb driver for device on windows?

I dont get any error, i just do not get iSerialNumber on my linux machine. It just gives "0" or "1".

commented

Because I use adb at the same time, it is ok on mac,but on windows, if I use adb and then use rusb to read the device, I will not be able to get the iSerialNumber, unless I adb kill-server.

This probably issues that on windows only one application can open usb device