* On Sun, 12 Apr 2015, Stefan Dösinger wrote:
Am 2015-04-11 um 17:38 schrieb Steve Kenton:
USB Support has been on the list of possible release criteria basically forever. I've read through all the old threads and other discussions I could find and it boils down to "really hard to do right". If possible could someone knowledgeable comment briefly on what might be an acceptable architecture for a Wine USB stack? In particular I'm wondering about how much support for client/function drivers would be desirable. Should we stick to only unprivileged operations or would an optional kernel mode driver to support WDM or WDF (KMDF/UMDF) privileged interfaces be acceptable?
I'm not an expert on this, but as far as I understand it the first problem that needs to be solved is properly registering USB devices in the device tree in the registry. This doesn't even involve Windows USB drivers and is as "simple" as advertising a USB mass storage device that's handled by Linux / OSX as a USB mass storage device instead of a fixed hard drive, with the proper vendor and device ID etc.
Stefan, do you mean populating entries in registry subkeys "Control\DeviceClasses" [1] and "Enum" [2] or namely "Enum\USB" [3] in the HKLM\SYSTEM\CurrentControlSet\ key ?
I guess namely what values are crucial here except for essentially looking "HardwareID" [4] -- can it be all of them? Judging by the WineHQ Wiki [5] I am not so sure.
S.
[1] https://msdn.microsoft.com/en-us/library/windows/hardware/ff546165%28v=vs.85... [2] https://msdn.microsoft.com/en-us/library/windows/hardware/ff546173%28v=vs.85... [3] https://msdn.microsoft.com/en-us/library/windows/hardware/jj649944%28v=vs.85... [4] https://msdn.microsoft.com/en-us/library/windows/hardware/ff546152%28v=vs.85... [5] http://wiki.winehq.org/USB?highlight=%28CurrentControlSet%29