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 > So try submitting the in-direction buffer first. Then send out the > command, and you should get the expected packet back. Don't forget to not > let the USB subsystem run out of in-direction buffers. > > On Fri, 29 Apr 2005, Dmitri Kostioukov wrote: > > >I've been trying to program x10 usb home automation interface and I always > have > >this problem - the first device response is always missing after my program > >starts up. I see the same behavior with 3 different devices from 2 > different > >manufacturers. There's no special processing I do for the first response - > they > >all follow the same code path. As you can see from the enclosed log, I send > out > >the same command (0x8b) but the first response is missing. I can see only > the > >second 8 byte response. However the second request produces a correct > response. > >Everything else from that point on work fine. It might be something I do > >incorrectly, of course, but I don't think so. Is there any other way to > >troubleshoot it? Here's the trace: > > > >Device found > >[default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/043 > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[145] Submitting > ClaimInterface > >Request. > >[default](3) JavaxUsbInterfaceRequest.c.claim_interface[87] Claiming > interface 0 > >[default](3) JavaxUsbInterfaceRequest.c.claim_interface[96] Claimed > interface 0 > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >Listening > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB > >[default](2) JavaxUsbKernel.c.setKernelVersion[45] Kernel version string > 2.4.30 > >parsed as 2.4.30 > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >Out: 8b 0 0 0 0 0 0 0 > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[91] > >Got completed URB > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[113] Completing URB. > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[126] Completed URB. > >Sent > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[95] > >Finished completed URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[91] > >Got completed URB > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[113] Completing URB. > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[126] Completed URB. > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[95] > >Finished completed URB > >In: 0 0 0 0 0 0 0 0 > >Done > >Listening > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >Out: 8b 0 0 0 0 0 0 0 > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[91] > >Got completed URB > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[113] Completing URB. > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[126] Completed URB. > >Sent > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[95] > >Finished completed URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[91] > >Got completed URB > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[113] Completing URB. > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[126] Completed URB. > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[95] > >Finished completed URB > >In: 0 0 35 0 0 1 1 2 > >Done > >Listening > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > >Got Request > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > >[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[62] Submitting URB > >[xfer](2) JavaxUsbPipeRequest.c.pipe_request[75] Submitted URB > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] > >Completed Request > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[91] > >Got completed URB > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[113] Completing URB. > >[xfer](2) JavaxUsbPipeRequest.c.complete_pipe_request[126] Completed URB. > >[xfer](2) > >JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[95] > >Finished completed URB > >In: 0 0 0 0 0 0 0 0 > >Done > > > > > > > >------------------------------------------------------- > >SF.Net email is sponsored by: Tell us your software development plans! > >Take this survey and enter to win a one-year sub to SourceForge.net > >Plus IDC's 2005 look-ahead and a copy of this survey > >Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=105hix > >_______________________________________________ > >javax-usb-devel mailing list > >javax-usb-devel@lists.sourceforge.net > >https://lists.sourceforge.net/lists/listinfo/javax-usb-devel > > > > -- > 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