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 _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb