> I don't understand those control message parts and it is bit too hard to > read i2c adapter implementation to get understanding. Could you offer > simple 2 sniff examples, register write to demod and register write to > tuner. Here is the part of a packet log. 1. write to demod (addr:0x18) reg:0x76 val:0c =============== [46264 ms] >>> URB 146 going down >>> -- URB_FUNCTION_VENDOR_DEVICE: TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TR ANSFER_OK) TransferBufferLength = 00000000 TransferBuffer = 8609d21e TransferBufferMDL = 00000000 UrbLink = 00000000 RequestTypeReservedBits = 00000000 Request = 00000001 Value = 0000300c Index = 00000076 [46266 ms] UsbSnoop - MyInternalIOCTLCompletion(f79b7db0) : fido=00000000, Irp=8 58f2938, Context=858c4ed8, IRQL=2 [46266 ms] <<< URB 146 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 86239260 TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANS FER_OK) TransferBufferLength = 00000000 TransferBuffer = 8609d21e TransferBufferMDL = 00000000 UrbLink = 00000000 SetupPacket = 00000000: 40 01 0c 30 76 00 00 00 =============== 2. write to tuner (addr:0x60) write [0f 7b b2 08] to addr 0x60 =============== [47267 ms] >>> URB 147 going down >>> -- URB_FUNCTION_VENDOR_DEVICE: TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TR ANSFER_OK) TransferBufferLength = 00000005 TransferBuffer = 8581c7d6 TransferBufferMDL = 00000000 00000000: c0 0f 7b b2 08 UrbLink = 00000000 RequestTypeReservedBits = 00000000 Request = 00000003 Value = 00003000 Index = 000000fe [47270 ms] UsbSnoop - MyInternalIOCTLCompletion(f79b7db0) : fido=00000000, Irp=8 58f2008, Context=86275258, IRQL=2 [47270 ms] <<< URB 147 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 86239260 TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANS FER_OK) TransferBufferLength = 00000005 TransferBuffer = 8581c7d6 TransferBufferMDL = 855f7760 UrbLink = 00000000 SetupPacket = 00000000: 40 03 00 30 fe 00 05 00 =============== 3. read from tuner read one byte from addr 0x60 (2 USB packets) =============== [46036 ms] >>> URB 26 going down >>> -- URB_FUNCTION_VENDOR_DEVICE: TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TR ANSFER_OK) TransferBufferLength = 00000001 TransferBuffer = 8609d21e TransferBufferMDL = 00000000 00000000: c1 UrbLink = 00000000 RequestTypeReservedBits = 00000000 Request = 00000003 Value = 00003000 Index = 000000fe [46038 ms] UsbSnoop - MyInternalIOCTLCompletion(f79b7db0) : fido=00000000, Irp=8 58f2938, Context=858ccea0, IRQL=2 [46038 ms] <<< URB 26 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 86239260 TransferFlags = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANS FER_OK) TransferBufferLength = 00000001 TransferBuffer = 8609d21e TransferBufferMDL = 855f7760 UrbLink = 00000000 SetupPacket = 00000000: 40 03 00 30 fe 00 01 00 [46038 ms] >>> URB 27 going down >>> -- URB_FUNCTION_VENDOR_DEVICE: TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN, ~USBD_SHORT_TRA NSFER_OK) TransferBufferLength = 00000001 TransferBuffer = 8609d21e TransferBufferMDL = 00000000 UrbLink = 00000000 RequestTypeReservedBits = 00000000 Request = 00000002 Value = 00003000 Index = 00000100 [46040 ms] UsbSnoop - MyInternalIOCTLCompletion(f79b7db0) : fido=00000000, Irp=8 58f2938, Context=86366778, IRQL=2 [46040 ms] <<< URB 27 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 86239260 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSF ER_OK) TransferBufferLength = 00000001 TransferBuffer = 8609d21e TransferBufferMDL = 855f7760 00000000: 7c UrbLink = 00000000 SetupPacket = 00000000: c0 02 00 30 00 01 01 00 ============ Note: In log 2 & 3, "Request" parameter value is different from log 1. regards, Akihiro