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