<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">A null driver is okay, but I feel like it defeats the purpose of using usbDk. Then you have to worry about driver signing, and all that nonsense, right? And when you unplug and plug into a different usb port, sure enough windows goes into ‘wtf’ mode, can’t find the already installed inf.<div class=""><br class=""></div><div class="">Do you even need to ‘hide’ the device when the application is open?</div><div class=""><br class=""></div><div class="">The main benefit I see is, when the driver improperly installs, which it usually does, communication with the device will not fail and you can retain a happy customer that would have otherwise issued a return or thrown the device away.</div><div class=""><br class=""></div><div class="">Thanks Dmitry.</div><div class=""><br class=""></div><div class="">Very Sincerely,</div><div class="">Jason</div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Mar 5, 2015, at 1:23 AM, Dmitry Fleytman <<a href="mailto:dmitry@daynix.com" class="">dmitry@daynix.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Jason,<div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 5, 2015, at 10:25 AM, Jason Kotzin <<a href="mailto:jason@flirc.tv" class="">jason@flirc.tv</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Yes, applied them, and followed up with a compile error.</div></div></blockquote><div class=""><br class=""></div><div class="">Please see my answer on this at libusb-devel.</div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Okay, but I’m still confused. My application does not always run. So they will be prompted with a ‘new device found message’, But when they run my main application and with libusb, that message will disappear, and my device will be hidden. When the app exits, windows will ask for a driver. So is the only benefit something that is running continuously?</div></div></div></blockquote><div class=""><br class=""></div><div class="">Let me explain…</div><div class=""><br class=""></div><div class="">Currently UsbDK only active when there is a user mode application that has open UsbDk handles. When such an application exits or closes UsbDk handles system reverts to original state and UsbDk effectively does nothing.</div><div class="">Rationale behind that is to avoid scenarios when application captures or hides some device, crashes and leaves that device in a state when Windows is unable to recognise it and load in-box drivers. </div><div class=""><br class=""></div><div class="">While it is perfectly fine for remote USB solutions, your scenario doesn’t look currently covered.</div><div class=""><br class=""></div><div class="">One possible way to resolve this issue is introduction of additional UsbDk API for setting persistent hide rules stored in registry, so one will be able to set those rules on install and they will exist as long as UsbDk is installed. If setting of those rules requires administrative privileges the risk system end up in an invalid state will be minimised. However there are still concerns because of various misuse and conflict scenarios, especially when there is a number of UsbDk clients installed on the same system. </div><div class=""><br class=""></div><div class="">I’d suggest to consider installing a null driver for your device (see here: <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/ff547608(v=vs.85).aspx)" class="">https://msdn.microsoft.com/en-us/library/windows/hardware/ff547608(v=vs.85).aspx)</a>.</div><div class="">If I understand your case correctly this is exactly what you’re looking for. If that is not good enough for some reason let’s discuss another options that involve UsbDk extensions.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Dmitry</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 5, 2015, at 12:21 AM, Dmitry Fleytman <<a href="mailto:dmitry@daynix.com" class="">dmitry@daynix.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Hi Jason,</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">On Mar 4, 2015, at 19:42 PM, Jason Kotzin <<a href="mailto:jason@flirc.tv" class="">jason@flirc.tv</a>> wrote:<br class=""><br class="">Hi Dmitry -<span class="Apple-converted-space"> </span><br class=""><br class="">Thanks for getting back to me.<br class=""><br class="">Yes, I understand HID is the way to go, but I have quite a few devices shipped and flashed, so I need to solve this terrible windows problem with these existing devices. But for future stuff, I’m not doing anything other than HID anymore because of windows.<br class=""><br class="">Not sure I understand this:<span class="Apple-converted-space"> </span><br class=""><br class=""><blockquote type="cite" class="">Use hider API, UsbDk_AddHideRule() etc.<br class=""></blockquote><br class=""><br class="">If my installer, installs the msi package for me, am I supposed to run some code afterwards that calls this API (because it’s not exposed in libusb) ?<span class="Apple-converted-space"> </span><br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Yes, this function is not exported by libusb, you’ll need to load UsbDkHelper.dll and call this function from there (see our libusb patches or UsbDkController.exe for sample code).</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">Or can I simply use this; UsbDkController.exe -H VID<br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Also an option, but much more heavyweight,</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">pay attention that when UsbDkController.exe exits it cleans hide rules, so you’ll need to have it running all the time.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">I’m on the developer mailer and don’t see the patches.<br class=""><br class="">Could I trouble you for a copy of these patches as well as the libusb git commit has they intended to be applied to? I’m happy to help test and will even deploy this to several thousand people should this look promising.<span class="Apple-converted-space"> </span><br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">As I understood from mailings on libusb-devel you’ve found patches already, right?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">~Dmitry.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">Thanks Dmitry.<br class=""><br class="">Very Sincerely,<br class="">Jason<br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">On Mar 4, 2015, at 5:03 AM, Dmitry Fleytman <<a href="mailto:dmitry@daynix.com" class="">dmitry@daynix.com</a>> wrote:<br class=""><br class="">Hi Jason,<br class=""><br class="">My name is Dmitry Fleytman and I’m author and maintainer of UsbDk.<br class=""><br class=""><blockquote type="cite" class="">On Mar 3, 2015, at 23:36 PM, Jason Kotzin <<a href="mailto:jason@flirc.tv" class="">jason@flirc.tv</a>> wrote:<br class=""><br class="">Spice Developers -<span class="Apple-converted-space"> </span><br class=""><br class="">I have been watching the discussion on the libusb developer mailer and am absolutely intrigued. The number one issue I have my product is with windows usb device handling. Drivers and inf’s do not consistently work and with so many versions of windows and hardware, I have battled issue after issue. I’m at the point now where I’m considering re-writing all my firmware, and all my drivers to use a hid device for windows driverless communication (already started).<br class=""><br class="">UsbDk sounds too good to be true.<br class=""></blockquote><br class=""><br class="">Thanks :)<br class=""><br class=""><blockquote type="cite" class=""><br class="">I’m interested in playing with it, and have read through all the documentation, but am a bit unclear how everything works. Please let me know if this is correct:<br class=""><br class="">1. Instal via msi package (I understand there is an alternative, but this is what I would use)<br class="">2. Ensure I have the libusb backend for UsbDk.<br class="">3. Done, my libusb on windows should now use the UsbDk filter driver.<br class=""><br class="">Is that correct?<br class=""></blockquote><br class="">Yes, exactly.<br class=""><br class=""><blockquote type="cite" class=""><br class="">How do I tell windows not to fire up that ‘new hardware detected’ message. With UsbDkController.exe -r ID sn ?<br class=""></blockquote><br class=""><br class="">Use hider API, UsbDk_AddHideRule() etc.<br class=""><br class=""><blockquote type="cite" class=""><br class="">Where can I find the libusb patches? I’m anxious to try this.<br class=""></blockquote><br class="">I’ve posted patches to libusb-devel a few days ago. Please do not hesitate to send us problem reports if any.<br class=""><br class=""><blockquote type="cite" class=""><br class="">Thanks so much.<br class=""></blockquote><br class="">You’re welcome!<br class=""><br class="">~Dmitry<br class=""><br class="">P.S. While we are very interested to have people use and test UsbDk for different devices and in different scenarios, I must say that driverless HID device scheme is way better and simpler as long as your device functionally covered by HID specification, so maybe you should go that direction even if UsbDk works good for you...<br class=""><br class=""><br class=""><blockquote type="cite" class=""><br class="">Very Sincerely,<br class="">Jason<br class=""><br class="">_______________________________________________<br class="">Spice-devel mailing list<br class=""><a href="mailto:Spice-devel@lists.freedesktop.org" class="">Spice-devel@lists.freedesktop.org</a><br class=""><a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" class="">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a></blockquote></blockquote></blockquote></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>