Re: DVBSky T980C: Si2168 fw load failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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/
--
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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux