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 ?). > Regards, Jurgen -- 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