|
From: Pete B. <pb...@gm...> - 2010-06-04 15:21:45
|
Hi Joseph, Apologies for missing your first post (and thanks for testing libwdi). I must admit that I hadn't considered that installation of driver for all devices of the same type would be an issue. On 2010.06.04 15:28, joey wrote: >> When I insert a second device of the same type (different serial number, >> same VID, PID, interface number) the device did not attach to >> libusb/winusb. Interesting result. I checked what happened with a couple of Logitech USB mice, and found that plugging one or the other in the same USB port would keep the same driver (but these mice don't report a serial number in their USB strings, and I believe if that wasn't the case, I would have observed different results), while plugging any of these mice onto a different port, after the WinUSB driver has been installed, would still install the HidUSB driver. Other devices, like an iPod where the default USBSTOR driver was replaced with WinUSB will on the other hand use WinUSB regardless of the slot. >> For most of my users installing the driver for each hardware >> instance will not be a problem, but some of my users have dozens of >> devices that must be inserted into the same machine and reinstall for >> each instance would be a considerable inconvenience. Yes, I agree with that. I had not really considered that scenario. >> Is there any way to install the libusb/winusb driver in a way that >> allows all devices to be recognized? >> > I've found the answer to my question in Jan Axelson's _USB Complete 3rd > Edition_ on page 276. Since our device is a HID which is a supported > class, windows will always match the compatible ID (which contains the > class of the device) with the class of windows generic HID drivers > rather than libusb/winusb. This is because windows HID driver is > digitally signed where as the .inf zadic.exe uses is digitally unsigned. > Even though zadic's inf contains information to match itself with our > device, windows will search for any match that exists in its digitally > signed .inf files before attempting to associate unsigned .inf files to > a device. That seems to be matching the results I am observing with my mice, and I'm quite glad you found that information. This only seems to apply to HID devices however, as the USBSTOR driver, which is digitally signed by Microsoft, does not overwrite other drivers. > To get a Microsoft digital signature it seems that you must pass a WHQL > test. Yes, to sign the inf, you have no choice but to go through the WHQL process. Just a reminder that this is different from digitally signing the driver itself, which can be done without Microsoft's intervention, with a code signing certificate. > What does it take to get a WHQL certification?? I think you probably want to read the WHQL related information from the Windows Logo Program System and Device Requirements, Version 2.2.1a from http://www.microsoft.com/whdc/winlogo/hwrequirements/v22.mspx The document seems to list http://www.microsoft.com/whdc/winlogo/getstart/testing.mspx as the starting point. Otherwise, I believe Orin went through the WHQL process, so he might be able to give some pointers. Regards, /Pete |