Hi, I'm trying add support remote control for tuners: - EvroMedia Full Hybrid Full HD - Astrometa T2hybrid But I'm stuck. Can anybody recognize this protocol? $ i2cdump -y 5 0x30 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 42 3c 2d 0f 3f 4f 67 13 18 00 72 02 55 05 55 00 B<-??Og??.r?U?U. 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20: 04 02 10 00 46 05 03 07 10 f0 02 00 00 00 00 00 ???.F??????..... 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40: 04 02 10 00 46 05 03 07 00 f0 02 00 00 00 00 00 ???.F???.??..... 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 05 02 10 40 46 05 03 07 00 f0 02 00 00 00 00 00 ???@F???.??..... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ $ i2cdump -y 18 0x30 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 42 3c 2c 0f 3f 4f 67 13 18 00 72 02 55 05 55 00 B<,??Og??.r?U?U. 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20: 04 02 10 00 46 05 03 07 00 f0 02 00 00 00 00 00 ???.F???.??..... 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40: 04 02 10 00 46 05 03 07 00 f0 02 00 00 00 00 00 ???.F???.??..... 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 04 02 10 00 46 05 03 07 00 f0 02 00 00 00 00 00 ???.F???.??..... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Here dump of i2c transactions of Windows driver converted to i2c-tools: i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cset -y 5 0x30 0x0023 0x00 b i2cset -y 5 0x30 0x0043 0x00 b i2cset -y 5 0x30 0x0063 0x00 b i2cset -y 5 0x30 0x000b 0x02 b i2cset -y 5 0x30 0x0027 0x17 b i2cset -y 5 0x30 0x0047 0x17 b i2cset -y 5 0x30 0x0067 0x17 b i2cset -y 5 0x30 0x0022 0x10 b i2cset -y 5 0x30 0x0042 0x10 b i2cset -y 5 0x30 0x0062 0x10 b i2cset -y 5 0x30 0x0027 0x07 b i2cset -y 5 0x30 0x0047 0x07 b i2cset -y 5 0x30 0x0067 0x07 b i2cset -y 5 0x30 0x0029 0xf0 b i2cset -y 5 0x30 0x0049 0xf0 b i2cset -y 5 0x30 0x0069 0xf0 b i2cget -y 5 0x30 0x002a b # should be 0xfa i2cset -y 5 0x30 0x002a 0x02 b i2cget -y 5 0x30 0x004a b # should be 0xfa i2cset -y 5 0x30 0x004a 0x02 b i2cget -y 5 0x30 0x006a b # should be 0xfa i2cset -y 5 0x30 0x006a 0x02 b i2cset -y 5 0x30 0x0026 0x03 b i2cset -y 5 0x30 0x0046 0x03 b i2cset -y 5 0x30 0x0066 0x03 b i2cget -y 5 0x30 0x0028 b # should be 0x00 i2cget -y 5 0x30 0x0029 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0028 b # should be 0x00 i2cset -y 5 0x30 0x0028 0x10 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cget -y 5 0x30 0x0029 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cset -y 5 0x30 0x0028 0x10 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cget -y 5 0x30 0x0029 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cset -y 5 0x30 0x0028 0x10 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cget -y 5 0x30 0x0029 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cset -y 5 0x30 0x0028 0x10 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cget -y 5 0x30 0x0029 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0028 b # should be 0x10 i2cset -y 5 0x30 0x0028 0x10 b i2cget -y 5 0x30 0x0061 b # should be 0x02 i2cset -y 5 0x30 0x0061 0x03 b i2cget -y 5 0x30 0x0061 b # should be 0x01 i2cset -y 5 0x30 0x0061 0x00 b i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0069 0xf0 b i2cget -y 5 0x30 0x0068 b # should be 0x00 i2cset -y 5 0x30 0x0068 0x02 b i2cget -y 5 0x30 0x0067 b # should be 0x07 i2cset -y 5 0x30 0x0067 0x07 b i2cget -y 5 0x30 0x0066 b # should be 0x03 i2cset -y 5 0x30 0x0066 0x03 b i2cget -y 5 0x30 0x0065 b # should be 0x05 i2cset -y 5 0x30 0x0065 0x05 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0063 b # should be 0x00 i2cset -y 5 0x30 0x0063 0x20 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0061 b # should be 0x02 i2cset -y 5 0x30 0x0061 0x03 b i2cget -y 5 0x30 0x0061 b # should be 0x01 i2cset -y 5 0x30 0x0061 0x00 b i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0069 0xf0 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cset -y 5 0x30 0x0068 0x02 b i2cget -y 5 0x30 0x0067 b # should be 0x07 i2cset -y 5 0x30 0x0067 0x07 b i2cget -y 5 0x30 0x0066 b # should be 0x03 i2cset -y 5 0x30 0x0066 0x03 b i2cget -y 5 0x30 0x0065 b # should be 0x05 i2cset -y 5 0x30 0x0065 0x05 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0063 b # should be 0x20 i2cset -y 5 0x30 0x0063 0x20 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0001 0x10 b i2cset -y 5 0x30 0x0000 0x42 b i2cset -y 5 0x30 0x0005 0x0f b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0002 0x40 b i2cset -y 5 0x30 0x0002 0x00 b i2cset -y 5 0x30 0x000a 0x52 b i2cget -y 5 0x30 0x0061 b # should be 0x02 i2cset -y 5 0x30 0x0061 0x03 b i2cget -y 5 0x30 0x0061 b # should be 0x01 i2cset -y 5 0x30 0x0061 0x00 b i2cget -y 5 0x30 0x0069 b # should be 0xf0 i2cset -y 5 0x30 0x0069 0xf0 b i2cget -y 5 0x30 0x0068 b # should be 0x02 i2cset -y 5 0x30 0x0068 0x02 b i2cget -y 5 0x30 0x0067 b # should be 0x07 i2cset -y 5 0x30 0x0067 0x07 b i2cget -y 5 0x30 0x0066 b # should be 0x03 i2cset -y 5 0x30 0x0066 0x03 b i2cget -y 5 0x30 0x0065 b # should be 0x05 i2cset -y 5 0x30 0x0065 0x05 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0064 b # should be 0x46 i2cset -y 5 0x30 0x0064 0x46 b i2cget -y 5 0x30 0x0063 b # should be 0x20 i2cset -y 5 0x30 0x0063 0x20 b i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 i2cset -y 5 0x30 0x0008 0x18 b i2cget -y 5 0x30 0x0008 b # should be 0x18 -- Best regards, Oleh Kravchenko