| 
      
      
      From: Stephan M. <ste...@we...> - 2006-10-18 17:28:31
       | 
| >=20 > I'm looking at some SnoopyPro output, and (not being terribly > familiar with USB details), struggling to relate the information > it displays with either the USB spec., or the libusb interface. >=20 > An example transaction: >=20 > URB Header (length: 80) > SequenceNumber: 4 > Function: 0019 (VENDOR=5FENDPOINT) This is the URB function used by Microsoft's USB stack. Just ignore it, y= ou don't need it. >From ddk/usbdi.h: #define URB=5FFUNCTION=5FVENDOR=5FENDPOINT 0x0019 The packet you see is a CLEAR=5FFEATURE request (see USB spec, chapter 9). > PipeHandle: 00000000 >=20 > SetupPacket: > 0000: 00 01 00 00 01 00 00 00 > bmRequestType: 00 > DIR: Host-To-Device > TYPE: Standard > RECIPIENT: Device > bRequest: 01 > CLEAR=5FFEATURE >=20 > No TransferBuffer >=20 >=20 > Now things like bmRequestType and bRequest are explained directly > in the USB spec., but I can't find any reference to a "Function" code 0x= 19 > called VENDOR=5FENDPOINT (or any similar functions, such > as 0x00 SELECT=5FCONFIGURATION, 0x08 CONTROL=5FTRANSFER, > 0x0b GET=5FDESCRIPTOR=5FFROM=5FDEVICE etc.), nor can I see how one > would trigger such transactions using libusb. >=20 > How would I create a VENDOR=5FENDPOINT transaction above =3F >=20 > Can I do this with a call to usb=5Fcontrol=5Fmsg() =3F If so, > how do I setup for function 0x19, as the arguments to > usb=5Fcontrol=5Fmsg() seem to correspond to the bmRequestType > and bRequest fields documented in the USB spec., and > according to the above, have a value of 0x00 and 0x01, > rather than something like 0x42 and 0x01, that might seem > to be the right values for Vendor + Endpoint =3F How > would 0x42 relate to function 0x19 =3F >=20 > If not, what function call is appropriate =3F >=20 > Any help in pointing me in the right direction would > be much appreciated. >=20 > thanks, > Graeme Gill. >=20 >=20 > ------------------------------------------------------------------------= - > Using Tomcat but need to do more=3F Need to support web services, security= =3F > Get stuff done quickly with pre-integrated technology to make your job e= asier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geroni= mo > http://sel.as-us.falkag.net/sel=3Fcmd=3Dlnk&kid=3D120709&bid=3D263057&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 Viren-Scan f=FCr Ihren PC! Jetzt f=FCr jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/=3Fmc=3D022222 | 
| 
      
      
      From: Graeme G. <gr...@ar...> - 2006-10-19 08:13:16
       | 
| Stephan Meyer wrote: >> URB Header (length: 80) >> SequenceNumber: 4 >> Function: 0019 (VENDOR_ENDPOINT) > > > This is the URB function used by Microsoft's USB stack. Just ignore it, you don't > need it. >>From ddk/usbdi.h: #define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 > > The packet you see is a CLEAR_FEATURE request (see USB spec, chapter 9). Thanks, I tried that, but it didn't quite work that way. (Sorry, I didn't show that the above was followed by another control transfer that turns out to be related.) It appears that the way SnoopyPro reports things, this is the first part of two transaction that make up a single control message. The control message was actually 0xC2 with wLength of 8, (Hence "vendor" and "endpoint"), but the first thing reported is the above, with a bmRequestType value of 0x00 and wLength of 0, which is what confused me. Subsequently it reports a control transfer with bmRequestType 0xC2 and wLength 8. Doing a control message call with libusb results in the same reported sequence, so it seems I can go ahead an emulate the windows driver behaviour, which is what I was after :-) I guess it's just reporting the way that USB works, something that isn't that easy to figure out from the spec itself... cheers, Graeme Gill. |