|
From: Stephan M. <ste...@we...> - 2006-03-27 17:05:33
|
I'm no HID expert, but I think what you're trying to accomplish can be done completely without libusb-win32: Solution 1): Add feature reports to your mouse. So that you can use Windows' HidD_SetFeature() and HidD_GetFeature() API functions to send vendor specific commands to your device (I haven't done this on my own, so I don't know if this solution actually works). Solution 2.) If 1.) doesn't work, then move your 'control endpoint' to a seperat interface that exposes itself as a vendor specific HID, i.e. build a composite device that consist of a HID mouse and of a custom HID. Then use the second custom HID interface to send your vendor specific commands. Stephan > Hello, > > I am developing an USB pointer device. The device acts as a 'normal' > UBS mouse, so it is recognized by every OS without using special > drivers. This all works fine. > > I need to be able to change configuration settings on the device as > well. For this I added an extra OUT endpoint where I can send special > commands to; this is used for configuring the device and uploading new > firmware. > > With linux, the HID mouse is claimed by the usbhid driver right away, > but using the usb_detach_kernel_driver_np() function I can still take > control over the device. libusb-win32 does not support this call, > however. > > Summarizing: I want the normal windows driver to handle my mouse, but > still be able to talk to the other endpoints using libusb. What would > be the best way to handle this with libusb-win32 ? > > Thank you very much, > > > > -- > :wq > ^X^Cy^K^X^C^C^C^C > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting language > that extends applications into web and mobile media. Attend the live webcast > and join the prime developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 |
|
From: Stephan M. <ste...@we...> - 2006-03-28 18:56:21
|
> > Solution 1): Add feature reports to your mouse. So that you can use > > Windows' HidD=5FSetFeature() and HidD=5FGetFeature() API functions > > to send vendor specific commands to your device (I haven't done this > > on my own, so I don't know if this solution actually works). >=20 > You are right; reading the HID spec more closefully, I think this is the= > right thing to do.=20 >=20 ... >=20 > I will still need one bulk OUT enpoint though, for the purpose of > firmware uploading. You don't need the extra endpoint. You can use feature reports for=20 this as well. =20 >=20 > Thanks, >=20 > Ico >=20 > >=20 > > >=20 > > > I am developing an USB pointer device. The device acts as a 'normal'= > > > UBS mouse, so it is recognized by every OS without using special > > > drivers. This all works fine. > > >=20 > > > I need to be able to change configuration settings on the device as > > > well. For this I added an extra OUT endpoint where I can send specia= l > > > commands to; this is used for configuring the device and uploading n= ew > > > firmware. > > >=20 > > > With linux, the HID mouse is claimed by the usbhid driver right away= , > > > but using the usb=5Fdetach=5Fkernel=5Fdriver=5Fnp() function I can still tak= e > > > control over the device. libusb-win32 does not support this call, > > > however. > > >=20 > > > Summarizing: I want the normal windows driver to handle my mouse, bu= t > > > still be able to talk to the other endpoints using libusb. What wou= ld > > > be the best way to handle this with libusb-win32 =3F > > =20 >=20 > --=20 > :wq > ^X^Cy^K^X^C^C^C^C >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langu= age > that extends applications into web and mobile media. Attend the live web= cast > and join the prime developer group breaking into this new coding territo= ry! > http://sel.as-us.falkag.net/sel=3Fcmd=3Dlnk&kid=3D110944&bid=3D241720&dat=3D121642= > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= Erweitern Sie FreeMail zu einem noch leistungsst=E4rkeren E-Mail-Postfach! =09 Mehr Infos unter http://freemail.web.de/home/landingpad/=3Fmc=3D021131 |
|
From: <li...@ze...> - 2006-04-02 21:02:31
|
* On 2006-03-28 Stephan Meyer <ste...@we...> wrote : > > > > Summarizing: I want the normal windows driver to handle my mouse, but > > > > still be able to talk to the other endpoints using libusb. What would > > > > be the best way to handle this with libusb-win32 ? > > > > Solution 1): Add feature reports to your mouse. So that you can use > > > Windows' HidD_SetFeature() and HidD_GetFeature() API functions > > > to send vendor specific commands to your device (I haven't done this > > > on my own, so I don't know if this solution actually works). > > > > I will still need one bulk OUT enpoint though, for the purpose of > > firmware uploading. > > You don't need the extra endpoint. You can use feature reports for > this as well. Thank you all for your help; Instead of using the provided library from atmel, I have now created my own USB client stack, and successfully implemented the get_feature and set_feature requests. Both configuration and upgrading of firmware works as a charm. -- :wq ^X^Cy^K^X^C^C^C^C |
|
From: <li...@ze...> - 2006-03-27 17:39:45
|
* On 2006-03-27 Stephan Meyer <ste...@we...> wrote : > I'm no HID expert, but I think what you're trying to accomplish can > be done completely without libusb-win32: > > Solution 1): Add feature reports to your mouse. So that you can use > Windows' HidD_SetFeature() and HidD_GetFeature() API functions > to send vendor specific commands to your device (I haven't done this > on my own, so I don't know if this solution actually works). You are right; reading the HID spec more closefully, I think this is the right thing to do. My only problem is that I am using a very inflexible USB firmware library from Atmel in my device, which does not seem to support feature request. Maybe rewriting (part of) this library is the best solution after all, since there are more limitations to it that I run into every now and then. I will still need one bulk OUT enpoint though, for the purpose of firmware uploading. Thanks, Ico > > > > > I am developing an USB pointer device. The device acts as a 'normal' > > UBS mouse, so it is recognized by every OS without using special > > drivers. This all works fine. > > > > I need to be able to change configuration settings on the device as > > well. For this I added an extra OUT endpoint where I can send special > > commands to; this is used for configuring the device and uploading new > > firmware. > > > > With linux, the HID mouse is claimed by the usbhid driver right away, > > but using the usb_detach_kernel_driver_np() function I can still take > > control over the device. libusb-win32 does not support this call, > > however. > > > > Summarizing: I want the normal windows driver to handle my mouse, but > > still be able to talk to the other endpoints using libusb. What would > > be the best way to handle this with libusb-win32 ? > -- :wq ^X^Cy^K^X^C^C^C^C |
|
From: Robert M. <mar...@co...> - 2006-03-28 05:55:57
|
Stephan Meyer wrote: > I'm no HID expert, but I think what you're trying to accomplish can > be done completely without libusb-win32: > > Solution 1): Add feature reports to your mouse. So that you can use > Windows' HidD_SetFeature() and HidD_GetFeature() API functions > to send vendor specific commands to your device (I haven't done this > on my own, so I don't know if this solution actually works). This is the way to go for mice and keyboards. Our keyboard chips have a feature report and we are able to download data to the keyboard without any problems in Windows. Also a feature report does not break the boot-protocol for keyboards. |