[linux-dvb] Pinnacle PCTV (Dazzle) 300i maybe i2c problems with newer code?

Hartmut Hackmann hartmut.hackmann at t-online.de
Tue Dec 20 23:47:08 CET 2005


Hi, folks

Tim Small wrote:
> Any tips for i2c debugging appreciated, but to start off with, I've got 
> this output, with i2c_debug turned on, at module load time:
> 
> CVS Current gives:
> 
> 
> saa7134[0]: i2c xfer: < c0 >
> saa7134[0]: i2c xfer: < c1 =88 =28 =00 =00 =00 =00 =ff >
> tuner 5-0043: I2C RECV = 8f 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e 8e
> tuner 5-0060: I2C RECV = ef 40 00 00 00 00 ff ff ff ff ff ff ff ff ff ff
> tuner 5-0060: Returned more than 5 bytes. It is not a TEA5767
> tuner 5-0060: chip found @ 0xc0 (saa7134[0])
> tuner i2c attach [addr=0x60,client=(tuner unset)]
> saa7134[0]: i2c xfer: < c0 ERROR: NO_DEVICE
> saa7134[0]: i2c xfer: < c1 ERROR: NO_DEVICE
> tuner 5-0060: microtune: companycode=0000 part=00 rev=00
> tuner 5-0060: microtune unknown found, not (yet?) supported, sorry :-/
> saa7134[0]: i2c xfer: < c2 ERROR: NO_DEVICE
> saa7134[0]: i2c xfer: < c4 ERROR: NO_DEVICE
> saa7134[0]: i2c xfer: < c6 ERROR: NO_DEVICE
> 
> 
> 2005-07-06 gives:
> 
> saa7134[0]: i2c xfer: < c0 >
> tuner 6-0060: chip found @ 0xc0 (saa7134[0])
> saa7134[0]: i2c xfer: < c0 00 >
> saa7134[0]: i2c xfer: < c1 =42 =2c =28 =e7 =66 =63 =10 =88 =29 =08 =85 
> =99 =e3 =b5 =f0 =13 =24 =3c =bf =42 =2c >
> tuner 6-0060: microtune: companycode=3cbf part=42 rev=2c
> saa7134[0]: i2c xfer: < c0 06 10 >
> saa7134[0]: i2c xfer: < c0 0f 0f >
> saa7134[0]: i2c xfer: < c0 0d >
> saa7134[0]: i2c xfer: < c1 =b5 >
> tuner 6-0060: microtune MT2050 found, OK
> saa7134[0]: i2c xfer: < c2 ERROR: NO_DEVICE
> 
> 
> Tim Small wrote:
> 
>> Hi,
>>
>> I've just got a Pinnacle 300i, and I'm having some trouble with it....
>>
>> I first tried 2.6.14.1, and then the nightly snapshot from yesterday.  
>> Tuning failed.
>>
>> Having read the recent posting to this list, I've tried the 2.6.12 
>> kernel - this sort of works for a while - viewing with mplayer, output 
>> works OK for < 10 seconds, then output stutters, and stops.  Playing 
>> audio only streams, the   I tried building the 20050627 snapshot 
>> against this kernel - with this kernel I get output with a lot of 
>> corruption (random blocky garbage all over the image), and very 
>> chopped up, high pitch audio.  When trying to play audio-only streams, 
>> mplayer hangs up.
>>
>> Unfortunately, I don't have a PC running Windows XP to check 
>> performance of the hardware under Windows (software is XP only, the 
>> driver seems to install under 2000, but the application won't - if 
>> there are any applications that I can install under 2000 to try and 
>> verify operation under XP, I'd be glad to hear about them).
>>
>> I'm guessing from the messages below (companycode=0000) that i2c I/O 
>> is not reliable on this card with the newer code, any tips as to where 
>> to start looking would be greatfully recieved?  Is the fact that one 
>> is reporting "tuner 5-0060", and the other is "tuner 6-0060" 
>> significant?  Is it reading the wrong i2c bus, or something?
>>
>> Cheers,
>>
>> Tim.
>>
>>
>> With a recent snapshot, I get:
>>
>> saa7130/34: v4l2 driver version 0.2.14 loaded
>> saa7130/34: snapshot date 2005-12-08
>> ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] -> GSI 5 (level, 
>> low) -> IRQ 5
>> saa7134[0]: found at 0000:00:09.0, rev: 1, irq: 5, latency: 32, mmio: 
>> 0xdf001000
>> saa7134[0]: subsystem: 11bd:002d, board: Pinnacle PCTV 300i DVB-T + 
>> PAL [card=50,autodetected]
>> saa7134[0]: board init: gpio is c806000
>> tuner 5-0060: Chip ID is not zero. It is not a TEA5767
>> tuner 5-0060: chip found @ 0xc0 (saa7134[0])
>> tuner 5-0060: microtune: companycode=0000 part=00 rev=00
>> tuner 5-0060: microtune unknown found, not (yet?) supported, sorry :-/
>> tda9887 5-0043: chip found @ 0x86 (saa7134[0])
>> saa7134[0]: i2c eeprom 00: bd 11 2d 00 f8 f8 1c 00 43 43 a9 1c 55 d2 
>> b2 92
>> saa7134[0]: i2c eeprom 10: 00 f0 04 04 ff 20 ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 20: 01 40 01 02 03 ff 03 01 08 ff 00 25 ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 40: ff 16 00 c0 86 3c 01 01 ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 60: 0c 22 17 44 03 0a 78 a4 ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 70: 00 30 8d 17 b7 7d ff ff b4 20 ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c scan: found device @ 0x3c  [???]
>> saa7134[0]: i2c scan: found device @ 0x86  [tda9887]
>> saa7134[0]: i2c scan: found device @ 0x8e  [???]
>> saa7134[0]: i2c scan: found device @ 0xa0  [eeprom]
>> saa7134[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
>> tuner 5-0060: Tuner has no way to set tv freq
>> tuner 5-0060: Tuner has no way to set tv freq
>> saa7134[0]: registered device video0 [v4l2]
>> saa7134[0]: registered device vbi0
>> saa7134[0]: pinnacle 300i dvb setup
>> DVB: registering new adapter (saa7134[0]).
>> DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
>> saa7134[0]: mt352_pinnacle_init called
>> tuner 5-0060: Tuner has no way to set tv freq
>> saa7134[0]: mt352_pinnacle_init called
>>
>>
>>
>>
>> With 20050627, I get:
>>
>> saa7130/34: v4l2 driver version 0.2.13 loaded
>> saa7130/34: snapshot date 2005-06-27
>> ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
>> PCI: setting IRQ 5 as level-triggered
>> ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] -> GSI 5 (level, 
>> low) -> IRQ 5
>> saa7134[0]: found at 0000:00:09.0, rev: 1, irq: 5, latency: 32, mmio: 
>> 0xdf001000
>> saa7134[0]: subsystem: 11bd:002d, board: Pinnacle PCTV 300i DVB-T + 
>> PAL [card=50,autodetected]
>> saa7134[0]: board init: gpio is c806000
>> saa7134[0]: i2c eeprom 00: bd 11 2d 00 f8 f8 1c 00 43 43 a9 1c 55 d2 
>> b2 92
>> saa7134[0]: i2c eeprom 10: 00 f0 04 04 ff 20 ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 20: 01 40 01 02 03 ff 03 01 08 ff 00 25 ff ff 
>> ff ff
>> saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
>> ff ff
>> tuner 6-0060: chip found @ 0xc0 (saa7134[0])
>> tuner 6-0060: microtune: companycode=3cbf part=42 rev=2f
>> tuner 6-0060: microtune MT2050 found, OK
>> tda9885/6/7: chip found @ 0x86
>> saa7134[0]: registered device video0 [v4l2]
>> saa7134[0]: registered device vbi0
>>
>> saa7134[0]: pinnacle 300i dvb setup
>> DVB: registering new adapter (saa7134[0]).
>> DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
>> saa7134[0]: mt352_pinnacle_init called
>> mt352_read_register: readreg error (reg=30, ret==-5)
>> saa7134[0]: mt352_pinnacle_init called
>> mt352_read_register: readreg error (reg=30, ret==-5)
>> saa7134[0]: mt352_pinnacle_init called
>> ....
>> saa7134[0]: mt352_pinnacle_init called
>> mt352_read_register: readreg error (reg=1, ret==-5)
>>
>>
>>
I just had a quick glance at the microtune tinitialization code and
found something strange. I dont have a datasheet but i assume the IC
has regigister addresses. In this case the most common procedure for
reading is:
-set the register address with a write
-read the desired mumber of bytes.
I didn't see the setting the register address. Can somebody with a
datasheet check? This would explain why is sometimes worked.It simply
depends on the history.

Best regards
    Hartmut



More information about the linux-dvb mailing list