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