Discussion:
[libusb] #143: WinUSB backend: Provide new driver for Windows 7
libusb Trac
2012-07-19 11:59:55 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
-----------------------+-----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Keywords: | Blocked By:
Blocks: |
-----------------------+-----------------------------------------
The driver files for the Windows backend contain OLD driver files
WdfCoInstaller01009.dll and winusbcoinstaller2.dll.

To be able to install WinUSB under Windows 7 the latest versions of these
files (the first file name has changed to WdfCoInstaller01011.dll) must be
used; otherwise you'll get an error.

The .inf example files must be updated due to the changed file name.

Could someone update the driver file ZIP file and upload it for download?
Thanks.

The files are installed when installing the WDF and the redistributable
files update package (~ 1GiB!!).

Both files are named "redistributable files" by Microsoft.
--
Ticket URL: <https://libusb.org/ticket/143>
libusb <https://libusb.org/>
C library for writing portable
libusb Trac
2012-07-19 12:00:31 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by stuge):

Doesn't Windows 7 already ship with WinUSB driver files?
--
Ticket URL: <https://libusb.org/ticket/143#comment:1>
libusb <https://libusb.org/>
C library for writing portable USB drivers in use
libusb Trac
2012-07-19 13:00:52 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by stuge):

Thinking about this some more, there is a large number of unanswered
questions for this issue.
Post by libusb Trac
The driver files for the Windows backend contain OLD driver files
WdfCoInstaller01009.dll and winusbcoinstaller2.dll.

What driver files do you refer to, exactly?
Post by libusb Trac
To be able to install WinUSB under Windows 7 the latest versions of
these files (the first file name has changed to WdfCoInstaller01011.dll)
must be used; otherwise you'll get an error.

Where do you get the error, and what exactly *is* the error?
Post by libusb Trac
The .inf example files must be updated due to the changed file name.
libusb itself does not includes .inf examples. Where did you find the .inf
example files?
Post by libusb Trac
Could someone update the driver file ZIP file and upload it for
download? Thanks.

Well only if you also mention which driver file ZIP file you refer to.
libusb doesn't include driver files..


Please clarify the above questions so that it might be possible to resolve
the issue you point out.

Thanks!
--
Ticket URL: <https://libusb.org/ticket/143#comment:2>
libusb <https://libusb.org/>
C library for writing portable USB d
libusb Trac
2012-07-20 06:10:49 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------
Post by libusb Trac
Doesn't Windows 7 already ship with WinUSB driver files?
Windows 7, Windows Vista and Windows XP SP3 already ship with WinUSB.

However to install the WinUSB driver for a certain device you do not only
need the .inf file (as it is sufficient for some other drivers) but you
need the two "Installer DLL files" mentioned as well. I do not know what
these "Installer DLL files" do!
--
Ticket URL: <https://libusb.org/ticket/143#comment:3>
libusb <https://libusb.org/>
C library for writing por
libusb Trac
2012-07-20 06:35:24 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------
Post by libusb Trac
Post by libusb Trac
The driver files for the Windows backend contain OLD driver files
WdfCoInstaller01009.dll and winusbcoinstaller2.dll.
Post by libusb Trac
What driver files do you refer to, exactly?
On the page http://libusb.org/wiki/windows_backend there is a link to the
ZIP package [[http://libusb-winusb-
wip.googlecode.com/files/winusb%20driver.zip|WinUSB driver files]] located
on libusb-winusb-wip.googlecode.com.

In fact this ZIP package does not contain the WinUSB driver itself but the
"Installer DLLs" mentioned in my last post and three .inf file examples
that have to be adapted for each device.

The DLL files from the ZIP package are old files that obviously are no
longer compatible with Windows 7. The up-to-date files can be downloaded
at http://msdn.microsoft.com/en-US/windows/hardware/br259104 (24 Megabyte)
however this is an installer package that can only be installed if you
downloaded and installed the driver development package (free download
from Microsoft but ~1 Gigabyte!) before. (However it seems to be possible
to extract the DLL files via 7-zip.)

The files related to WinUSB are only ~5 Megabytes in sum.

I now did the 1GiB + 24MiB downloads so I could modify the ZIP file
however I have no possibility to upload.
Post by libusb Trac
Post by libusb Trac
To be able to install WinUSB under Windows 7 the latest versions of
these files (the first file name has changed to WdfCoInstaller01011.dll)
must be used; otherwise you'll get an error.
Post by libusb Trac
Where do you get the error, and what exactly *is* the error?
When using the files from the ZIP package mentioned above under Windows 7
you'll get an error message when trying to install the driver (assigning
the WinUSB driver to a device). The error message itself gives no
information (simply something like "the driver was not installed
correctly").

The driver does not install; a class device (Storage, HID, ...) will still
be bound to the default driver instead.
--
Ticket URL: <https://libusb.org/ticket/143#comment:4>
libusb <https://libusb.org/>
C library for writing po
libusb Trac
2012-07-20 17:26:22 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by martindjr):

Under Windows 7 it SEEMS to be possible to install the WinUSB driver just
having an .inf file (without "Installer DLLs").

However I still have to check this out on a computer that has never seen
the "Installer DLLs", yet...
--
Ticket URL: <https://libusb.org/ticket/143#comment:5>
libusb <https://libusb.org/>
C library for writing portable USB drivers in
libusb Trac
2012-07-20 18:00:35 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by timrprobocom):

