hi,
as i said in an earlier mail i am trying to write
a linux usb device driver for the
CASIO Wrist Audio Player WMP1 usb device.
i am new in usb stuff. here is what i've done:
** im using libusb to fiddle around in userspace...
** i used sniffusb and dbgview to log my win98 session.
** now i am trying to simulate the start of the original
program.
i am working on 8 URBs. these 8 were sent from the
win98 proggy, and now i want to try to simulate them.
* the first 2 are IN control transfers which always
work (but sometimes gives changing results)
-usb_control_msg(0x804a520, 193, 4, 0, 0, 0x804d9b8, 4, 10000)
receives: 01 02 00 00
-usb_control_msg(0x804a520, 193, 11, 0, 0, 0x804d9b8, 1, 10000)
receives: 01
--> HEY :) now the watch shows "PC" on its display :))
* then there is a IN bulk transfer which also works
(gives only 4 bytes, most of the time the same...)
(this also take a long time sometimes...)
-usb_bulk_read(0x804a520, 3, 0x804d9b8, 4, 10000)
receives:03 03 00 00
* an INPUT control transfer which often results in
16 bytes data
-usb_control_msg(0x804a520, 193, 10, 0, 0, 0x804d9b8, 16, 10000)
receives:48 0E 01 2A 0F F9 81 E8 EC B1 81 E1 8A 40 00 A9
* another INPUT control transfer which also results in
16 bytes data (other data...)
-usb_control_msg(0x804a520, 193, 9, 0, 0, 0x804d9b8, 16, 10000)
receives: 06 00 00 33 32 4D 20 20 20 00 00 90 C7 02 43 29
note this ascii data: ". . . 3 2 M . . " :) it has
32 MB memory....
* now comes an OUTPUT control transfer which seldom
works (writing 16 bytes of data)
-usb_control_msg(0x804a520, 65, 1, 0, 0, 0x804d9b8, 16, 10000)
sends: 00 00 00 00 00 00 00 00 00 02 00 00 00 02 00 00
* and this INPUT bulk transfer which never worked for me...
(its urb 12) win98 receives 0x200 bytes and i get following
error: error reading from bulk endpoint 0x83: Connection timed out
-usb_bulk_read(0x804a520, 3, 0x804d9b8, 512, 10000)
* and now the same as the first INPUT control transfer
which always works....
-usb_control_msg(0x804a520, 193, 4, 0, 0, 0x804d9b8, 4, 10000)
receives:03 05 00 00
now i have a few questions:
*so why are the bulk-transfers not always working?
i am not sure which endpoint to use. i tried
0x0 0x1 and 0x3. 0x3 giving the best results...
*is there a possibility to get the endpoint-number from
the pipe-handles win98 used? (from the dbgview-log)
*what is the timestamp format of the sniffusb logs?
seconds since log-start?
*i attached the dbgview-log with a few comments and
questions from me marked with an # at the beginning
of the line. (maybe someone can look at it :)) )
*is URB 5 an interrupt transfer ?
if it is, how can i simulate this?
i think libusb dont support interrupt-transfers...
do i have to go into the kernel?
*urb 3 in the PLUG-IN-time gives much info's...
... but i dont know how to use this infos
any hint ?
Casio called the Memory-Medium a MMC and there is
also a button "Format MMC" in the win98 program.
Is it possible that there is another driver in the
kernel which can handle such a MMC? maybe something
from the mass-storage drivers?
i noted that the program seems to have random access
to this memory. (if i delete a song with the "delete"
button the proggy sends much zero's to the Watch...
... i think its overwriting the data to be deleted...
...it also seems to have something like a fat on it
wich is rewritten from the program...
this all tells me, that there is much KnowHow in the
Win98 proggy, and the watch beeing relatively dump....
...not good :( -> much to fiddle out....
i would appreciate any help/hints/pointers!!
thanks!
------now the sniffusb-log with comments and questions-------
### plug in ###
# i didnt try to simulate these, as this is done by the usb subsystem right??
00000021 0.66328800 UsbSnoop 0.13 - Entering DriverEntry: DriverObject
C14F5CF8
00000022 0.66331280 UsbSnoop - Running under Windows 98
00000023 0.66336560 UsbSnoop - Entering AddDevice: DriverObject C14F5CF8,
pdo C14F5748
00000024 0.67074240 UsbSnoop - IRP_MJ_PNP
(IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
00000025 0.67094800 UsbSnoop - IRP_MJ_PNP (IRP_MN_START_DEVICE)
00000026 0.73069520 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000027 0.73071600
00000028 0.73071840 >>>>>>> URB 1 going down...
00000029 0.73073920 -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
00000030 0.73075760 TransferBufferLength = 00000012
00000031 0.73077520 TransferBuffer = c17574ac
00000032 0.73079120 TransferBufferMDL = 00000000
00000033 0.73080720 Index = 00
00000034 0.73082720 DescriptorType = 01
(USB_DEVICE_DESCRIPTOR_TYPE)
00000035 0.73084160 LanguageId = 0000
00000036 0.73254880
00000037 0.73255120 <<<<<<< URB 1 coming back...
00000038 0.73257120 -- URB_FUNCTION_CONTROL_TRANSFER:
00000039 0.73258880 PipeHandle = c175370c
00000040 0.73261840 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000041 0.73263360 TransferBufferLength = 00000012
00000042 0.73264880 TransferBuffer = c17574ac
00000043 0.73266560 TransferBufferMDL = c175d230
00000044 0.73267520
00000045 0.73267760 0000:
00000046 0.73278960 12 01 00 01 00 00 00 40 cf 07 01 38 01 00 01 02
00000047 0.73279200 0010:
00000048 0.73280960 00 01
00000049 0.73282480 UrbLink = 00000000
00000050 0.73289440 SetupPacket : 80 06 00 01 00 00 12 00
00000051 0.73295920 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000052 0.73297680
00000053 0.73297920 >>>>>>> URB 2 going down...
00000054 0.73300000 -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
00000055 0.73301680 TransferBufferLength = 00000100
00000056 0.73303200 TransferBuffer = c173aa30
00000057 0.73304800 TransferBufferMDL = 00000000
00000058 0.73306400 Index = 00
00000059 0.73308560 DescriptorType = 02
(USB_CONFIGURATION_DESCRIPTOR_TYPE)
00000060 0.73310080 LanguageId = 0000
00000061 0.73540960
00000062 0.73541200 <<<<<<< URB 2 coming back...
00000063 0.73543120 -- URB_FUNCTION_CONTROL_TRANSFER:
00000064 0.73544880 PipeHandle = c175370c
00000065 0.73547680 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000066 0.73549280 TransferBufferLength = 00000027
00000067 0.73550800 TransferBuffer = c173aa30
00000068 0.73552480 TransferBufferMDL = c175d230
00000069 0.73557200
00000070 0.73557360 0000:
00000071 0.73568640 09 02 27 00 01 01 00 80 1e 09 04 00 00 03 ff ff
00000072 0.73568880 0010:
00000073 0.73579920 00 03 07 05 01 02 40 00 00 07 05 82 02 40 00 00
00000074 0.73580160 0020:
00000075 0.73584800 07 05 83 03 04 00 64
00000076 0.73586400 UrbLink = 00000000
00000077 0.73593360 SetupPacket : 80 06 00 02 00 00 00 01
00000078 0.73600560 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000079 0.73602240
00000080 0.73602480 >>>>>>> URB 3 going down...
00000081 0.73604400 -- URB_FUNCTION_SELECT_CONFIGURATION:
00000082 0.73606480 ConfigurationDescriptor = 0xc173aa30 (configure)
00000083 0.73608880 ConfigurationDescriptor : bLength = 0x09
00000084 0.73611200 ConfigurationDescriptor : bDescriptorType = 0x02
00000085 0.73613520 ConfigurationDescriptor : wTotalLength =
0x0027
00000086 0.73615840 ConfigurationDescriptor : bNumInterfaces = 0x01
00000087 0.73618240 ConfigurationDescriptor : bConfigurationValue = 0x01
00000088 0.73620640 ConfigurationDescriptor : iConfiguration = 0x00
00000089 0.73623040 ConfigurationDescriptor : bmAttributes = 0x80
00000090 0.73625520 ConfigurationDescriptor : MaxPower = 0x1e
00000091 0.73627200 ConfigurationHandle = 0x00000005
00000092 0.73629360 Interface[0]: Length = 0x0000004c
00000093 0.73631360 Interface[0]: InterfaceNumber = 0x00
00000094 0.73633760 Interface[0]: AlternateSetting = 0x00
00000095 0.73741280
00000096 0.73741520 <<<<<<< URB 3 coming back...
00000097 0.73743680 -- URB_FUNCTION_SELECT_CONFIGURATION:
00000098 0.73745840 ConfigurationDescriptor = 0xc173aa30 (configure)
00000099 0.73748160 ConfigurationDescriptor : bLength = 0x09
00000100 0.73750560 ConfigurationDescriptor : bDescriptorType = 0x02
00000101 0.73752880 ConfigurationDescriptor : wTotalLength =
0x0027
00000102 0.73755200 ConfigurationDescriptor : bNumInterfaces = 0x01
00000103 0.73757520 ConfigurationDescriptor : bConfigurationValue = 0x01
00000104 0.73759840 ConfigurationDescriptor : iConfiguration = 0x00
00000105 0.73762160 ConfigurationDescriptor : bmAttributes = 0x80
00000106 0.73764560 ConfigurationDescriptor : MaxPower = 0x1e
00000107 0.73766400 ConfigurationHandle = 0xc29b92a0
00000108 0.73768560 Interface[0]: Length = 0x0000004c
00000109 0.73770480 Interface[0]: InterfaceNumber = 0x00
00000110 0.73772400 Interface[0]: AlternateSetting = 0x00
00000111 0.73774240 Interface[0]: Class = 0xff
00000112 0.73776240 Interface[0]: SubClass = 0xff
00000113 0.73778240 Interface[0]: Protocol = 0x00
00000114 0.73780400 Interface[0]: InterfaceHandle = 0xc1622e10
00000115 0.73782400 Interface[0]: NumberOfPipes = 0x00000003
00000116 0.73784880 Interface[0]: Pipes[0] : MaximumPacketSize = 0x0040
00000117 0.73787280 Interface[0]: Pipes[0] : EndpointAddress = 0x01
00000118 0.73789680 Interface[0]: Pipes[0] : Interval = 0x00
00000119 0.73792480 Interface[0]: Pipes[0] : PipeType = 0x02
(UsbdPipeTypeBulk)
00000120 0.73795120 Interface[0]: Pipes[0] : PipeHandle =
0xc1622e28
00000121 0.73797600 Interface[0]: Pipes[0] : MaxTransferSize =
0x00001000
00000122 0.73800000 Interface[0]: Pipes[0] : PipeFlags = 0x00
00000123 0.73802400 Interface[0]: Pipes[1] : MaximumPacketSize = 0x0040
00000124 0.73804640 Interface[0]: Pipes[1] : EndpointAddress = 0x82
00000125 0.73806960 Interface[0]: Pipes[1] : Interval = 0x00
00000126 0.73809680 Interface[0]: Pipes[1] : PipeType = 0x02
(UsbdPipeTypeBulk)
00000127 0.73812160 Interface[0]: Pipes[1] : PipeHandle =
0xc1622e3c
00000128 0.73814560 Interface[0]: Pipes[1] : MaxTransferSize =
0x00001000
00000129 0.73816960 Interface[0]: Pipes[1] : PipeFlags = 0x00
00000130 0.73819280 Interface[0]: Pipes[2] : MaximumPacketSize = 0x0004
00000131 0.73821600 Interface[0]: Pipes[2] : EndpointAddress = 0x83
00000132 0.73824320 Interface[0]: Pipes[2] : Interval = 0x64
00000133 0.73827120 Interface[0]: Pipes[2] : PipeType = 0x03
(UsbdPipeTypeInterrupt)
00000134 0.73829680 Interface[0]: Pipes[2] : PipeHandle =
0xc1622e50
00000135 0.73832160 Interface[0]: Pipes[2] : MaxTransferSize =
0x00001000
00000136 0.73834480 Interface[0]: Pipes[2] : PipeFlags = 0x00
00000137 0.73839120 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000138 0.73840800
00000139 0.73841040 >>>>>>> URB 4 going down...
00000140 0.73843120 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000141 0.73844960 PipeHandle = c1622e50
00000142 0.73847840 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000143 0.73849600 TransferBufferLength = 00000004
00000144 0.73851200 TransferBuffer = c175767c
00000145 0.73852800 TransferBufferMDL = 00000000
00000146 0.73854400 UrbLink = 00000000
00000147 0.73860480 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
00000148 0.73872960 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
00000149 0.86032640 UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
00000150 0.86046320
00000151 0.86046640 <<<<<<< URB 4 coming back...
00000152 0.86049360 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000153 0.86051120 PipeHandle = c1622e50
00000154 0.86054080 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000155 0.86055920 TransferBufferLength = 00000004
00000156 0.86057520 TransferBuffer = c175767c
00000157 0.86059200 TransferBufferMDL = c175d230
00000158 0.86060160
00000159 0.86060400 0000:
00000160 0.86063680 01 02 00 00
00000161 0.86065200 UrbLink = 00000000
00000162 0.86068880 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000163 0.86070480
00000164 0.86070720 >>>>>>> URB 5 going down...
00000165 0.86072880 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000166 0.86074720 PipeHandle = c1622e50
00000167 0.86077840 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000168 0.86079440 TransferBufferLength = 00000004
00000169 0.86080960 TransferBuffer = c175767c
00000170 0.86082480 TransferBufferMDL = 00000000
00000171 0.86084000 UrbLink = 00000000
### plug in end ###
# do i have to do something from the above in my linux-"driver" ?
### program start ###
00000000 0.00000000 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
# what does this line tell me?
00000001 0.00002240
00000002 0.00002560 >>>>>>> URB 6 going down...
00000003 0.00005040 -- URB_FUNCTION_VENDOR_INTERFACE:
00000004 0.00008000 TransferFlags = 00000001
(USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRANSFER_OK)
00000005 0.00009680 TransferBufferLength = 00000004
00000006 0.00011360 TransferBuffer = c1401c80
00000007 0.00012880 TransferBufferMDL = 00000000
00000008 0.00014560 UrbLink = 00000000
00000009 0.00016080 RequestTypeReservedBits = c1
00000010 0.00017600 Request = 04
00000011 0.00019200 Value = 0000
00000012 0.00020640 Index = 0000
00000013 0.00202800
00000014 0.00203120 <<<<<<< URB 6 coming back...
00000015 0.00205760 -- URB_FUNCTION_CONTROL_TRANSFER:
00000016 0.00207440 PipeHandle = c175370c
00000017 0.00210320 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000018 0.00212080 TransferBufferLength = 00000004
00000019 0.00213680 TransferBuffer = c1401c80
00000020 0.00215120 TransferBufferMDL = c1761370
00000021 0.00216160
00000022 0.00216400 0000:
00000023 0.00219040 01 02 00 00
00000024 0.00220560 UrbLink = 00000000
00000025 0.00226560 SetupPacket : c1 04 00 00 00 00 04 00
00000026 0.02076720 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000027 0.02079120
# urb 6 works but sometimes gives 03 03 as urb 13 -> possible because commands are out
of sync...-> replug
00000028 0.02079360 >>>>>>> URB 7 going down...
00000029 0.02081440 -- URB_FUNCTION_VENDOR_INTERFACE:
00000030 0.02084480 TransferFlags = 00000001
(USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRANSFER_OK)
00000031 0.02086080 TransferBufferLength = 00000001
00000032 0.02087680 TransferBuffer = c1401c80
00000033 0.02089280 TransferBufferMDL = 00000000
00000034 0.02090960 UrbLink = 00000000
00000035 0.02092480 RequestTypeReservedBits = c1
00000036 0.02094000 Request = 0b
00000037 0.02095600 Value = 0000
00000038 0.02097200 Index = 0000
00000039 0.02588480
00000040 0.02588800 <<<<<<< URB 7 coming back...
00000041 0.02591440 -- URB_FUNCTION_CONTROL_TRANSFER:
00000042 0.02593120 PipeHandle = c175370c
00000043 0.02596160 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000044 0.02597760 TransferBufferLength = 00000001
00000045 0.02599280 TransferBuffer = c1401c80
00000046 0.02600880 TransferBufferMDL = c1401bf0
00000047 0.02602000
00000048 0.02602160 0000:
00000049 0.02603360 01
00000050 0.02604960 UrbLink = 00000000
00000051 0.02611200 SetupPacket : c1 0b 00 00 00 00 01 00
00000052 4.78921920
# urb 7 works
00000053 4.78922240 <<<<<<< URB 5 coming back...
00000054 4.78925200 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000055 4.78926960 PipeHandle = c1622e50
00000056 4.78930160 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000057 4.78931840 TransferBufferLength = 00000004
00000058 4.78933440 TransferBuffer = c175767c
00000059 4.78935840 TransferBufferMDL = c175d230
00000060 4.78936960
00000061 4.78937120 0000:
00000062 4.78939840 03 03 00 00
00000063 4.78941360 UrbLink = 00000000
00000064 4.78946640 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000065 4.78948240
00000066 4.78948480 >>>>>>> URB 8 going down...
00000067 4.78950400 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000068 4.78952080 PipeHandle = c1622e50
00000069 4.78955040 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000070 4.78956560 TransferBufferLength = 00000004
00000071 4.78958160 TransferBuffer = c175767c
00000072 4.78959680 TransferBufferMDL = 00000000
00000073 4.78961120 UrbLink = 00000000
00000074 4.80602480 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
# whats this ??? urb 5 coming back and 8 going down? no 8 will come back and usb 5
went down a long time ago...!
# -> interrupt transfer?
00000075 4.80604640
00000076 4.80604880 >>>>>>> URB 9 going down...
00000077 4.80606960 -- URB_FUNCTION_VENDOR_INTERFACE:
00000078 4.80610160 TransferFlags = 00000001
(USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRANSFER_OK)
00000079 4.80611760 TransferBufferLength = 00000010
00000080 4.80613280 TransferBuffer = c1401c80
00000081 4.80614880 TransferBufferMDL = 00000000
00000082 4.80616560 UrbLink = 00000000
00000083 4.80618160 RequestTypeReservedBits = c1
00000084 4.80619680 Request = 0a
00000085 4.80621120 Value = 0000
00000086 4.80622720 Index = 0000
00000087 4.80830320
00000088 4.80830640 <<<<<<< URB 9 coming back...
00000089 4.80832880 -- URB_FUNCTION_CONTROL_TRANSFER:
00000090 4.80834560 PipeHandle = c175370c
00000091 4.80837360 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000092 4.80839040 TransferBufferLength = 00000010
00000093 4.80840560 TransferBuffer = c1401c80
00000094 4.80842160 TransferBufferMDL = c175e250
00000095 4.80843120
00000096 4.80843360 0000:
00000097 4.80853520 48 0e 01 2a 0f f9 81 e8 ec b1 81 e1 8a 40 00 a9
00000098 4.80855120 UrbLink = 00000000
00000099 4.80860960 SetupPacket : c1 0a 00 00 00 00 10 00
00000100 4.80882640 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
00000101 4.80884640
# works ...sometimes.....and sometimes usb_control_mesg give only 0's in the
data-buffer
00000102 4.80884880 >>>>>>> URB 10 going down...
00000103 4.80886720 -- URB_FUNCTION_VENDOR_INTERFACE:
00000104 4.80889600 TransferFlags = 00000001
(USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRANSFER_OK)
00000105 4.80891120 TransferBufferLength = 00000010
00000106 4.80892720 TransferBuffer = c1401c80
00000107 4.80894240 TransferBufferMDL = 00000000
00000108 4.80895920 UrbLink = 00000000
00000109 4.80897440 RequestTypeReservedBits = c1
00000110 4.80898960 Request = 09
00000111 4.80900560 Value = 0000
00000112 4.80902160 Index = 0000
00000113 4.81020480
00000114 4.81020720 <<<<<<< URB 10 coming back...
00000115 4.81022800 -- URB_FUNCTION_CONTROL_TRANSFER:
00000116 4.81024560 PipeHandle = c175370c
00000117 4.81027440 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000118 4.81029040 TransferBufferLength = 00000010
00000119 4.81030640 TransferBuffer = c1401c80
00000120 4.81032160 TransferBufferMDL = c175e250
00000121 4.81033120
00000122 4.81033360 0000:
00000123 4.81042560 06 00 00 33 32 4d 20 20 20 00 00 90 c7 02 43 29
00000124 4.81044160 UrbLink = 00000000
00000125 4.81049920 SetupPacket : c1 09 00 00 00 00 10 00
00000126 4.81072000 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
# also works sometimes....and sometimes usb_control_mesg give only 0's in the
data-buffer
00000127 4.81073920
00000128 4.81074160 >>>>>>> URB 11 going down...
00000129 4.81076000 -- URB_FUNCTION_VENDOR_INTERFACE:
00000130 4.81079040 TransferFlags = 00000000
(USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
00000131 4.81080640 TransferBufferLength = 00000010
00000132 4.81082080 TransferBuffer = c1401c80
00000133 4.81083680 TransferBufferMDL = 00000000
00000134 4.81084560
00000135 4.81084800 0000:
00000136 4.81093760 00 00 00 00 00 00 00 00 00 02 00 00 00 02 00 00
00000137 4.81095360 UrbLink = 00000000
00000138 4.81096880 RequestTypeReservedBits = 41
00000139 4.81098320 Request = 01
00000140 4.81099920 Value = 0000
00000141 4.81101520 Index = 0000
00000142 4.81211440
00000143 4.81211760 <<<<<<< URB 11 coming back...
00000144 4.81213840 -- URB_FUNCTION_CONTROL_TRANSFER:
00000145 4.81215520 PipeHandle = c175370c
00000146 4.81218480 TransferFlags = 00000002
(USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
00000147 4.81220000 TransferBufferLength = 00000010
00000148 4.81221520 TransferBuffer = c1401c80
00000149 4.81223120 TransferBufferMDL = c175e250
00000150 4.81224800 UrbLink = 00000000
00000151 4.81230640 SetupPacket : 41 01 00 00 00 00 10 00
00000152 4.81256320 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
# works seldom....
00000153 4.81258160
00000154 4.81258400 >>>>>>> URB 12 going down...
00000155 4.81260640 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000156 4.81262400 PipeHandle = c1622e3c
00000157 4.81265200 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000158 4.81266960 TransferBufferLength = 00000200
00000159 4.81268480 TransferBuffer = c175a0c0
00000160 4.81270000 TransferBufferMDL = 00000000
00000161 4.81271520 UrbLink = 00000000
00000162 4.82356720
00000163 4.82356960 <<<<<<< URB 12 coming back...
00000164 4.82359600 -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00000165 4.82361280 PipeHandle = c1622e3c c1622e50
00000166 4.82364080 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000167 4.82365840 TransferBufferLength = 00000200
00000168 4.82367280 TransferBuffer = c175a0c0
00000169 4.82368800 TransferBufferMDL = c175e3a0
00000170 4.82369840
00000171 4.82370080 0000:
00000172 4.82379520 00 00 00 00 08 00 00 00 00 00 08 00 00 00 00 00
00000173 4.82379680 0010:
00000174 4.82388880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000175 4.82389200 0020:
00000176 4.82398480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000177 4.82398720 0030:
00000178 4.82408160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000179 4.82408400 0040:
00000180 4.82417760 32 30 30 32 30 30 30 30 45 7d 9c 60 5e 72 3e 2e
00000181 4.82418000 0050:
00000182 4.82427440 15 2d af 3a 17 f7 1d c6 00 00 00 00 00 00 00 00
00000183 4.82427680 0060:
00000184 4.82436960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000185 4.82437200 0070:
00000186 4.82446800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000187 4.82447040 0080:
00000188 4.82456240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000189 4.82456400 0090:
00000190 4.82465680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000191 4.82465920 00a0:
00000192 4.82475440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000193 4.82475600 00b0:
00000194 4.82484800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000195 4.82484960 00c0:
00000196 4.82494080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000197 4.82494240 00d0:
00000198 4.82503520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000199 4.82503760 00e0:
00000200 4.82513040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000201 4.82513280 00f0:
00000202 4.82522800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000203 4.82523040 0100:
00000204 4.82532400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000205 4.82532640 0110:
00000206 4.82542240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000207 4.82542480 0120:
00000208 4.82551600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000209 4.82551760 0130:
00000210 4.82561120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000211 4.82561360 0140:
00000212 4.82570800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000213 4.82571120 0150:
00000214 4.82580320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000215 4.82580560 0160:
00000216 4.82589920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000217 4.82590160 0170:
00000218 4.82599520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000219 4.82599680 0180:
00000220 4.82609040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000221 4.82609280 0190:
00000222 4.82618640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000223 4.82618880 01a0:
00000224 4.82628240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000225 4.82628480 01b0:
00000226 4.82638160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000227 4.82638320 01c0:
00000228 4.82647600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000229 4.82647840 01d0:
00000230 4.82657120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000231 4.82657280 01e0:
00000232 4.82666720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000233 4.82666880 01f0:
00000234 4.82675840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000235 4.82677440 UrbLink = 00000000
00000236 4.83259200 UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL,
IOCTL_INTERNAL_USB_SUBMIT_URB
# never worked, always got timeouts
00000237 4.83261280
00000238 4.83261520 >>>>>>> URB 13 going down...
00000239 4.83263600 -- URB_FUNCTION_VENDOR_INTERFACE:
00000240 4.83266720 TransferFlags = 00000001
(USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRANSFER_OK)
00000241 4.83268320 TransferBufferLength = 00000004
00000242 4.83269840 TransferBuffer = c1401c80
00000243 4.83271360 TransferBufferMDL = 00000000
00000244 4.83273040 UrbLink = 00000000
00000245 4.83274560 RequestTypeReservedBits = c1
00000246 4.83276000 Request = 04
00000247 4.83277520 Value = 0000
00000248 4.83279120 Index = 0000
00000249 4.83406800
00000250 4.83407200 <<<<<<< URB 13 coming back...
00000251 4.83409440 -- URB_FUNCTION_CONTROL_TRANSFER:
00000252 4.83411040 PipeHandle = c175370c
00000253 4.83414000 TransferFlags = 00000003
(USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000254 4.83415600 TransferBufferLength = 00000004
00000255 4.83417120 TransferBuffer = c1401c80
00000256 4.83418720 TransferBufferMDL = c175e0c0
00000257 4.83419760
00000258 4.83419920 0000:
00000259 4.83422400 03 03 00 00
00000260 4.83424000 UrbLink = 00000000
00000261 4.83430080 SetupPacket : c1 04 00 00 00 00 04 00
# same as urb 6 but gives other results 01 02 <-> 03 03
### program start end###
-------------------------------------------------------------
--
Florian Schmidt
mailto:[EMAIL PROTECTED]
_______________________________________________________________
Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel