Re: WinUSB Microsoft OS descriptors

Simon Thiebaut <[email protected]> Fri, 24 Apr 2015 09:12:27 +0200
Newsgroups gmane.comp.lib.libusb.devel.windows
Message-ID <[email protected]>
Hi Xiaofan,

Thank you very much for your help.

That link you pointed out and your explanations answers perfectly to what I was misunderstanding.

So to sum up (correct me if I'm wrong):
- WinUSB driver shall be preferred for automatic device installation (or according to platforms, maybe a one shot driver install)
- providing basic Microsoft OS descriptors is required to load automatically the driver, but that does not have an impact on using the device on other non Windows OSes.

Thank you again.


Best regards,

Simon

> Date: Fri, 24 Apr 2015 09:36:28 +0800
> From: [email protected]
> To: [email protected]
> Subject: Re: [Libusb-win32-devel] WinUSB Microsoft OS descriptors
> 
> On Thu, Apr 23, 2015 at 3:00 PM, Simon Thiebaut
> <[email protected]> wrote:
> > The PC app USB part is written with libusb, as the app is intended to be
> > cross platform, though it is first developed under Windows.
> > The first version of the board firmware implements the HID class, but this
> > is too limiting for the requirements of the app, and I want to change the
> > class.
> 
> Yes that is a good move.
> 
> > Therefore I was looking for a generic USB device driver that would
> > automatically loads when the device is plugged in.
> > I have to do a choice between WinUSB or libusbK drivers.
> 
> In that case, WinUSB is a better choice since it is part of Windows
> since Windows Vista (not XP).
> 
> > After a few researches on WinUSB, I found this:
> > https://msdn.microsoft.com/en-us/library/windows/hardware/hh450799%28v=vs.85%29.aspx
> 
> Some more references here.
> https://github.com/pbatard/libwdi/wiki/WCID-Devices
> 
> > That states that a WinUSB generic device must have in its firmware specific
> > Microsoft OS Descriptors to work.
> 
> Take note "WinUSB Device" is not equal to device using WinUSB driver.
> Generic USB Device can use generic USB driver like WinUSB or libusbK or
> libusb0.sys. However, you need to have a driver package (an inf file and
> other associated files) in order for Windows to install the driver for you.
> 
> Zadig and libusbK driver installation Wizard help the user to install the
> driver. But it is still an extra process. So some applications integrate
> the driver installation as part of the initial application installation process
> (usually they will advise the user not to insert the device before
> the installation).
> 
> WCID or "WinUSB Device" makes Windows loads the WinUSB driver
> automatically for you, And it should work for Windows 8 and above right
> out of the box. For Windows 7 (and maybe Windows Vista?), an Windows
> update provides the same functionality.
> 
> > My question is: does libusbK have such requirements ? Will I have to add
> > specific descriptors to make my device work ? Or nothing special is required
> > (other than configuring properly the existing common descriptors) ?
> > The point is I do not wish to embed useless and not generic code in the
> > firmware if there a is generic enough PC driver (for the Windows portage)...
> 
> WinUSB/libusbK.sys/libusb0.sys (and Cypress USB driver, etc) are all
> generic USB driver you can use. But WinUSB is probably the easiest to
> use. So it is
> 
> Zadig provides a way to get libusb0.sys or libusbK.sys work similar to
> WinUSB after one-time installation (to install a generic inf file for
> libusbk.sys
> and libusb0.sys to automatically install the driver for device with a specific
> Microsoft OS Descriptor). But that is really as convenient as WCID since
> it is part of Windows.
> 
> 
> -- 
> Xiaofan
> 
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Libusb-win32-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

_______________________________________________
Libusb-win32-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel