-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support the WinUSB API as a backend. #209
Comments
FYI there is this WinUSBPy. I have not tried it though. FYI also: pyusb already has the libusb-1.0 backend which supports device using WinUSB driver. On the other hand, I think it is not a bad idea to add WinUSB backend for Windows, in that case, you do not need to have libusb-1.0.dll. |
Yeah, my goal in adding direct WinUSB support is to allow pyusb applications to work on Windows after just a |
Any luck on this? |
@altear it's coming along slowly. It's not a high priority project, just something I'm working on in my free time. That said, you shouldn't need my direct WinUSB support to use pyusb on Windows. The libusb1 backend should work, but it does need |
Main difference is that Zadig (or libusbk inf wizard) does not install libusb-1.0.dll, only libusb0.dll and libusbk.dll, so that libusb-0.1 backend will work out of the box, if you use Zadig. So you need to add libusb-1.0.dll to the right location, in order to use libusb-1.0 backend under Windows. I do not think this is a big problem in reality. |
It just occurred to be (while cleaning up old emails on my inbox and finding one referencing this issue) whether we know why Zadig doesn't ship A related note, for those that might not know yet: pyocd/libusb-package has made the lives of developers using PyUSB a lot simpler, as it's now quite easy to ensure a suitable libusb-1.0 DLL will be available on the user's machine.1 Footnotes |
I think it has to do with the fact that libusb-1.0.dll is not part of WinUSB/libusb-win32/libusbk. Zadig is supposed to be a Driver Installer. libusb0.dll has always been part of libusb-win32 driver installer (now deprecated). Zadig and libusbk-inf-wizard also ship with libusb0.dll/libusbk.dll but not libusb-1.0.dll. |
That is good to know. BTW, python-libusb1 is also trying to ship the libusb-1.0.dll binary for Windows. |
Is there any reason (other than that no one has written it yet) that the WinUSB API isn't supported directly as a backend? It should be possible to call it directly via ctypes like the other backends.
I'm happy to attempt the implementation myself, I just want to know before I get too far into the project if there's anything significant that's prevented it being done before now.
The text was updated successfully, but these errors were encountered: