Web lists-archives.com

Re: cx88: sometimes tuner does not load


Jan Frey schrieb:
> On Tuesday 01 May 2007, Trent Piepho wrote:
>> On Tue, 1 May 2007, Jan Frey wrote:
>>> When unloading all the cx88 modules and modprobing again, usually
>>> things are fine. I've made a comparison of the dmesg's and there is
>>> some difference:
>>> Tuner fails:
>>> cx88[0]: i2c scan: found device @ 0xa0  [eeprom]
>>> cx88[0]: i2c scan: found device @ 0xc2  [tuner (analog/dvb)]
>>> And this is how it looks like when it works:
>>> cx88[0]: i2c scan: found device @ 0x86  [tda9887/cx22702]  <-- eureka!
>>> cx88[0]: i2c scan: found device @ 0xa0  [eeprom]
>>> cx88[0]: i2c scan: found device @ 0xc2  [tuner (analog/dvb)]
>> This is a known problem.  Look in linux-dvb archive from about 2 - 1.5
>> months ago for stuff about the fmd1216 tuner and you can find Hartmutt
>> Hackman and myself discussing this.
>> The analog demodulator on this tuner, tda9887, is disabled by default.
>> That is why it doesn't show up on the scan when things don't work.
>> The demodulator is turned on by port P4 on the PLL chip (we think),
>> which defaults to 'off' on reset, so the board starts in 'digital mode'.
>>  The DVB driver will put this board into 'analog mode' when it is
>> closed, but the cx88 analog driver's scan for chips happens _before_ the
>> DVB driver is even loaded, so the board isn't yet in analog mode.
>> What you can do for now have your boot script unload the driver and load
>> it again, which should fix the problem.  I think just re-loading the
>> 'tuner' driver will be enough.
>> A proper fix is made difficult by the design of the v4l tuner system. 
>> The V4L system treats the PLL, analog demod, and digital demod as
>> _independent_ clients on a service bus (actually it ignores the digital
>> demod).  On these newer hybrid cards, that's not the case; there are
>> complicated interactions between clients.
> Hi
> thanks for your explanation.
> Unfortunately unloading/loading the tuner part does not always help.
> Sometimes I can observe things going wrong later now..
> A few times (starting kdetv/mplayer) it works, then it just shows noise.
> In the dmesg one can see messages like these then:
> tda9887 2-0043: i2c i/o error: rc == -121 (should be 4)
> This is very annoying, because I always have to reboot to get it working 
> again :-(
> Regards,
> Jan
We are talking about the fmd1216me tuner, right?
I have the same issue with saa7134. A (not nice) workaround is to send
the following message to the tuner module after i2c is up and before the
driver requests the tuner (0x61):
  u8 tuner_data[] = { 0x0b, 0xdc, 0x86, 0x52 };
This will turn the tda9886 on before the tuner module probes for it.

Best regards

video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe