I need some pointers…   I’m trying to use javax-usb for the first time and I’m running into a brick wall.  I’m trying to talk to a new device we’re building.

 

Here is the flow:

 

I am able to traverse the USB device lists and find our new device by it’s VendorID/ProductID.

I set configuration 0 (this works fine)

I get the list of interfaces and only find 1 (which is correct)

I claim interface 1

I am able to determine that interface 1 has two endpoints (one bulk IN and one bulk OUT)

I am able to open a pipe on endpoint 2 (OUT)

I create an IRP with a size of 32 (MaxPacketSize is 64)  new DefaultUsbIrp(new byte[] {…});

I then call pipe.syncSubmit(irp)

 

 

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

bulk_pipe_request : URB endpoint = 2

bulk_pipe_request : URB status = 0

bulk_pipe_request : URB signal = 0

bulk_pipe_request : URB buffer length = 32

bulk_pipe_request : URB actual length = 0

bulk_pipe_request : URB data = "">

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

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

javax.usb.UsbException: Error submitting IRP : Submission aborted

            at com.ibm.jusb.os.linux.LinuxPipeRequest.completeUsbIrp(LinuxPipeRequest.java:84)

            at com.ibm.jusb.os.linux.LinuxPipeRequest.setCompleted(LinuxPipeRequest.java:74)

            …

 

Any ideas???

 

-Robert

Reply via email to