From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.kapsi.fi ([217.30.184.167]:40161 "EHLO mail.kapsi.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754712AbaLHIUw (ORCPT ); Mon, 8 Dec 2014 03:20:52 -0500 Message-ID: <54855F62.7060808@iki.fi> Date: Mon, 08 Dec 2014 10:20:50 +0200 From: Antti Palosaari MIME-Version: 1.0 To: Jurgen Kramer CC: linux-media@vger.kernel.org Subject: Re: DVBSky T980C: Si2168 fw load failed References: <2eea6b3b11e395b7fb238f350a804dc9.squirrel@webmail.xs4all.nl> <54834B0D.6070502@iki.fi> <1417940144.2720.1.camel@xs4all.nl> <5484692D.2020009@iki.fi> <1418024368.2867.1.camel@xs4all.nl> <54855833.1050805@iki.fi> <1418026376.2867.3.camel@xs4all.nl> In-Reply-To: <1418026376.2867.3.camel@xs4all.nl> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: On 12/08/2014 10:12 AM, Jurgen Kramer wrote: > On Mon, 2014-12-08 at 09:50 +0200, Antti Palosaari wrote: >> >> On 12/08/2014 09:39 AM, Jurgen Kramer wrote: >>> On Sun, 2014-12-07 at 16:50 +0200, Antti Palosaari wrote: >>>> >>>> On 12/07/2014 10:15 AM, Jurgen Kramer wrote: >>>>> On Sat, 2014-12-06 at 20:29 +0200, Antti Palosaari wrote: >>>>>> On 12/06/2014 06:48 PM, Jurgen Kramer wrote: >>>>>>> On my new DVBSky T980C the tuner firmware failes to load: >>>>>>> [ 51.326525] si2168 2-0064: found a 'Silicon Labs Si2168' in cold state >>>>>>> [ 51.356233] si2168 2-0064: downloading firmware from file >>>>>>> 'dvb-demod-si2168-a30-01.fw' >>>>>>> [ 51.408166] si2168 2-0064: firmware download failed=-110 >>>>>>> [ 51.415457] si2157 4-0060: found a 'Silicon Labs Si2146/2147/2148/2157/2158' >>>>>>> in cold state >>>>>>> [ 51.521714] si2157 4-0060: downloading firmware from file >>>>>>> 'dvb-tuner-si2158-a20-01.fw' >>>>>>> [ 52.330605] si2168 2-0064: found a 'Silicon Labs Si2168' in cold state >>>>>>> [ 52.330784] si2168 2-0064: downloading firmware from file >>>>>>> 'dvb-demod-si2168-a30-01.fw' >>>>>>> [ 52.382145] si2168 2-0064: firmware download failed=-110 >>>>>>> >>>>>>> 110 seems to mean connection timeout. Any pointers how to debug this further? >>>>>>> >>>>>>> This is with the latest media_build from linuxtv.org on 3.17.4. >>>>>> >>>>>> Looks like si2168 firmware failed to download, but si2157 succeeded. >>>>>> Could you add some more time for driver timeout? Current timeout is >>>>>> selected by trial and error, lets say it takes always max 43ms for my >>>>>> device I coded it 50ms. >>>>>> >>>>>> >>>>>> drivers/media/dvb-frontends/si2168.c >>>>>> /* wait cmd execution terminate */ >>>>>> #define TIMEOUT 50 >>>>>> >>>>>> change it to >>>>>> #define TIMEOUT 500 >>>>> >>>>> Thanks, with the larger timeout the fw load works: >>>>> >>>>> [ 56.960982] si2168 4-0064: found a 'Silicon Labs Si2168' in cold >>>>> state >>>>> [ 56.972650] si2168 4-0064: downloading firmware from file >>>>> 'dvb-demod-si2168-a30-01.fw' >>>>> [ 60.103509] si2168 4-0064: found a 'Silicon Labs Si2168' in warm >>>>> state >>>>> [ 60.110739] si2157 6-0060: found a 'Silicon Labs >>>>> Si2146/2147/2148/2157/2158' in cold state >>>>> [ 60.123720] si2157 6-0060: downloading firmware from file >>>>> 'dvb-tuner-si2158-a20-01.fw' >>>> >>>> Have to find out some suitable value. For that I need know how long it >>>> took maximum in your case. There is already dubug printing to print >>>> execution time of each command, but it is behind dynamic debug. Maybe >>>> the most easiest way is change that debug line to info: >>>> drivers/media/dvb-frontends/si2168.c >>>> - dev_dbg(&s->client->dev, "cmd execution took %d ms\n", >>>> + dev_info(&s->client->dev, "cmd execution took %d ms\n", >>>> >>>> and then compile and install and issue command: >>> >>> This gives the following results: >>> [ 50.152281] si2168 4-0064: cmd execution took 0 ms >>> [ 50.154007] si2168 4-0064: cmd execution took 1 ms >>> [ 50.154010] si2168 4-0064: found a 'Silicon Labs Si2168' in cold >>> state >>> [ 50.181157] si2168 4-0064: downloading firmware from file >>> 'dvb-demod-si2168-a30-01.fw' >>> [ 50.233374] si2168 4-0064: cmd execution took 52 ms >>> >>> [ 53.300879] si2168 4-0064: cmd execution took 0 ms >>> [ 53.300880] si2168 4-0064: found a 'Silicon Labs Si2168' in warm >>> state >>> [ 53.308282] si2157 6-0060: found a 'Silicon Labs >>> Si2146/2147/2148/2157/2158' in cold state >>> [ 53.321085] si2157 6-0060: downloading firmware from file >>> 'dvb-tuner-si2158-a20-01.fw' >>> [ 54.152370] si2168 4-0064: cmd execution took 1 ms >>> >>> So the initial timeout of 50ms is just missed. New value 60ms? or 75 to >>> be really safe. >> >> 70ms sounds nice for my me. Wanna make a patch? Or if it sounds too hard >> I could make it. > No problem creating a patch (against > git://linuxtv.org/media_tree.git ?). Thats OK Antti >> > Regards, > Jurgen > > -- http://palosaari.fi/