Tomislav Bodor wrote:
> Tomislav Bodor wrote:
>>> Oops. I sent an empty message by mistake. Here's the real thing (at the
>> bottom).
>>>>>> Hartmut Hackmann wrote:
>>>>>>> Hi,
>>>>>> Tomislav Bodor wrote:
>>>>>>>>>> Hartmut Hackmann wrote:
>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>> Tomislav Bodor wrote:
>>>>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>> I am having problems getting the DVB-T300 to switch to analogue mode
>>>>>> once the digital part of the tuner has been accessed. The only way I
>>>>>> found seems to be to unload the saa7134-dvb module and reload saa7134.
>>>>>> I'm using the drivers from vanilla 2.6.18 kernel, but I checked the
>>>>>> relevant sections (see below) against mercurial and they seem to be
>>>>>> the
>>>>>> same.
>>>>>>>>>>>> Now, I have had a look at how this is supposed to be switched back to
>>>>>> analogue and have found the sleep function (the one used for
>>>>>> DVB-T300 is
>>>>>> philips_europa_tuner_sleep) and the way it's called from
>>>>>> dvb_frontent.c
>>>>>> after dvb_shutdown_timeout expires. This all seems to work (and the
>>>>>> sleep function is called correctly), but the tuner stays in digital
>>>>>> mode.
>>>>>>>>>>>> Does anyone have an idea why this might not work? Maybe the i2c
>>>>>> messages
>>>>>> are wrong for this card? Unfortunately this is all completely new
>>>>>> to me,
>>>>>> but I'm happy to test any patches :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> There have been 2 big changes since i added support for this card.
>>>>> I worried about the tda9887 merge in the tuner module, but the
>>>>> effect i worried about is a bit different from what you describe.
>>>>> - are there any error messages in the kernel log?
>>>>> - does analog tv work immedeately after module load?
>>>>> Any additional information will help.
>>>>>>>>>>>>>> Sure. Unfortunately, I don't know what's useful information and what's
>>>> not, so I may overload you :)
>>>>>>>> I'll tackle the latter first: analog works just fine after saa7134
>>>> module is loaded (this for me happens automatically during boot). It
>>>> continues working even after saa7134-dvb is loaded, all the way until I
>>>> run any dvb application (e.g. scan or mythbackend with a DVB card
>>>> configured). Once a dvb device is accessed the card is switched to
>>>> digital mode (and I can watch digital TV just fine).
>>>>>>>> Now for the first question: from that point onwards digital works fine,
>>>> but accessing the card in analogue mode (say using tvtime or mythtv via
>>>> the analogue tuner) produces the following errors in the kernel log:
>>>>>>>> Oct 2 16:04:38 localhost kernel: [ 540.007478] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>> Oct 2 16:04:38 localhost kernel: [ 540.015462] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>> Oct 2 16:04:38 localhost kernel: [ 540.023452] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>> Oct 2 16:04:38 localhost kernel: [ 540.131306] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>> Oct 2 16:04:38 localhost kernel: [ 540.139289] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>> Oct 2 16:04:38 localhost kernel: [ 540.215214] tuner 1-0061: i2c i/o
>>>> error: rc == -5 (should be 4)
>>>>>>>>>>>>>>> This is the information i was looking for. There is something going wrong
>>> with the I2c bridge.
>>>>>>>>>>>>> They come in batches of six at a time every time I start tvtime and then
>>>> one at a time every time I change channels.
>>>>>>>>>>>>>>> <snip>
>>>>>>>>>> And this reminds me: I never downloaded any firmware for tda10046 - it
>>>> just worked this way, though various documentation says that I should
>>>> use the get_dvb_firmware script from linux/Documentation/dvb. Why is it
>>>> working without firmware (out of curiosity)?
>>>>>>>>>>>>>>> Some cards have an eeprom with the Firmware. Yours too. In this case,
>>> the channel decoder boots from this.
>>>>>> This is a quick shot: can you please try to force the card type to69?
>>> So:
>>> modprobe saa7134 card=69
>>> modprobe saa7134-dvb
>>> (after you unloaded these modules)
>>>>>> Hartmut
>>>>>>>>>>>>>> That did it - it now works as expected: after a delay of about 5
>> seconds, the tuner switches back to analogue mode. I have had a look at
>> the way the reference Philips Europa card is set up in saa7134-dvb.c and
>> I see that DVB-T300 is missing one of the sleep functions - tuner has
>> one, but the front end doesn't. Maybe there's more, but I don't know.
>> Not sure what went wrong and when. I presume you know what needs to be
>> done from this point onwards?
>>>> Anyway, this workaround seems perfectly fine for now. Do you think there
>> is any functionality I will be missing compared to using card=70?
>>>>>> Ah. I see something missing: the remote input device is not initialised
> when I use card=69. With card=70 it's initialised correctly. This is a
> problem - I need the remote. If I try tweaking the code for DVB-T300 in
> saa7134-dvb to make it more similar to what's going on for Philips
> Europa reference, will that take me anywhere? Or is it more complicated
> than that?
>
I have tweaked the Philips Europa reference card (69) to appear to have
a IR input for the remote (by making minor changes to saa7134-input.c
and saa7134-card.c (I was talking nonsense when I wanted to edit
saa7134-dvb.c). Now, obviously this is an ugly hack, but seems to work
for me at the moment (until card=70 has support for reverting to
analogue tuner again).
Tomislav