发送消息时发生usb4java错误:USB错误1:控制传输失败:输入/输出错误

发送消息时发生usb4java错误:USB错误1:控制传输失败:输入/输出错误,usb,infrared,usb4java,write-error,Usb,Infrared,Usb4java,Write Error,我尝试使用usb4java api向ir读写元素发送一条消息,代码如下: 公共静态void sendData(DeviceHandle句柄,int超时){ ByteBuffer缓冲区=ByteBuffer.allocateDirect(12); put(新字节[]{1,2,3,4,5,6,7,8,9,10,11,12}); buffer.rewind(); int transferd=LibUsb.controlTransfer(句柄, (字节)(LibUsb.REQUEST_TYPE_CLAS

我尝试使用usb4java api向ir读写元素发送一条消息,代码如下:

公共静态void sendData(DeviceHandle句柄,int超时){
ByteBuffer缓冲区=ByteBuffer.allocateDirect(12);
put(新字节[]{1,2,3,4,5,6,7,8,9,10,11,12});
buffer.rewind();
int transferd=LibUsb.controlTransfer(句柄,
(字节)(LibUsb.REQUEST_TYPE_CLASS | LibUsb.RECIPIENT_接口),
(字节)0x09,(短)2,(短)1,缓冲区,超时);
如果(传输<0){
抛出新的libusbeexception(“控制传输失败”,已传输);
}
System.out.println(已传输+“已发送字节”);
}
但每次尝试时,我都会在
int=controlTransfer(handle,(LibUsb.REQUEST_TYPE_CLASS | RECIPIENT_INTERFACE),0x09,(short)2,(short)1,buffer,timeout)处得到这个错误

线程“main”org.usb4java.libusbeexception中的异常:USB错误1:控制传输失败:输入/输出错误 位于usb.reader.USBReader.sendData(USBReader.java:56) 位于usb.reader.USBReader.main(USBReader.java:42) Java结果:1
也许你们中有人知道如何解决这个问题

我真的很期待你的回答

编辑:我想我必须说,我的操作系统是64位Linux,在Windows 8.1 64位上的VM VirtualBox中。(USB转发已激活;我已访问USB设备)


value wValue=256

您好,欢迎来到。这些部分不鼓励只使用代码的答案,因此请在回答的同时解释一下您的代码。我想,如果用户将wValue传递为256,答案可能是显而易见的……但是他们没有……并且没有解释为什么这可能会导致问题。
    int transfered = LibUsb.controlTransfer(
            handle,
            (byte) (LibUsb.REQUEST_TYPE_CLASS | LibUsb.RECIPIENT_INTERFACE),
            (byte) 0x09, //bmRequestType
            (short) 256, //wValue 
            (short) 0, //wIndex
            buffer, TIMEOUT);