On Sat, 27 Oct 2012, Peter Stuge wrote: > > The sniffer output is from the "competing program" using default OS > > driver USBSTOR. It contains BOTH types of communication and the > > switch over is quite visible. > > Where would you say that it happens in the log? > > Also, do I understand correctly that you snipped part of the log out > - from URB 45 up until URB 153, the response to URB 152? > > Without looking very closely at any of the data being sent, it's > clear from the log that the only Driver Name values are USBSTOR and > usbhub. This means that you will need to talk to those drivers in > order to replicate what the competing program does, rather than > trying to use libusb. I still think the storage subsystem has your > answer.
Speaking as someone who knows practically nothing about the various APIs in Windows, the impression I get is that the "competing program" is using a "raw SCSI" interface. The analogous facility in Linux is provided by the sg (SCSI generic) driver; it offers a way for user programs to send arbitrary SCSI commands to any device that uses the SCSI protocol. The user program tells sg what the command data bytes are, how much data should be transferred and in which direction, provides a transfer buffer and a status buffer, and so on. The sg driver then invokes the lower-level SCSI handler (which in this case would be the USB mass-storage driver) to carry out the command. Does Windows provide this sort of "raw SCSI" interface? Alan Stern ------------------------------------------------------------------------------ WINDOWS 8 is here. Millions of people. Your app in 30 days. Visit The Windows 8 Center at Sourceforge for all your go to resources. http://windows8center.sourceforge.net/ join-generation-app-and-make-money-coding-fast/ _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel