Re: Switching tuner to analogue mode on Compro VideoMate DVB-T300

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

 



Hi,

Tomislav Bodor wrote:
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).

I will provide some Compro related patches soon anyway. May i ask you to
test these then?

Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux