Hello Antii! I succeed with my tuner Evromedia USB Full Hybrid Full HD!! $ w_scan -ft -c UA -M ... tune to: QAM_AUTO f = 474000 kHz I999B8C999D999T999G999Y999 (0:1:43) (time: 02:59.095) service = 5 KANAL (Scopus Network Technologies) service = NEWS ONE (News One) service = EU MUSIC (EU MUSIC) service = OTV (SPACECOM) service = ICTV (ICTV) service = SONCE (SOLAR MEDIA) (time: 03:12.851) dumping lists (6 services) MPlayer and VLC play video and sound, but it's very broken (ugly): $ mplayer dvb://ICTV ... [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 43 1 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 1 4 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 33 8 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 27 9 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 21 13 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 14 17 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 23 25 [mpeg2video @ 0x7fbec7ae2900]00 motion_type at 16 27 [mpeg2video @ 0x7fbec7ae2900]ac-tex damaged at 11 31 [mpeg2video @ 0x7fbec7ae2900]slice mismatch [mpeg2video @ 0x7fbec7ae2900]Warning MVs not available [mpeg2video @ 0x7fbec7ae2900]concealing 599 DC, 599 AC, 599 MV errors in B frame Why happens? On 13.07.16 11:22, Oleh Kravchenko wrote: > Hello Antti! > > Thank you for your advice. I succeed with demod chip! > ... > [ 3454.060649] cx231xx #0: (pipe 0x80000b80): IN: c0 0d 0f 00 74 00 04 > 00 <<< 6f 03 00 00 > [ 3454.060784] cx231xx #0 at cx231xx_i2c_xfer: read stop addr=0x64 len=10: > [ 3454.060793] cx231xx #0: (pipe 0x80000b80): IN: c0 05 23 c8 00 00 04 00 > [ 3454.061392] <<< 80 44 33 30 > [ 3454.061403] cx231xx #0: (pipe 0x80000b80): IN: c0 05 63 c8 00 00 04 > 00 <<< 0b 73 33 30 > [ 3454.061899] cx231xx #0: (pipe 0x80000b80): IN: c0 05 61 c8 00 00 02 > 00 <<< 13 01 > [ 3454.062278] 80 44 33 30 0b 73 33 30 13 01 > [ 3454.062294] si2168 17-0064: firmware version: 3.0.19 > > But with tuner chip I have only error -32 :( > ... > [ 2795.770276] cx231xx #0 at cx231xx_i2c_xfer: read stop addr=0x60 len=1: > [ 2795.770281] cx231xx #0: (pipe 0x80000680): IN: c0 06 21 c0 00 00 01 00 > [ 2795.771045] <<< fe > [ 2795.771048] fe > [ 2795.771205] cx231xx #0 at cx231xx_i2c_xfer: write stop addr=0x60 > len=15: c0 00 00 00 00 01 01 01 01 01 01 02 00 00 01 > [ 2795.771234] cx231xx #0: (pipe 0x80000600): OUT: 40 02 21 c0 00 00 0f 00 > [ 2795.771235] >>> > [ 2795.771236] c0 > [ 2795.771237] 00 00 00 00 01 01 01 01 01 01 02 00 00 01FAILED! > [ 2795.771886] cx231xx 1-2:1.1: cx231xx_send_usb_command: failed with > status --32 > [ 2795.771888] cx231xx #0 at cx231xx_i2c_xfer: ERROR: -32 > > But I discovered one thing, error will come - if write payload is bigger > than 4 bytes.. > Any ideas, why this happening? > ... > [ 3454.143285] cx231xx #0 at cx231xx_i2c_xfer: write stop addr=0x60 > len=4: c0 00 00 00 > [ 3454.143288] cx231xx #0: (pipe 0x80000b00): OUT: 40 02 21 c0 00 00 04 00 > [ 3454.143289] >>> c0 00 00 00 > [ 3454.143884] cx231xx #0 at cx231xx_i2c_xfer: read stop addr=0x60 len=1: > [ 3454.143893] cx231xx #0: (pipe 0x80000b80): IN: c0 06 21 c0 00 00 01 00 > [ 3454.144242] <<< fe > [ 3454.144244] fe > [ 3454.144391] cx231xx #0 at cx231xx_i2c_xfer: write stop addr=0x60 > len=1: 02 > [ 3454.144406] cx231xx #0: (pipe 0x80000b00): OUT: 40 02 21 c0 00 00 01 00 > [ 3454.144406] >>> > [ 3454.144407] 02 > [ 3454.144767] cx231xx #0 at cx231xx_i2c_xfer: read stop addr=0x60 len=13: > [ 3454.144767] cx231xx #0: (pipe 0x80000b80): IN: c0 06 23 c0 00 00 04 > 00 <<< fe fe fe fe > [ 3454.145397] cx231xx #0: (pipe 0x80000b80): IN: c0 06 63 c0 00 00 04 > 00 <<< fe fe fe fe > [ 3454.145893] cx231xx #0: (pipe 0x80000b80): IN: c0 06 63 c0 00 00 04 00 > [ 3454.146377] <<< fe fe fe fe > [ 3454.146394] cx231xx #0: (pipe 0x80000b80): IN: c0 06 61 c0 00 00 01 00 > [ 3454.146639] <<< fe > [ 3454.146640] fe fe fe fe fe fe fe fe fe fe fe fe fe > [ 3454.146676] si2157 15-0060: unknown chip version > Si21254-\xfffffffe\xfffffffe\xfffffffe > > > On 10.07.16 01:34, Antti Palosaari wrote: >> Hey, that's your problem :] Driver development is all the time >> resolving this kind of issues and you really need to resolve those >> yourself. >> >> You will need to get I2C communication working with all the chips. >> First si2168 demod and after it answers to I2C you will need to get >> connection to Si2157 tuner. After both of those are answering you >> could try to get tuning tests to see if demod locks. After demod locks >> you know tuner is working and also demod is somehow working. If demod >> lock but there is no picture you know problem is TS interface. Try >> different TS settings for both USB-bridge and demod - those should >> match. If it does not starts working then you have to look sniffs and >> start replacing driver code with data from sniffs to until it starts >> working => problematic setting is found. >> >> regards >> Antti >> >> >> >> On 07/10/2016 12:18 AM, Oleh Kravchenko wrote: >>> Hello! >>> >>> I'm started playing i2c, but stuck with unknown error for me - 32 >>> (EPIPE?): >>> [ 5651.958763] cx231xx #0 at cx231xx_i2c_xfer: write stop addr=0x60 >>> len=15: c0 00 00 00 00 01 01 01 01 01 01 02 00 00 01 >>> [ 5651.958774] cx231xx #0: (pipe 0x80001000): OUT: 40 02 21 c0 >>> 00 00 >>> 0f 00 >>> [ 5651.958775] >>> c0 00 00 00 00 01 01 01 01 01 01 02 00 00 >>> 01FAILED! >>> [ 5651.959110] cx231xx 1-2:1.1: cx231xx_send_usb_command: failed >>> with >>> status --32 >>> [ 5651.959111] cx231xx #0 at cx231xx_i2c_xfer: ERROR: -32 >>> >>> How this error can be fixed? :) >>> >>> On 04.07.16 21:47, Antti Palosaari wrote: >>>> Hello >>>> On 07/04/2016 09:38 PM, Oleh Kravchenko wrote: >>>>> Hello Antti! >>>>> >>>>> I started reverse-engineering of my new TV tuner "Evromedia USB Full >>>>> Hybrid Full HD" and discovered that start sequence is different from >>>>> si2157.c: >>>>> i2c_read_C1 >>>>> 1 \xFE >>>>> i2c_write_C0 >>>>> 15 \xC0\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x02\x00\x00\x01 >>>>> >>>>> Do you familiar with this revision? >>>>> Should I merge my changes to si2158.c? >>>>> Or define another driver? >>>> >>>> According to chip markings those are tuner Si2158-A20 and demod >>>> Si2168-A30. Both are supported already by si2157 and si2168 drivers. >>>> >>>> Difference is just some settings. You need to identify which setting is >>>> wrong and add that to configuration options. It should be pretty >>>> easy to >>>> find it from the I2C dumps and just testing. >>>> >>>> regards >>>> Antti >>>> >>> >> > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html