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) 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. Also, here's more stuff from the log, if it's useful: When saa7134 module is loaded at boot: Oct 2 15:56:23 localhost kernel: [ 36.678310] saa7130/34: v4l2 driver version 0.2.14 loaded Oct 2 15:56:23 localhost kernel: [ 36.678374] ACPI: PCI Interrupt 0000:00:0c.0[A] -> GSI 16 (level, low) -> IRQ 193 Oct 2 15:56:23 localhost kernel: [ 36.678384] saa7134[0]: found at 0000:00:0c.0, rev: 1, irq: 193, latency: 32, mmio: 0xeb010000 Oct 2 15:56:23 localhost kernel: [ 36.678391] saa7134[0]: subsystem: 185b:c900, board: Compro Videomate DVB-T300 [card=70,autodetected] Oct 2 15:56:23 localhost kernel: [ 36.678403] saa7134[0]: board init: gpio is 843f00 Oct 2 15:56:23 localhost kernel: [ 36.678495] input: saa7134 IR (Compro Videomate DV as /class/input/input2 Oct 2 15:56:23 localhost kernel: [ 36.821316] saa7134[0]: i2c eeprom 00: 5b 18 00 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 Oct 2 15:56:23 localhost kernel: [ 36.821325] saa7134[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.821332] saa7134[0]: i2c eeprom 20: 01 40 01 03 03 ff 03 01 08 ff 00 87 ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.821339] saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.821345] saa7134[0]: i2c eeprom 40: ff 02 00 c2 86 10 ff ff ff ff ff ff ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.821351] saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb Oct 2 15:56:23 localhost kernel: [ 36.821358] saa7134[0]: i2c eeprom 60: 34 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.821364] saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Oct 2 15:56:23 localhost kernel: [ 36.885235] tuner 1-0043: chip found @ 0x86 (saa7134[0]) Oct 2 15:56:23 localhost kernel: [ 36.885295] tda9887 1-0043: tda988[5/6/7] found @ 0x43 (tuner) Oct 2 15:56:23 localhost kernel: [ 36.893236] tuner 1-0061: chip found @ 0xc2 (saa7134[0]) Oct 2 15:56:23 localhost kernel: [ 36.901207] tuner 1-0061: type set to 67 (Philips TD1316 Hybrid Tuner) Oct 2 15:56:23 localhost kernel: [ 36.909208] tuner 1-0068: chip found @ 0xd0 (saa7134[0]) Oct 2 15:56:23 localhost kernel: [ 36.910584] saa7134[0]: registered device video0 [v4l2] Oct 2 15:56:23 localhost kernel: [ 36.910611] saa7134[0]: registered device vbi0 Then, when saa7134-dvb is loaded, this is logged: Oct 2 16:01:54 localhost kernel: [ 376.454989] DVB: registering new adapter (saa7134[0]). Oct 2 16:01:54 localhost kernel: [ 376.454997] DVB: registering frontend 0 (Philips TDA10046H DVB-T)... And, finally, when the dvb devices are accessed (using scan), this: Oct 2 16:03:16 localhost kernel: [ 457.845609] tda1004x: setting up plls for 48MHz sampling clock Oct 2 16:03:16 localhost kernel: [ 458.368985] tda1004x: found firmware revision 23 -- ok 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)? Thanks, Tomislav _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb