On Sep 19, 2008, at 9:04 AM, Christopher Moore wrote:
Hello everyone,
I've spent the last 2 days trying to figure these out. One is a
Control
Transfer to the device , which returns a setup packet. The setup
packet I
understand, but I'm unsure as to what the request is. The second is a
bulk/interrupt transfer. I also think/know these are HID requests.
Sorry for the delay in getting back to you.
1)
[2268420 ms] >>> URB 9 going down >>>
-- URB_FUNCTION_CLASS_INTERFACE:
TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000009
TransferBuffer = 82764200
TransferBufferMDL = 00000000
00000000: 04 c1 33 00 43 07 9a 4f 68
UrbLink = 00000000
RequestTypeReservedBits = 00000022
Request = 00000009
Value = 00000304
Index = 00000003
[2268426 ms] UsbSnoop - MyInternalIOCTLCompletion(f5c81126) :
fido=827d3498, Irp=826293a8, Context=8255cbf0, IRQL=2
[2268427 ms] <<< URB 9 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 825616c8
TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000009
TransferBuffer = 82764200
TransferBufferMDL = 827c7d00
UrbLink = 00000000
SetupPacket =
00000000: 21 09 04 03 03 00 09 00
I believe this is a set idle request (0x0a).
TransferFlags is a Windows-specific value.
Should I even be concerned
with TransferBufferMDL: 04 c1 33 00 43 07 9a 4f 68 (from the going
down
request) or am I driving myself crazy over nothing?
Yes, it is the data portion of the packet (report data). Not sure how
you'd interpret that, though.
bRequest is 09 (SET_REPORT). Since wValue is 0304, the report type is
03 (feature), and the Report ID is 04.
2)
[2253160 ms] >>> URB 7 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 8272e024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000008
TransferBuffer = 828fef00
TransferBufferMDL = 00000000
UrbLink = 00000000
[2268496 ms] <<< URB 7 coming back <<<
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 8272e024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000008
TransferBuffer = 828fef00
TransferBufferMDL = 8258e5d0
00000000: 03 83 34 00 43 00 00 00
UrbLink = 00000000
This is a transfer to the HID endpoint (0x83) and appears to be
either a
"report" or get_protocol (0x03).
Interrupt transfers are assumed to be for sending or receiving report
data. Again, TransferFlags is not equivalent to bRequest or
bRequestType - it is a bitmask of the USBD_* flags mentioned in
parentheses at the end of that line.
Here, what does TransferBufferMDL: 03 83
34 00 43 00 00 00, mean ?
Most likely, it is returning data (83 34 00 43 00 00 00) from report
ID 03.
If these are setting reports... either to #3 or #4, they are
alphanumeric
displays (14-segment according to the usage tables and have values
between
0 and 255). Reports #3 and #4 are 7 fields of 8 bits each and are
Input(Report #3) and Feature (Report #4)
If someone could please help, I would greatly appreciate it. I've
looked
forwards and backwards through the usb and hid pdf files and no table
seems to make sense with these values.
Attached is the rest of the log for reference.
Thanks
Christopher<Replug_and_Initialize.log>________________________________
_______________
libhid-discuss mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss
--
Charles Lepple
_______________________________________________
libhid-discuss mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss