Your emailer is line-wrapping the JNI trace...can you resend as an attachment?
I just want to verify with the JNI trace that the in-direction buffer is getting submitted before the out-direction buffer. It looked like, from the JNI trace you sent, that the out-direction buffer was getting sent out before the in-direction buffer. Remember that creating threads takes time, so if you're doing: inThread.start(); outPipe.syncSubmit(buffer); chances are the out-direction buffer will ALWAYS get to the device well before the in-direction buffer. If you're using a seperate Thread to manage the in-direction buffer(s), maybe you should add a 10ms (or more) delay to make sure the in-direction buffer(s) get to the device before submitting the out-direction buffer? On Mon, 9 May 2005, Dmitri Kostioukov wrote: >Quoting Dan Streetman <[EMAIL PROTECTED]>: > >> >> I have to assume the device is really not sending the first response you >> are expecting. Without knowing the device protocol, I have no idea why >> your device would skip that. > >At first I assumed it was a problem with a device itself. But like I mentioned >earlier - it happens with 3 different devices by 2 different manufacturers with >independent communication protocol. I can send pretty much and command and even >if the command itself is acknowledged by the device, I still do not the the >very >first 8 byte response. > > >> If you can get a USB bus trace, you could check if the device was actually >> sending the first response (and so show that javax.usb is dropping/losing >> the response). However I think it's much more likely the device just >> isn't sending that response. > >What's the easiest way to do it? I'll try. > >> On Mon, 2 May 2005, Dmitri Kostioukov wrote: >> >> >Quoting Dan Streetman <[EMAIL PROTECTED]>: >> > >> >> >> >> If it's an interrupt pipe then you have to submit your buffer before you >> >> send the command down. Interrupt pipes are only polled when you pass a >> > >> >I definitely do. >> > >> >> buffer to the USB subsystem to use (i.e. to put poll data in). You need >> >> to submit several buffers so the USb subsystem always has a buffer to put >> >> >> data in, and can thus maintain the spec-required polling interval for >> >> interrupt endpoints. >> > >> >What I do is start a separate threat which does nothing but submits the >> >in-buffer but just in case it could be the root of the problem, I modified >> it to >> >start multiple threads instead. The problem still exists. The output is >> below: >> > >> >Device found >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Listening >> >Out: 8b 0 0 0 0 0 0 0 >> >Sent >> >In: 0 4 0 0 0 0 0 0 >> >Done >> >Out: 8b 0 0 0 0 0 0 0 >> >Sent >> >In: 0 0 3 0 0 1 1 2 >> >Done >> >In: 0 4 0 0 0 0 0 0 >> >Done >> > >> > > -- Dan Streetman [EMAIL PROTECTED] --------------------- 186,272 miles per second: It isn't just a good idea, it's the law! ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ javax-usb-devel mailing list javax-usb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/javax-usb-devel