Discussion:
[libusb] A tool for installing LibUSB drivers on Windows
i***@shcherbakov.info
2013-07-22 04:21:40 UTC
Permalink
Hi All,



I was using LibUSB to debug my embedded hardware with OpenOCD and found the
driver installation process
(http://www.libusb.org/wiki/winusb_driver_installation) quite cumbersome.

So I developed a free tool that automates the installation process: you just
select your USB device, right-click, select "Install Libusb - WinUSB" and
the tool will do everything automatically: edit the INF files, install the
driver, etc.

The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/

I was wondering if you could mention the tool on the Wiki.



Best regards,

Ivan
Xiaofan Chen
2013-07-22 11:51:28 UTC
Permalink
Post by i***@shcherbakov.info
I was using LibUSB to debug my embedded hardware with OpenOCD and found the
driver installation process
(http://www.libusb.org/wiki/winusb_driver_installation) quite cumbersome.
I do not think so. If using Zadig, it is rather simple.
Post by i***@shcherbakov.info
So I developed a free tool that automates the installation process: you just
select your USB device, right-click, select “Install Libusb – WinUSB” and
the tool will do everything automatically: edit the INF files, install the
driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
I was wondering if you could mention the tool on the Wiki.
What is the advantage of your tools if compared to Zadig
or the libusbK Inf-Wizard? Take note both are open source project.

Zadig:
https://github.com/pbatard/libwdi/wiki/Zadig

libusbK inf-wizard:
http://libusbk.sourceforge.net/UsbK3/usbk_installers.html
--
Xiaofan
Xiaofan Chen
2013-07-23 03:07:44 UTC
Permalink
Post by Xiaofan Chen
Post by i***@shcherbakov.info
I was using LibUSB to debug my embedded hardware with OpenOCD and found the
driver installation process
(http://www.libusb.org/wiki/winusb_driver_installation) quite cumbersome.
I do not think so. If using Zadig, it is rather simple.
That page is just an alternative solution to Zadig which is the preferred
tool as mention in the Windows backend page.
http://www.libusb.org/wiki/windows_backend
Post by Xiaofan Chen
Post by i***@shcherbakov.info
So I developed a free tool that automates the installation process: you just
select your USB device, right-click, select “Install Libusb – WinUSB” and
the tool will do everything automatically: edit the INF files, install the
driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
I was wondering if you could mention the tool on the Wiki.
What is the advantage of your tools if compared to Zadig
or the libusbK Inf-Wizard? Take note both are open source project.
https://github.com/pbatard/libwdi/wiki/Zadig
http://libusbk.sourceforge.net/UsbK3/usbk_installers.html
--
Xiaofan
Ivan Shcherbakov
2013-07-24 01:37:35 UTC
Permalink
One advantage would be the support for FT2232 drivers (e.g. Olimex devices
require them), however that's rather useful to OpenOCD users. It is also
very easily customizable - users can add their own driver templates by
placing macros like $$HARDWARE_ID$$ inside the INF files.
I would say, both tools are worth being mentioning in the wiki, as many
people who google for "libusb driver Windows" don't know about either of
them and end up editing the INF files manually...

-----Original Message-----
From: Xiaofan Chen [mailto:***@gmail.com]
Sent: July-22-13 8:08 PM
To: ***@shcherbakov.info
Cc: libusb-***@lists.sourceforge.net
Subject: Re: [libusb] A tool for installing LibUSB drivers on Windows
Post by Xiaofan Chen
Post by i***@shcherbakov.info
I was using LibUSB to debug my embedded hardware with OpenOCD and
found the driver installation process
(http://www.libusb.org/wiki/winusb_driver_installation) quite cumbersome.
I do not think so. If using Zadig, it is rather simple.
That page is just an alternative solution to Zadig which is the preferred
tool as mention in the Windows backend page.
http://www.libusb.org/wiki/windows_backend
Post by Xiaofan Chen
Post by i***@shcherbakov.info
you just select your USB device, right-click, select "Install Libusb
- WinUSB" and the tool will do everything automatically: edit the INF
files, install the driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
I was wondering if you could mention the tool on the Wiki.
What is the advantage of your tools if compared to Zadig or the
libusbK Inf-Wizard? Take note both are open source project.
https://github.com/pbatard/libwdi/wiki/Zadig
http://libusbk.sourceforge.net/UsbK3/usbk_installers.html
--
Xiaofan
Xiaofan Chen
2013-07-24 03:20:55 UTC
Permalink
Post by Ivan Shcherbakov
One advantage would be the support for FT2232 drivers (e.g. Olimex devices
require them), however that's rather useful to OpenOCD users. It is also
very easily customizable - users can add their own driver templates by
placing macros like $$HARDWARE_ID$$ inside the INF files.
I would say, both tools are worth being mentioning in the wiki, as many
people who google for "libusb driver Windows" don't know about either of
them and end up editing the INF files manually...
For OpenOCD Windows users, I assume many of them will download
Freddie's Windows binary and the binary will point to using Zadig.

As for the OpenOCD FT2232 driver, it will be replaced by the new
MPSSE engine based ftdi which relies on libusb-1.0 API.

My point is that I do not see much value in adding a close source
tool to the Wiki which may actually cause confusions to the users.

Anyway, you can edit the Wiki if you want since Peter is the owner
of libusb.org.
--
Xiaofan
Pete Batard
2013-07-25 00:15:54 UTC
Permalink
Hi Ivan,

As the *biased* author of libwdi, which provides about the same feature
as what you're proposing here, I guess I'm going to chime in too.
Post by Ivan Shcherbakov
One advantage would be the support for FT2232 drivers (e.g. Olimex devices
require them), however that's rather useful to OpenOCD users. It is also
very easily customizable - users can add their own driver templates by
placing macros like $$HARDWARE_ID$$ inside the INF files.
libwdi can be used to package and install the proprietary FTDI drivers.
As a matter of fact, the libwdi signed driver walkthrough [1] uses the
FTDI drivers for OpenOCD as an example of how one can add a whole bunch
of drivers and create an application that allows users to select and
install one of them.

For more on embedding custom drivers in libwdi, see [2].

So, as much as I hate to say that, it looks to me like you've been
reinventing the wheel, and you could probably have spared some time if
you just reused libwdi to package the drivers you wanted into a library
and simply added your UI on top of it.
Post by Ivan Shcherbakov
I would say, both tools are worth being mentioning in the wiki, as many
people who google for "libusb driver Windows" don't know about either of
them and end up editing the INF files manually...
Well, I'd tend to agree that your tool looks nice (nicer than Zadig as
far as I'm concerned), and, despite the fact that it is closed source
(please avoid that, especially if you're trying to find sympathy on a
mailing list for an Open Source library) I don't really see an issue
having it mentioned on the page and leaving users to choose... as long
as the Windows 8 problem detailed below is clearly highlighted.

Then again, users reading the libusb wiki should also be aware that they
don't have to edit an inf, unless they really want to, as Zadig is
featured as the simpler & preferred method of installing a libusb
compatible driver.

Now, with regards to Windows 8, you might want to be mindful of the
following:

1. You tool relies on .NET, however the version it requires is one that
doesn't come installed by default on Windows 8, so Windows 8 users have
to go through an update first. Of course, this is more of a
Microsoft/.NET issue than anything else.

2. Much more problematic: Unlike previous versions (which allowed this,
albeit with a scary warning) Windows 8 does not let users install any
unsigned driver packages. But your tool does not sign the WinUSB driver
packages it installs.
Thus, Windows 8 users cannot use your application to install WinUSB
drivers. If they try, they will get error 0xE000022F, i.e. "Driver
package failed signature validation".
Libwdi on the other hand (and by extension Zadig) does sign the WinUSB
driver packages it installs on the fly, which avoids both the Windows 8
issue and the scary Vista/Windows 7 installation prompts.

Regards,

/Pete

[1] https://github.com/pbatard/libwdi/wiki/Signed-Driver-Walkthrough
[2]
https://github.com/pbatard/libwdi/wiki/Signed-Driver-Walkthrough#wiki-Embedding_the_signed_files_in_libwdi
i***@shcherbakov.info
2013-07-24 01:48:53 UTC
Permalink
One advantage would be the support for FT2232 drivers (e.g. Olimex devices
require them), however that's rather useful to OpenOCD users. It is also
very easily customizable - users can add their own driver templates by
placing macros like $$HARDWARE_ID$$ inside the INF files.
I would say, both tools are worth being mentioning in the wiki, as many
people who google for "libusb driver Windows" don't know about either of
them and end up editing the INF files manually...

-----Original Message-----
From: Xiaofan Chen [mailto:***@gmail.com]
Sent: July-22-13 8:08 PM
To: ***@shcherbakov.info
Cc: libusb-***@lists.sourceforge.net
Subject: Re: [libusb] A tool for installing LibUSB drivers on Windows
Post by Xiaofan Chen
Post by i***@shcherbakov.info
I was using LibUSB to debug my embedded hardware with OpenOCD and
found the driver installation process
(http://www.libusb.org/wiki/winusb_driver_installation) quite cumbersome.
I do not think so. If using Zadig, it is rather simple.
That page is just an alternative solution to Zadig which is the preferred
tool as mention in the Windows backend page.
http://www.libusb.org/wiki/windows_backend
Post by Xiaofan Chen
Post by i***@shcherbakov.info
you just select your USB device, right-click, select "Install Libusb
- WinUSB" and the tool will do everything automatically: edit the INF
files, install the driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
I was wondering if you could mention the tool on the Wiki.
What is the advantage of your tools if compared to Zadig or the
libusbK Inf-Wizard? Take note both are open source project.
https://github.com/pbatard/libwdi/wiki/Zadig
http://libusbk.sourceforge.net/UsbK3/usbk_installers.html
--
Xiaofan
Peter Stuge
2013-07-23 01:06:41 UTC
Permalink
Hi Ivan,
Post by i***@shcherbakov.info
So I developed a free tool that automates the installation process: you just
select your USB device, right-click, select "Install Libusb - WinUSB" and
the tool will do everything automatically: edit the INF files, install the
driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
Sounds great! I'll try it out the next time I'm using a Windows system.
Post by i***@shcherbakov.info
I was wondering if you could mention the tool on the Wiki.
Please feel free to do so yourself. Let me know your account name
once you have registered a user and I'll be happy to add the
neccessarily privileges to your account, even if Xiaofan prefers
not to do so. (He is able to.)


//Peter
Xiaofan Chen
2013-07-23 03:01:51 UTC
Permalink
Post by Peter Stuge
Hi Ivan,
Post by i***@shcherbakov.info
So I developed a free tool that automates the installation process: you just
select your USB device, right-click, select "Install Libusb - WinUSB" and
the tool will do everything automatically: edit the INF files, install the
driver, etc.
The tool can be downloaded here: http://visualgdb.com/UsbDriverTool/
Sounds great! I'll try it out the next time I'm using a Windows system.
Post by i***@shcherbakov.info
I was wondering if you could mention the tool on the Wiki.
Please feel free to do so yourself. Let me know your account name
once you have registered a user and I'll be happy to add the
necessary privileges to your account, even if Xiaofan prefers
not to do so. (He is able to.)
In this particular case, I am not keen. I do not see any advantages
of the tool if compared to Zadig. And more over, it is not an open
source tool.
--
Xiaofan
Loading...