title: PyUSB with windows, libusb1 and libusb-win32 backends not working
body: <p>I'm trying to read from a USB device. To do this, I'm using PyUSB which is raising multiple issues.</p>
  
  <h2>Error</h2>
  
  <p>With libusb-win32, no devices are found. After finding out that it had limited support I switched to libusb1</p>
  
  <p>With libusb1, some devices are found, however an error is raised <code>NotImplementedError: Operation not supported or unimplemented on this platform</code></p>
  
  <h2>Setup</h2>
  
  <p>I'm using Windows10, and the device is an M10 10lb Digital Postal Scale</p>
  
  <p>I'm installing the device driver using Zadib with the following settings
  <a href="https://i.stack.imgur.com/eWu0S.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eWu0S.png" alt="enter image description here"></a></p>
  
  <p>When the device is connected, I can see it in the device manager.</p>
  
  <p>I've downloaded the sources for <a href="https://sourceforge.net/p/libusb-win32/wiki/Home/" rel="nofollow noreferrer">libusb-win32</a> and <a href="https://libusb.info/" rel="nofollow noreferrer">libusb1</a> and added them to the %PATH% environment variable (but only one a time is in %PATH% so I know which is in use).</p>
  
  <ul>
  <li>Without the PATH pointing to one of the <code>.dll</code> files, PyUSB raises an error that no backend is found</li>
  </ul>
  
  <h2>Code</h2>
  
  <pre><code>import usb.core
  import usb.util
  
  # find the USB device
  for device in usb.core.find(find_all=True):
      print(device)
  </code></pre>
  
  <h2>Complete Error Message</h2>
  
  <p>Note that two devices are successfully printed before this error messages comes up</p>
  
  <pre><code>Traceback (most recent call last):
  
  
  File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 727, in __str__
      for configuration in self:
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 1094, in __iter__
      yield Configuration(self, i)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 586, in __init__
      configuration
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\backend\libusb1.py", line 757, in get_configuration_descriptor
      config, byref(cfg)))
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\backend\libusb1.py", line 595, in _check
      raise USBError(_strerror(ret), ret, _libusb_errno[ret])
  usb.core.USBError: [Errno 2] Entity not found
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "reading_dymo_scale.py", line 22, in &lt;module&gt;
      print(device)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 731, in __str__
      configuration = self.get_active_configuration()
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 875, in get_active_configuration
      return self._ctx.get_active_configuration(self)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 102, in wrapper
      return f(self, *args, **kwargs)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 236, in get_active_configuration
      self.managed_open()
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 102, in wrapper
      return f(self, *args, **kwargs)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\core.py", line 120, in managed_open
      self.handle = self.backend.open_device(self.dev)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\backend\libusb1.py", line 786, in open_device
      return _DeviceHandle(dev)
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\backend\libusb1.py", line 643, in __init__
      _check(_lib.libusb_open(self.devid, byref(self.handle)))
    File "C:\ProgramData\Anaconda3\lib\site-packages\usb\backend\libusb1.py", line 593, in _check
      raise NotImplementedError(_strerror(ret))
  NotImplementedError: Operation not supported or unimplemented on this platform
  </code></pre>