Hello,

 

For my personal project, I am trying to submit data to a device (digital camera), suing syncSubmit(). It works fine with one syncSubmit(), and after, I turns off this device. But if this program suing a lot of syncSubmit(), sometimes it fails on "could not submit IRQ...".

 

To understand this problem, I start with DefaultControlPipe and I add a loop in as follows :

 

            public class DefaultControlPipe {

                        public static void main(String argv[]) {

                                   

boolean noerror = true;

                                    for (int i = 0; noerror && i < 100; i++) {

                                                dump("n°" + i);

                                                /*

                                                 * Show how to communicate using the StandardRequest utility

                                                 * class.

                                                 */

                                                noerror = showStandardRequestCommunication(usbDevice);

 

                                                /* Show how to communicate using UsbControlIrp objects. */

                                                noerror = showUsbControlIrpCommunication(usbDevice);

                                               

                                                // stop on error or if i==99

                                    }

           

 

With this program, I have the same error. I give the log with -DJAVAX_USB_MSG_LEVEL=DEBUG3 :

 

n°3

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] Got Request

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[124] Submitting Request.

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[128] Submitting Pipe Request.

LOG:[xfer](4) JavaxUsbPipeRequest.c.pipe_request[63] Submitting URB

LOG:[xfer](4) JavaxUsbPipeRequest.c.pipe_request[76] Submitted URB

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] Completed Request

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[90] Got completed URB

LOG:[xfer](4) JavaxUsbPipeRequest.c.complete_pipe_request[114] Completing URB.

LOG:[xfer](4) JavaxUsbPipeRequest.c.complete_pipe_request[127] Completed URB.

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[94] Finished completed URB

Got device descriptor (length 18) :

 0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x08 0xb0 0x04 0x14 0x01 0x00 0x01 0x01 0x02 0x03 0x01

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] Got Request

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[124] Submitting Request.

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[128] Submitting Pipe Request.

LOG:[xfer](4) JavaxUsbPipeRequest.c.pipe_request[63] Submitting URB

LOG:[xfer](4) JavaxUsbPipeRequest.c.pipe_request[76] Submitted URB

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] Completed Request

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[90] Got completed URB

LOG:[xfer](4) JavaxUsbPipeRequest.c.complete_pipe_request[114] Completing URB.

LOG:[xfer](4) JavaxUsbPipeRequest.c.complete_pipe_request[127] Completed URB.

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[94] Finished completed URB

Got current configuration number : 1

--> bRequest = UsbConst.REQUEST_GET_DESCRIPTOR

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] Got Request

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[124] Submitting Request.

LOG:[xfer](5) JavaxUsbDeviceProxy.c.submitRequest[128] Submitting Pipe Request.

LOG:[xfer](4) JavaxUsbPipeRequest.c.pipe_request[63] Submitting URB

LOG:[xfer](1) JavaxUsbPipeRequest.c.pipe_request[74] Could not submit URB (errno -6)

LOG:[xfer](4) JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[78] Completed Request

DCP submission failed : Error submitting IRP : Cannot queue certain submissions on Universal Host Controller (unsupported in Linux driver)

 

 

Can anybody give me some suggestions or solution to this problem ?

I use Mandrake OS with 2.4.25-2mdk Kernel.

 

Other question : how reset the device on UsbStallException ?

 

Regards,

Nicolas


------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ javax-usb-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to