Continued from the above post #20 - ... (a wip)
More detail about the above windows USB Driver conflict/rank problem and what to do.
(Occasionally this type of windows LibUSB driver problem is in various CHDK posts.)
If you luck-in the solution is usually very simple, just un-install PtpDrive (or similar Ptp/MtP) and then re-install LibUSB.
If you luck-out the solution can become very complex and some of this windows stuff below can occur:-
a/ Windows, the "Trusted Installer" system, will place "Restricted Access" on the USB Driver's files and registry.
b/ Windows, the "Trusted Installer" system, will create multiple/hex copies of the USB Driver's files.
c/ Windows, the "Trusted Installer" system, will insist on only installing/using the "Trusted/Approved/Restricted"
USB Driver's files.
d/ Windows the "Trusted Installer" system will refuse to delete the "Trusted/Approved/Restricted" the USB Driver's
files.
There are various ways to then ensure LibUSB is the correctly installed for your canon cameras.
The simplest is just to do a new and clean windows installation, most of the others are just to complex
to describe in this post.
However if you have a "Special/Stand-Alone" multi-cam project, a possibility, is to stop windows from
generically recognizing the "Generic Imaging/Camera Class" this can be done via a simple, reversible, edit in the
*:\windows\inf\Ptp/MtP.inf files.
The effect is then to, permanently, stop windows recognizing the canon cameras then re-installing the "Trusted/Approved" generic USB Mtp/PtP Driver's files.
The correct installation and maintenance of the LibUSB drivers is then much simpler.
Example #1:- In Win-8 & 10, WinUsb.inf "...pnplockdown=1 ; Third Party Protected..."
Ref & Example #2:-
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/inf-version-section.
"... If the
PnpLockDown directive is set to 1, PnP prevents applications from directly modifying the files..."
"....To ensure the integrity of a PnP driver installation, applications should not directly modify driver files that are copied by the driver package INF file. Applications should only use the device installation mechanisms provided by Windows to update PnP drivers...."
Ref & Example #3:-
https://msdn.microsoft.com/library/windows/hardware/ff553419 "..System-Defined Device Setup Classes..."
i.e. If you luck-out the solution's can become EXTREMELY complex.... etc, etc.
Note #:- This is the important part for LibUSB, and also the generic part to be disabled.
Here
https://msdn.microsoft.com/en-us/library/windows/hardware/ff553426"...System-Defined Device Setup Classes Available to (CHDK Multi-Cam) Vendors..."
"....Imaging Device Class = ImageClassGuid = {6bdd1fc6-810f-11d0-bec7-08002be2092f}..."
"....This class includes still-image capture devices, digital cameras, and scanners...."
"...Generic....Imaging Device...." Compatible ID:-
USB\CLASS_06&SUBCLASS_01&PROT_01
USB\CLASS_06&SUBCLASS_01
USB\CLASS_06
Disable this "MTP, USB\Class_06&SubClass_01&Prot_01"
It worked OK for me, some time ago, But should only be used, as a last resort, if everything else fails.
To be continued ..... (a wip)
H-H