Hi, I thought that your idea seems to be a solution, but I get it not working. Perhaps I make something wrong in the code, so here it is:
In my libjavaxusb.java is seperated code for handling the lib: I have a "void findCamera()", that finds the device and calls connectCamera: private void connectCamera(UsbDevice dev) { try{ List myConfigs = dev.getUsbConfigurations(); UsbConfiguration myConfig = (UsbConfiguration)myConfigs.get(0); myInterface = (UsbInterface)(myConfig.getUsbInterfaces().get(0)); myInterface.claim(); List myEndpoints = myInterface.getUsbEndpoints(); UsbEndpoint myEndpointIn = (UsbEndpoint)myEndpoints.get(0); System.out.println(myEndpointIn.getUsbEndpointDescriptor().wMaxPacketSize()); <-- why is wMaxPacketSize = 64 and dev.getUsbDeviceDescriptor().bMaxPacketSize0() = 16? can that confuse javaxusb? UsbEndpoint myEndpointOut = (UsbEndpoint)myEndpoints.get(1); System.out.println(myEndpointOut.getUsbEndpointDescriptor().wMaxPacketSize()); <-- also 64 //that only some debug if(myEndpointIn.getDirection()==UsbConst.ENDPOINT_DIRECTION_IN) System.out.print("Endpoint1(in): Direction IN"); else System.out.print("Endpoint1(in): Direction OUT"); if(myEndpointIn.getType()==UsbConst.ENDPOINT_TYPE_BULK) System.out.println(", transfer type bulk"); else if(myEndpointIn.getType()==UsbConst.ENDPOINT_TYPE_INTERRUPT) System.out.println(", transfer type interrupt"); if(myEndpointOut.getDirection()==UsbConst.ENDPOINT_DIRECTION_IN) System.out.print("Endpoint2(out): Direction IN"); else System.out.print("Endpoint2(out): Direction OUT"); if(myEndpointOut.getType()==UsbConst.ENDPOINT_TYPE_BULK) System.out.println(", transfer type bulk"); else if(myEndpointOut.getType()==UsbConst.ENDPOINT_TYPE_INTERRUPT) System.out.println(", transfer type interrupt"); PipeIn = myEndpointIn.getUsbPipe(); PipeIn.open(); if (PipeIn.isOpen() && PipeIn.isActive()) System.out.println("Pipe IN opened"); PipeOut = myEndpointOut.getUsbPipe(); PipeOut.open(); if (PipeOut.isOpen()&& PipeOut.isActive()) System.out.println("Pipe OUT opened"); } catch (UsbException usbe){usbe.printStackTrace();} } // seperated code for send and receive public void send(byte[] data) { try{ PipeOut.syncSubmit(data); } catch (UsbException usbe){usbe.printStackTrace();} } public void receive(byte[] data) { try{ PipeIn.syncSubmit(data); } catch (UsbException usbe){usbe.printStackTrace();} } public UsbPipe getPipeIn() { return PipeIn; } //this my thread, that I use to sumbit a buffer, before I send the data. class inputThread extends Thread { byte[] input; byte MaxPacketSize; UsbPipe PipeIn; public inputThread(UsbPipe InputPipe, byte bMaxPacketSize) { PipeIn = InputPipe; MaxPacketSize = bMaxPacketSize; } public void run() { try{ input = new byte[MaxPacketSize]; PipeIn.syncSubmit(input); for (int i=0; i<input.length;i++) { System.out.print(UsbUtil.toHexString(input[i])); } } catch (UsbException usbe){usbe.printStackTrace();} } than I have a rdc7.java, holding the code to communicate with the camera. public class rdc7 { private byte STX = (byte)0x02; /* start of text */ private byte ETX = (byte)0x03; /* end of text */ private byte ACK = (byte)0x06; /* acknowledge */ private byte NAK = (byte)0x15; /* negative acknowledge */ private byte ETB = (byte)0x17; /* end of transmission block */ private byte DLE = (byte)0x10; /* datalink escape */ libjavaxusb myLib = new libjavaxusb(); public rdc7() { myLib.findCamera(); this.enterCamera(); } public void enterCamera() { // try{ byte[] Data; byte[] Frame; byte[] response = new byte[64]; byte[] ack = {DLE,ACK}; // usbsnoop - 10 02 |31 03 00 00 00| 10 03 c6 a7 05 00 Data = new byte[5]; Data[0] = (byte)0x31; //speed command? Data[1] = (byte)0x03; inputThread myInputThread = new inputThread(myLib.getPipeIn(),(byte)2); <-- here I tested also 64 as buffer size. Frame = getFrame(Data); System.out.println("Frame[] = "); for (int i = 0; i<Frame.length;i++) { System.out.print(UsbUtil.toHexString(Frame[i]) + " "); } System.out.println(""); myInputThread.start(); //start the thread, and submit a buffer to input pipe, before send command to output. //response = new byte[myLib.getbMaxPacketSize()]; myLib.send(Frame); //myLib.receive(response); //System.out.println("Waiting for response[], size: " + response.length); //System.exit(0); } } So the output looks normally like this: Frame[] = 10 02 31 03 00 00 00 10 03 c6 a7 05 00 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[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](5) JavaxUsb.h.debug_urb[275] bulk_pipe_request : URB endpoint = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] bulk_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] bulk_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] bulk_pipe_request : URB buffer length = 13 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] bulk_pipe_request : URB actual length = 0 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] bulk_pipe_request : URB data = 10 02 31 03 00 00 00 10 03 c6 a7 05 00 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](5) JavaxUsb.h.debug_urb[275] complete_pipe_request : URB endpoint = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] complete_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] complete_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] complete_pipe_request : URB buffer length = 13 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] complete_pipe_request : URB actual length = 13 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] complete_pipe_request : URB data = 10 02 31 03 00 00 00 10 03 c6 a7 05 00 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 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](5) JavaxUsb.h.debug_urb[275] bulk_pipe_request : URB endpoint = 82 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] bulk_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] bulk_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] bulk_pipe_request : URB buffer length = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] bulk_pipe_request : URB actual length = 0 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] bulk_pipe_request : URB data = 00 00 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 Although I used a seperated thread for the input-submit the input-request comes not before the output request. But I tested and tested, and onetime I got this: LOG:[xfer](5) JavaxUsb.h.debug_urb[275] bulk_pipe_request : URB endpoint = 82 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] bulk_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] bulk_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] bulk_pipe_request : URB buffer length = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] bulk_pipe_request : URB actual length = 0 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] bulk_pipe_request : URB data = 00 00 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[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](5) JavaxUsb.h.debug_urb[275] bulk_pipe_request : URB endpoint = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] bulk_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] bulk_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] bulk_pipe_request : URB buffer length = 13 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] bulk_pipe_request : URB actual length = 0 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] bulk_pipe_request : URB data = 10 02 31 03 00 00 00 10 03 c6 a7 05 00 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](5) JavaxUsb.h.debug_urb[275] complete_pipe_request : URB endpoint = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] complete_pipe_request : URB status = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] complete_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] complete_pipe_request : URB buffer length = 13 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] complete_pipe_request : URB actual length = 13 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] complete_pipe_request : URB data = 10 02 31 03 00 00 00 10 03 c6 a7 05 00 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 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](5) JavaxUsb.h.debug_urb[275] complete_pipe_request : URB endpoint = 82 LOG:[xfer](5) JavaxUsb.h.debug_urb[276] complete_pipe_request : URB status = -84 LOG:[xfer](5) JavaxUsb.h.debug_urb[277] complete_pipe_request : URB signal = 0 LOG:[xfer](5) JavaxUsb.h.debug_urb[278] complete_pipe_request : URB buffer length = 2 LOG:[xfer](5) JavaxUsb.h.debug_urb[279] complete_pipe_request : URB actual length = 0 LOG:[xfer](2) JavaxUsb.h.debug_urb[285] complete_pipe_request : URB data = a8 f5 <-- but this isn't the expected data.... 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 javax.usb.UsbException: Error submitting IRP : Illegal byte sequence <-- perhaps you can say what must happen for javaxusb to throw that exeption. at com.ibm.jusb.os.linux.LinuxPipeRequest.completeUsbIrp(LinuxPipeRequest.java:84) at com.ibm.jusb.os.linux.LinuxPipeRequest.setCompleted(LinuxPipeRequest.java:74) at com.ibm.jusb.os.linux.JavaxUsb.nativeDeviceProxy(Native Method) at com.ibm.jusb.os.linux.LinuxDeviceProxy$1.run(LinuxDeviceProxy.java:87) at java.lang.Thread.run(Thread.java:479) The input-request comes here before the output-request, but I actually don't no how to reproduce this... after this and replugging the device I got this on /var/log/messages: Jun 12 17:58:20 Benjamin kernel: hub.c: USB new device connect on bus1/2, assigned device number 19 Jun 12 17:58:22 Benjamin kernel: usbdevfs: process 5998 (java) did not claim interface 0 before use Jun 12 17:58:23 Benjamin kernel: usb_control/bulk_msg: timeout Jun 12 17:58:23 Benjamin kernel: usb.c: USB device not accepting new address=19 (error=-110) Jun 12 17:58:34 Benjamin kernel: usbdevfs: process 6035 (java) did not claim interface 0 before use Jun 12 17:58:48 Benjamin kernel: hub.c: USB new device connect on bus1/2, assigned device number 20 Jun 12 17:58:51 Benjamin kernel: usb_control/bulk_msg: timeout Jun 12 17:58:51 Benjamin kernel: usb.c: USB device not accepting new address=20 (error=-110) Jun 12 17:58:51 Benjamin kernel: hub.c: USB new device connect on bus1/2, assigned device number 21 Jun 12 17:58:54 Benjamin kernel: usb_control/bulk_msg: timeout and I could't anymore connect to that device without a reboot. Strange. To complet that mail, I give you a part of the usbsnooplog from windows, perhaps you can read something in it that i can't.... here it is: 00000000 0.00000000 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_REMOVE_DEVICE) 00000001 1.02131040 UsbSnoop - IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE) 00000002 1.02914400 UsbSnoop - Entering DriverUnload: DriverObject C1400748 00000003 1.19067840 UsbSnoop 0.13 - Entering DriverEntry: DriverObject C1400748 00000004 1.19070320 UsbSnoop - Running under Windows 98 00000005 1.19076640 UsbSnoop - Entering AddDevice: DriverObject C1400748, pdo C14C1D38 00000006 1.19957840 UsbSnoop - IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) 00000007 1.19982720 UsbSnoop - IRP_MJ_PNP (IRP_MN_START_DEVICE) 00000008 1.34400240 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000009 1.34402560 00000010 1.34403120 >>>>>>> URB 1 going down... 00000011 1.34405680 -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: 00000012 1.34407840 TransferBufferLength = 00000012 00000013 1.34409680 TransferBuffer = c15819c0 00000014 1.34411520 TransferBufferMDL = 00000000 00000015 1.34413360 Index = 00 00000016 1.34415680 DescriptorType = 01 (USB_DEVICE_DESCRIPTOR_TYPE) 00000017 1.34417360 LanguageId = 0000 00000018 1.34869760 00000019 1.34870320 <<<<<<< URB 1 coming back... 00000020 1.34872480 -- URB_FUNCTION_CONTROL_TRANSFER: 00000021 1.34874560 PipeHandle = c156ad6c 00000022 1.34877760 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000023 1.34879600 TransferBufferLength = 00000012 00000024 1.34881440 TransferBuffer = c15819c0 00000025 1.34883280 TransferBufferMDL = c15819e0 00000026 1.34884400 00000027 1.34884880 0000: 00000028 1.34894000 12 01 00 01 00 00 00 10 ca 05 01 22 00 00 01 02 00000029 1.34894560 0010: 00000030 1.34896160 00 01 00000031 1.34897920 UrbLink = 00000000 00000032 1.34903920 SetupPacket : 80 06 00 01 00 00 12 00 00000033 1.34917200 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000034 1.34919280 00000035 1.34919760 >>>>>>> URB 2 going down... 00000036 1.34922080 -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: 00000037 1.34923920 TransferBufferLength = 00000209 00000038 1.34925760 TransferBuffer = c157bb90 00000039 1.34927520 TransferBufferMDL = 00000000 00000040 1.34929280 Index = 00 00000041 1.34931600 DescriptorType = 02 (USB_CONFIGURATION_DESCRIPTOR_TYPE) 00000042 1.34933280 LanguageId = 0000 00000043 1.35443040 00000044 1.35443600 <<<<<<< URB 2 coming back... 00000045 1.35445840 -- URB_FUNCTION_CONTROL_TRANSFER: 00000046 1.35447760 PipeHandle = c156ad6c 00000047 1.35450880 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000048 1.35452720 TransferBufferLength = 0000002e 00000049 1.35454560 TransferBuffer = c157bb90 00000050 1.35456400 TransferBufferMDL = c15819e0 00000051 1.35457520 00000052 1.35458000 0000: 00000053 1.35467120 09 02 2e 00 01 01 00 40 01 09 04 00 00 04 08 00 00000054 1.35467600 0010: 00000055 1.35476480 00 00 07 05 82 02 40 00 00 07 05 02 02 40 00 00 00000056 1.35476960 0020: 00000057 1.35484480 07 05 81 03 10 00 01 07 05 01 02 10 00 00 00000058 1.35486240 UrbLink = 00000000 00000059 1.35492160 SetupPacket : 80 06 00 02 00 00 09 02 00000060 1.35500320 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000061 1.35502320 00000062 1.35502800 >>>>>>> URB 3 going down... 00000063 1.35504800 -- URB_FUNCTION_SELECT_CONFIGURATION: 00000064 1.35507040 ConfigurationDescriptor = 0xc157bb90 (configure) 00000065 1.35509680 ConfigurationDescriptor : bLength = 0x09 00000066 1.35512240 ConfigurationDescriptor : bDescriptorType = 0x02 00000067 1.35514880 ConfigurationDescriptor : wTotalLength = 0x002e 00000068 1.35517440 ConfigurationDescriptor : bNumInterfaces = 0x01 00000069 1.35520000 ConfigurationDescriptor : bConfigurationValue = 0x01 00000070 1.35522640 ConfigurationDescriptor : iConfiguration = 0x00 00000071 1.35525200 ConfigurationDescriptor : bmAttributes = 0x40 00000072 1.35527760 ConfigurationDescriptor : MaxPower = 0x01 00000073 1.35529760 ConfigurationHandle = 0x00000000 00000074 1.35532240 Interface[0]: Length = 0x00000060 00000075 1.35537200 Interface[0]: InterfaceNumber = 0x00 00000076 1.35539360 Interface[0]: AlternateSetting = 0x00 00000077 1.35877200 00000078 1.35877840 <<<<<<< URB 3 coming back... 00000079 1.35880400 -- URB_FUNCTION_SELECT_CONFIGURATION: 00000080 1.35882720 ConfigurationDescriptor = 0xc157bb90 (configure) 00000081 1.35885360 ConfigurationDescriptor : bLength = 0x09 00000082 1.35888000 ConfigurationDescriptor : bDescriptorType = 0x02 00000083 1.35890720 ConfigurationDescriptor : wTotalLength = 0x002e 00000084 1.35893360 ConfigurationDescriptor : bNumInterfaces = 0x01 00000085 1.35895920 ConfigurationDescriptor : bConfigurationValue = 0x01 00000086 1.35898480 ConfigurationDescriptor : iConfiguration = 0x00 00000087 1.35901120 ConfigurationDescriptor : bmAttributes = 0x40 00000088 1.35903840 ConfigurationDescriptor : MaxPower = 0x01 00000089 1.35905920 ConfigurationHandle = 0xc29a41d0 00000090 1.35908320 Interface[0]: Length = 0x00000060 00000091 1.35910480 Interface[0]: InterfaceNumber = 0x00 00000092 1.35912640 Interface[0]: AlternateSetting = 0x00 00000093 1.36004160 Interface[0]: Class = 0x08 00000094 1.36006480 Interface[0]: SubClass = 0x00 00000095 1.36008800 Interface[0]: Protocol = 0x00 00000096 1.36099600 Interface[0]: InterfaceHandle = 0xc157d390 00000097 1.36101920 Interface[0]: NumberOfPipes = 0x00000004 00000098 1.36104720 Interface[0]: Pipes[0] : MaximumPacketSize = 0x0040 00000099 1.36195040 Interface[0]: Pipes[0] : EndpointAddress = 0x82 00000100 1.36197840 Interface[0]: Pipes[0] : Interval = 0x00 00000101 1.36201120 Interface[0]: Pipes[0] : PipeType = 0x02 (UsbdPipeTypeBulk) 00000102 1.36293280 Interface[0]: Pipes[0] : PipeHandle = 0xc157d3a8 00000103 1.36296080 Interface[0]: Pipes[0] : MaxTransferSize = 0x00001000 00000104 1.36340080 Interface[0]: Pipes[0] : PipeFlags = 0x00 00000105 1.36391600 Interface[0]: Pipes[1] : MaximumPacketSize = 0x0040 00000106 1.36481360 Interface[0]: Pipes[1] : EndpointAddress = 0x02 00000107 1.36484000 Interface[0]: Pipes[1] : Interval = 0x00 00000108 1.36487040 Interface[0]: Pipes[1] : PipeType = 0x02 (UsbdPipeTypeBulk) 00000109 1.36576880 Interface[0]: Pipes[1] : PipeHandle = 0xc157d3bc 00000110 1.36579600 Interface[0]: Pipes[1] : MaxTransferSize = 0x00001000 00000111 1.36582240 Interface[0]: Pipes[1] : PipeFlags = 0x00 00000112 1.36672240 Interface[0]: Pipes[2] : MaximumPacketSize = 0x0010 00000113 1.36674880 Interface[0]: Pipes[2] : EndpointAddress = 0x81 00000114 1.36677520 Interface[0]: Pipes[2] : Interval = 0x01 00000115 1.36767680 Interface[0]: Pipes[2] : PipeType = 0x03 (UsbdPipeTypeInterrupt) 00000116 1.36770480 Interface[0]: Pipes[2] : PipeHandle = 0xc157d3d0 00000117 1.36773280 Interface[0]: Pipes[2] : MaxTransferSize = 0x00001000 00000118 1.36817280 Interface[0]: Pipes[2] : PipeFlags = 0x00 00000119 1.36866640 Interface[0]: Pipes[3] : MaximumPacketSize = 0x0010 00000120 1.36958560 Interface[0]: Pipes[3] : EndpointAddress = 0x01 00000121 1.36961200 Interface[0]: Pipes[3] : Interval = 0x00 00000122 1.36964240 Interface[0]: Pipes[3] : PipeType = 0x02 (UsbdPipeTypeBulk) 00000123 1.37054000 Interface[0]: Pipes[3] : PipeHandle = 0xc157d3e4 00000124 1.37056800 Interface[0]: Pipes[3] : MaxTransferSize = 0x00001000 00000125 1.37059440 Interface[0]: Pipes[3] : PipeFlags = 0x00 00000126 1.37149440 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) 00000127 1.37244880 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE) 00000128 66.65335040 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000129 66.65337760 00000130 66.65338320 >>>>>>> URB 4 going down... 00000131 66.65341280 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000132 66.65343360 PipeHandle = c157d3d0 00000133 66.65347040 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000134 66.65349200 TransferBufferLength = 00000010 00000135 66.65351120 TransferBuffer = c15872a4 00000136 66.65352960 TransferBufferMDL = 00000000 00000137 66.65354880 UrbLink = 00000000 00000138 66.66241520 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000139 66.66243920 00000140 66.66244480 >>>>>>> URB 5 going down... 00000141 66.66246640 -- URB_FUNCTION_VENDOR_INTERFACE: 00000142 66.66250160 TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) 00000143 66.66252080 TransferBufferLength = 00000000 00000144 66.66254000 TransferBuffer = c15882d8 00000145 66.66255840 TransferBufferMDL = 00000000 00000146 66.66256800 00000147 66.66258640 UrbLink = 00000000 00000148 66.66260640 RequestTypeReservedBits = 00 00000149 66.66262560 Request = 22 00000150 66.66264480 Value = 0101 00000151 66.66266400 Index = 0000 00000152 66.66295120 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000153 66.66297200 00000154 66.66297760 >>>>>>> URB 6 going down... 00000155 66.66300160 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000156 66.66302320 PipeHandle = c157d3bc 00000157 66.66305680 TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) 00000158 66.66307520 TransferBufferLength = 0000000d 00000159 66.66309360 TransferBuffer = c158da50 00000160 66.66311120 TransferBufferMDL = 00000000 00000161 66.66312240 00000162 66.66312720 0000: 00000163 66.66320000 10 02 31 03 00 00 00 10 03 c6 a7 05 00 00000164 66.66321840 UrbLink = 00000000 00000165 66.66680480 00000166 66.66681120 <<<<<<< URB 4 coming back... 00000167 66.66771840 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000168 66.66773840 PipeHandle = c157d3d0 00000169 66.66777040 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000170 66.66822080 TransferBufferLength = 0000000c 00000171 66.66870240 TransferBuffer = c15872a4 00000172 66.66872080 TransferBufferMDL = c15836c0 00000173 66.66873200 00000174 66.66962880 0000: 00000175 66.67058240 c1 20 00 00 00 00 04 00 01 00 03 0b 00000176 66.67060080 UrbLink = 00000000 00000177 66.67249120 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000178 66.67250960 00000179 66.67251440 >>>>>>> URB 7 going down... 00000180 66.67253680 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000181 66.67299280 PipeHandle = c157d3a8 00000182 66.67348640 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000183 66.67350560 TransferBufferLength = 00000800 00000184 66.67441680 TransferBuffer = c1585af0 00000185 66.67443520 TransferBufferMDL = 00000000 00000186 66.67445280 UrbLink = 00000000 00000187 66.67541200 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 00000188 66.67634240 00000189 66.67634800 >>>>>>> URB 8 going down... 00000190 66.67727520 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000191 66.67729520 PipeHandle = c157d3d0 00000192 66.67823840 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000193 66.67825840 TransferBufferLength = 00000010 00000194 66.67827760 TransferBuffer = c15872a4 00000195 66.67919840 TransferBufferMDL = 00000000 00000196 66.67921680 UrbLink = 00000000 00000197 66.68203440 00000198 66.68204000 <<<<<<< URB 6 coming back... 00000199 66.68206480 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000200 66.68208400 PipeHandle = c157d3bc 00000201 66.68302720 TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) 00000202 66.68304560 TransferBufferLength = 0000000d 00000203 66.68396800 TransferBuffer = c158da50 00000204 66.68398640 TransferBufferMDL = c158fb90 00000205 66.68490800 UrbLink = 00000000 00000206 66.68588400 00000207 66.68588960 <<<<<<< URB 7 coming back... 00000208 66.68591280 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 00000209 66.68683680 PipeHandle = c157d3a8 00000210 66.68686800 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 00000211 66.68779760 TransferBufferLength = 00000002 00000212 66.68781600 TransferBuffer = c1585af0 00000213 66.68873760 TransferBufferMDL = c158fc00 00000214 66.68874800 00000215 66.68875360 0000: 00000216 66.68877040 10 06 00000217 66.68969200 UrbLink = 00000000 00000218 66.69162480 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB Greetings, Benjamin Milde ------------------------------------------------------- This SF.NET email is sponsored by: eBay Great deals on office technology -- on eBay now! Click here: http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ javax-usb-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/javax-usb-devel