Unable to submit control message: Input/Output Error

44 views
Skip to first unread message

Henk Schurink

unread,
Jun 16, 2018, 7:12:01 PM6/16/18
to usb4java
I am trying to replicate the following URB_CONTROL packet which I captured with Wireshark:
    0000   80 87 11 fe f2 8a ff ff 53 02 00 02 03 00 00 00  ........S.......
   
0010   05 30 25 5b 00 00 00 00 1c 84 02 00 8d ff ff ff  .0%[............
   
0020   08 00 00 00 08 00 00 00 21 09 b3 02 02 00 08 00  ........!.......
   
0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

However, I am getting an exception:
    Exception in thread "main" javax.usb.UsbPlatformException: USB error 1: Unable to submit control message: Input/Output Error
        at org
.usb4java.javax.ExceptionUtils.createPlatformException(ExceptionUtils.java:39)
        at org
.usb4java.javax.AbstractIrpQueue.processControlIrp(AbstractIrpQueue.java:229)
        at org
.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:41)
        at org
.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:18)
        at org
.usb4java.javax.AbstractIrpQueue.process(AbstractIrpQueue.java:104)
        at org
.usb4java.javax.AbstractIrpQueue$1.run(AbstractIrpQueue.java:73)

        at java
.base/java.lang.Thread.run(Thread.java:844)

I am using the following Java code (please correct me if I'm doing something wrong here):
    UsbDevice mouse = findDevice(UsbHostManager.getUsbServices().getRootUsbHub(), (short) 0x1EA7, (short) 0x002d);
    mouse
.getActiveUsbConfiguration().getUsbInterface((byte) 1).claim(new UsbInterfacePolicy() {
       
public boolean forceClaim(UsbInterface usbInterface) {
           
return true;
       
}
   
});
   
UsbControlIrp irp = mouse.createUsbControlIrp((byte) 0x21, (byte) 9, (short) 0x02b3, (short) 0x0002);
    irp
.setData(new byte[] {(byte) 0xb3, 0x20, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00});
   
// Exception happens in statement under here.
    mouse
.syncSubmit(irp);

Any idea what might cause it? I've searched online but no results. Thanks in advance.
Message has been deleted

Henk Schurink

unread,
Jun 16, 2018, 8:29:55 PM6/16/18
to usb4java
Correction: this is the full original URB_CONTROL packet:

0000    80 87 11 fe f2 8a ff ff 53 02 00 02 03 00 00 00
0010    05 30 25 5b 00 00 00 00 1c 84 02 00 8d ff ff ff
0020    08 00 00 00 08 00 00 00 21 09 b3 02 02 00 08 00
0030    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040    b3 23 00 00 00 00 00 00


Reply all
Reply to author
Forward
0 new messages