Windows XP does not ship with WinUSB at all. No version does -- not even
SP3.
Vista ships with WinUSB version 1, and KMDF version 1.5.
Windows 7 ships with WinUSB version 2, and KMDF version 1.9
Windows 8 will ship with WinUSB version 2, and KMDF version 1.11.

The co-installers install the drivers if they are not already present, OR
if the version is too old. If you run WdfCoInstaller01009.dll on Vista
(which contains 1.5), it will install the 1.9 version. If you run
WdfCoInstaller01009.dll (or 01007 or 01005) on Windows 7, it does nothing.
If you **KNOW** your package will only run on a system where KMDF and
WinUSB are already installed, then you do not need to ship the installers.
That means you can't support XP, however.
--
Ticket URL: <https://libusb.org/ticket/143#comment:6>
libusb <https://libusb.org/>
C library for writing portable USB
Orin Eman
2012-07-20 19:19:47 UTC
Permalink
Post by libusb Trac
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
------------------------+----------------------------------------
Windows XP does not ship with WinUSB at all. No version does -- not even
SP3.
Vista ships with WinUSB version 1, and KMDF version 1.5.
Windows 7 ships with WinUSB version 2, and KMDF version 1.9
Windows 8 will ship with WinUSB version 2, and KMDF version 1.11.
The co-installers install the drivers if they are not already present, OR
if the version is too old. If you run WdfCoInstaller01009.dll on Vista
(which contains 1.5), it will install the 1.9 version. If you run
WdfCoInstaller01009.dll (or 01007 or 01005) on Windows 7, it does nothing.
That's the theory anyway. I never had much luck with later versions of the
KMDF coinstaller and shipped WHQL'd Vista and Windows 7 WinUSB based
drivers with WdfCoInstaller01005.dll (!) I just verified that my drivers
install without error on a Windows 7 32bit machine, so the latest KMDF
coinstaller dll certainly isn't required.

I'd suggest someone look at setupapi.dev.log, see what the actual error is
and go from there.

Orin.
Tim Roberts
2012-07-20 21:44:17 UTC
Permalink
Post by Orin Eman
That's the theory anyway. I never had much luck with later versions
of the KMDF coinstaller and shipped WHQL'd Vista and Windows 7 WinUSB
based drivers with WdfCoInstaller01005.dll (!)
A lot of people do that, simply because it avoids the need to reboot
Vista for the version upgrade. In that case, if you don't need XP, you
don't need to include the co-installers at all. You can assume that at
least KMDF 1.5 is present.

We will have the same issue all over when Windows 8 ships, because
people will start linking their drivers to KMDF 1.11, and that's going
to require a reboot on Windows 7 and Vista.
Post by Orin Eman
I just verified that my drivers install without error on a Windows 7
32bit machine, so the latest KMDF coinstaller dll certainly isn't
required.
No, it absolutely is not. You ship the coinstaller that you built for.
If that's older than what is installed, the coinstaller is a no-op, and
you link with whatever version is actually installed.
--
Tim Roberts, ***@probo.com
Providenza & Boekelheide, Inc.
libusb Trac
2012-07-21 06:41:10 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by martindjr):

Thanks for the comment, timrprobocom.

Unfortunately under Windows 7 Pro 64-bit installation fails when the
packet contains version 1.9 DDLs - I do not know why (in the end I used
the 1.11 DLLs).

Under Windows 7 Ultimate 32-bit I tried to install without Co-Installer
DLL files. This worked but I had to modify the .inf files.

Maybe on the WIKI page ​http://libusb.org/wiki/windows_backend the link
"WinUSB driver files" should be renamed to "WinUSB driver files for
XP/Vista" and a ZIP file with modified .inf files (not containing DLLs)
should be provided with a link named "WinUSB driver files for Windows
7/8".
--
Ticket URL: <https://libusb.org/ticket/143#comment:7>
libusb <https://libusb.org/>
C library for writing portable USB drivers
libusb Trac
2012-07-21 09:09:38 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: new
Milestone: | Component: libusb-1.0 Windows backend
Resolution: | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------

Comment (by xiaofan):

Please try to use the GUI Zadig and see if that works or not. It comes
with WinUSB 1.9. And it works for me and many others under Windows 7 x64.
http://sourceforge.net/projects/libwdi/files/zadig/
--
Ticket URL: <https://libusb.org/ticket/143#comment:8>
libusb <https://libusb.org/>
C library for writi
libusb Trac
2012-09-29 01:24:04 UTC
Permalink
#143: WinUSB backend: Provide new driver for Windows 7
------------------------+----------------------------------------
Reporter: martindjr | Owner:
Type: defect | Status: closed
Milestone: | Component: libusb-1.0 Windows backend
Resolution: fixed | Keywords:
Blocked By: | Blocks:
------------------------+----------------------------------------
Changes (by xiaofan):

* status: new => closed
* resolution: => fixed


Comment:

New Zadig version has also been released as well to support new KMDF 1.11.
So this issue can be closed.
--
Ticket URL: <https://libusb.org/ticket/143#comment:9>
libusb <https://libusb.org/>
C library for writing portable USB drivers in u
Loading...