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 majord...@vger.kernel.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to