Pinnacle PCTV 300i
An hybrid Analog/DVB-T PCI card from Pinnacle
It is supported under Linux.
Overview/Features
- PCI Rev. 2.3 interface
- Analog TV
- Digital (DVB-T) TV
- S-Video Input
- VBI (Teletext)
- Digital audio input (via alsa or oss module)
- remote control
Card connectors
- TV signal: IEC connector
- Video Inputs: S-Video input (Mini-DIN), Composite video input (chinch)
- IR-Remote input: 2.5 mm stereo socket
- Audio output: four-pin plug-in connector, 2.8 mm grid (internal)
http://www.bttv-gallery.de/img08177fz.jpg_pinnacle_300i_11bd_002d_a.jpg
Components Used
- Microtune MT2050 tuner
- NXP/Philips TDA9887 (analog demodulator) [1]
- Intel/Zarlink MT352 (DVB-T demodulator) datasheet
- NXP/Philips SAA7134 Video/audio decoder: [2]
Identification
Output of lspci -v
0000:04:08.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast Decoder (rev 01) Subsystem: Pinnacle Systems Inc. Pinnacle PCTV 300i DVB-T + PAL Flags: bus master, medium devsel, latency 32, IRQ 58 Memory at faaffc00 (32-bit, non-prefetchable) [size=1K] Capabilities: [40] Power Management version 1
Making it Work
Drivers
Normally the card needs no module options and is recognized as card=50 with tuner=33. It was said, that you have to load the tda9887 module before the tuner (mt2050), to get the analogue part going.
Sample Kernel Output
Linux video capture interface: v2.00 saa7130/34: v4l2 driver version 0.2.14 loaded saa7134[0]: found at 0000:00:09.0, rev: 1, irq: 50, latency: 32, mmio: 0xfebff400 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 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 0d 70 fa ff ff ff ff ff ff ff ff saa7134[0]: i2c eeprom 70: 00 30 8d 18 08 4c ff ff 34 3c ff ff ff ff ff ff tuner 3-0043: chip found @ 0x86 (saa7134[0]) tda9887 3-0043: tda988[5/6/7] found @ 0x43 (tuner) tuner 3-0060: Chip ID is not zero. It is not a TEA5767 tuner 3-0060: chip found @ 0xc0 (saa7134[0]) tuner 3-0060: microtune: companycode=3cbf part=42 rev=2f tuner 3-0060: microtune MT2050 found, OK 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)...
Known Problems
Various people reported their Pinnacle 300i is not working on recent (2.6.15-15) kernels (90% of the time the mt2050 is not detected by microtune_init, and scanning fails even when it is detected).
As it was reported, the best working setup ever was with kernel 2.6.12.5 and the video4linux-archive as of 27062005 from bytesex.org.
At least one user has had good results using a 2.6.15 kernel: The missing mt2050 problem was solved by ensuring that tda9887 was loaded before tuner. The tuning failure problem should have been fixed in Feb 2006. As an alternative, a quick but ugly patch was to modify a line in mt20xx.c, from "if (V4L2_TUNER_DIGITAL_TV == t->mode) {" to "if (1) {". However, this edit breaks analogue tuning for mt20xx tuners. With these fix, dvb-t worked very well in Xine/Kaffeine but mplayer tended to lock up quite frequently (it looked like it was failing to recover from glitches in reception (does mplayer do this with other cards too?))
Note also that:
- As of Jun 2006, tda9887 module has been merged into "tuner" module and doesn't exist anymore on its own. You can load "tuner" module with the same options of "tda9887".
- Around Jan 2006, it was noticed that tda9887 needed port2 set to 1 to work; a patch was made for it. You could also try loading tda9887 module with "port2=1" option.
- If you still experience problems, this could be due to an old V4L driver in your kernel. You don't need to get sorurces and compile a new kernel to update V4L; just get Mercurial (similar to CVS), use it to download latest V4L-DVB version, and compile it. You can then install the new V4L modules on top of your existing kernel (detailed instructions here on linuxtv).
Remote Control Support
- Remote: has been disabled on Feb 2006 due to I2c hangs (check v4l-dvb Changelog for news)
External Links
- PCTV 300i Product homepage - general info from Pinnacle about the product
- Gentoo wiki on saa7134 - with extra info about 300i's tuning problems (at the end)