[linux-dvb] unstable tda1004x firmware loading
Hartmut Hackmann
hartmut.hackmann at t-online.de
Fri Jun 20 00:49:42 CEST 2008
HI, Francesco
Francesco schrieb:
> Hartmut Hackmann ha scritto:
> > Hi, Francesco
> >
> > Francesco schrieb:
> >>> Looks like there currently are many people having problems. Allow
> >>> me to give some background info:
> >>>
> >>> Something that is not in the datasheet: The tda10046
> >>> automatically tries to load the firmware from an eeprom at the
> >>> second I2C port. This does *not* need to be triggered by the
> >>> driver. The timeout seems to be very long. In the past, this
> >>> happened: If the driver tries to access the tuner while the
> >>> download is not finished, there is a collision on the I2C bus.
> >>> This can corrupt both, the firmware and the tuner initialization.
> >>> In the case of the tda8275a, the result can be that it turns off
> >>> its 16MHz reference output which is used for the tda10046 as
> >>> well. This blocks the i2c bus and the only way to recover is a
> >>> complete power cycle. This is why i made the driver try to get
> >>> the firmware as soon as possible. Otherwise it is not possible to
> >>> access the tuner - at least on some boards.
> >>>
> >>> Few days ago, a user reported that the firmware download seems to
> >>> be retriggered in some cases. This might occur if something
> >>> opens the dvb device while the download is not finished. If it is
> >>> the case, we need to lock the download. Another dangerous thing
> >>> is the address mapping of the firmware eeprom: it is controlled
> >>> by a GPIO pin. If this pin changes while the download is running,
> >>> we are lost.
> >>>
> >>> Best regards Hartmut
> >>
> >> I've found a little workaround (not a solution, but...) for this
> >> problem for my Asus7131H...
> >>
> >> Simply adding "saa7134-dvb" to /etc/modules, make a successful
> >> firmware loading on boot. (My system is an Ubuntu 7.10)
> >>
> >>
> > Could you post the relevant sections of the kernel log for both
> > cases, successful and unsuccessful firmware load? Please extract the
> > entire board initialization. Also: do you run a client / server
> > based application (with early start of the server)?
> >
> > Hartmut
> >
> >
>
>
> These are extract of boot log for "saa" and "tda" text... later I'll send
> all system logs in both cases.
>
>
> Relevant row for "tda" part seems is:
> "[ 54.297295] tda1004x: setting up plls for 48MHz sampling clock"
> the second one, wich prevent on my opinion, to load firmware correctly.
>
>
Yes, this is what i meant! Looks like we need to "lock" the initialization
procedure. I haven't done such things before so i need to do a little research
first.
>
> tda / before:
> [ 35.412245] tda829x 0-004b: setting tuner address to 61
> [ 35.492199] tda829x 0-004b: type set to tda8290+75a
> [ 39.621806] tda1004x: setting up plls for 48MHz sampling clock
> [ 41.912490] tda1004x: found firmware revision 0 -- invalid
> [ 41.912495] tda1004x: trying to boot from eeprom
> [ 44.283116] tda1004x: found firmware revision 0 -- invalid
> [ 44.283122] tda1004x: waiting for firmware upload...
> [ 54.297295] tda1004x: setting up plls for 48MHz sampling clock
> [ 56.583964] tda1004x: found firmware revision 0 -- invalid
> [ 56.583968] tda1004x: trying to boot from eeprom
> [ 58.950592] tda1004x: found firmware revision 0 -- invalid
> [ 58.950597] tda1004x: waiting for firmware upload...
> [ 71.443661] tda1004x: found firmware revision 0 -- invalid
> [ 71.443665] tda1004x: firmware upload failed
> [ 73.543492] tda1004x: found firmware revision 80 -- invalid
> [ 73.543496] tda1004x: firmware upload failed
>
> tda / after:
> [ 35.101428] tda829x 0-004b: setting tuner address to 61
> [ 35.185381] tda829x 0-004b: type set to tda8290+75a
> [ 39.295055] tda1004x: setting up plls for 48MHz sampling clock
> [ 41.581753] tda1004x: found firmware revision 0 -- invalid
> [ 41.581756] tda1004x: trying to boot from eeprom
> [ 43.948412] tda1004x: found firmware revision 0 -- invalid
> [ 43.948415] tda1004x: waiting for firmware upload...
> [ 56.405359] tda1004x: found firmware revision 20 -- ok
> [ 71.360886] tda1004x: setting up plls for 48MHz sampling clock
> [ 71.664713] tda1004x: found firmware revision 20 -- ok
>
>
<snip>
Thanks for the info!
Best regards
Hartmut
More information about the linux-dvb
mailing list