USB Library
Driver Signatures in the Microchip Libraries for Applications (MLA) Projects

Driver Signatures in the Microchip Libraries for Applications (MLA) Projects 

 

Projects based on WinUSB: WinUSB is a Microsoft created/supplied driver. All Microsoft supplied drivers contain an embedded signature from Microsoft. Additionally, WinUSB driver packages supplied in the February 2013 MLA release (or later) also contain a full driver package Microsoft WHQL signature. 

 

In operating systems prior to Windows 8, WinUSB based devices require the user to install a driver package for the hardware. However, starting with Windows 8, it is possible to make WinUSB based devices that are fully plug and play, and do not require any user supplied driver package. Windows 8 allows for automatic installation of the WinUSB driver, when the device firmware implements the correct Microsoft specific “OS” and related USB descriptors. These special descriptors are optional, but when implemented, allow for automatic driver installation using the in-box provided WinUSB driver that is distributed with the operating system installation. These special OS descriptors are implemented starting the WinUSB based firmware projects in the 2012-10-15 MLA Release. For all new application designs, it is recommended to include these special descriptors as they will result in a better end user experience, free of any driver package/signing/installation concerns. 

 

Projects based on CDC: When used with Windows, the CDC projects in the MLA use the Microsoft created/supplied “usbser.sys” driver. This driver contains an embedded signature from Microsoft. Additionally, CDC driver packages supplied in the February 2013 MLA release (or later), also contain a full driver package Microsoft WHQL signature. 

 

Projects based on MCHPUSB: The MCHPUSB driver is a Microchip created/supplied driver. This driver contains an embedded signature from Microchip. Additionally, this driver package contains a WHQL signature. However, when designing a new application, it is suggested to consider using the WinUSB driver instead. 

 

Projects based on libusb: There are multiple versions of the “libusb driver”. Libusb version 0.1 devices rely on a custom driver that can be signed with “libwdi”. Libusb version 1.0 devices, when attached to Windows based machines, relies on the Microsoft supplied WinUSB driver (see WinUSB section). 

 

Projects based on PHDC: The PHDC projects in the MLA rely on the libusb driver (see libusb section). 

 

Projects based on HID, MSD, audio class, CCID: These USB device classes/projects rely on Microsoft supplied drivers that are distributed with the operating system, and do not require any user supplied driver packages or .inf files. Therefore, driver package signing is usually not relevant for these types of applications, as the drivers will normally get installed automatically when the hardware is attached to the machine. 

MLA - USB Library Help Version : 2.16
http://www.microchip.com/mla