Pinnacle PCTV 300i: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
m (→‎Remote Control Support: Superscripted 2 in i2c)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
An [[hybrid]] Analog/[[DVB-T]] [[DVB-T PCI Cards|PCI card]] from [[Pinnacle]]
The Pinnacle PCTV 300i is a DVB-T-ready analogue/digital internal TV tuner card, with optional remote control.


It is supported under Linux.
http://www.bttv-gallery.de/img08177fz.jpg_pinnacle_300i_11bd_002d_a.jpg


==Overview/Features==
==Card features==
* PCI Rev. 2.3 interface
* PCI Rev. 2.3 interface
* Video/audio decoder: [http://www.semiconductors.philips.com/cgi-bin/pldb/pip/SAA7134HL/V1.html Philips SAA7134] ([http://www.semiconductors.philips.com/acrobat/datasheets/SAA7134HL_3.pdf datasheet])
* Analog demodulator: [http://www.semiconductors.philips.com/pip/TDA9887.html TDA 9887] ([http://www.semiconductors.philips.com/acrobat/datasheets/TDA9887_3.pdf datasheet])
* TV tuner: [http://www.emedialive.com/Articles/ReadArticle.aspx?ArticleID=8381 Microtune MT2050] ([http://www.microtune.com/products/pdf/MT2050_Tuner_IC.pdf datasheet])
* DVB-T demodulator: [http://products.zarlink.com/product_profiles/MT352.htm Zarlink MT352], ([http://products.zarlink.com/product_profiles/MT352.htm datasheet])

===Supported features===
* Analog TV
* Analog TV
* Digital (DVB-T) TV
* Digital (DVB-T) TV
* S-Video Input
* S-Video Input
* VBI (Teletext)
* Digital audio input (via alsa or oss module)
* remote control


Card connectors
===Unupported features===
* Remote: has been disabled on Feb 2006 due to i2c hangs (check [http://linuxtv.org/hg/v4l-dvb?repo=hg%2Fv4l-dvb&style=gitweb&cmd=changelog&rev=300i# v4l-dvb Changelog] for news)

==Card connectors==
* TV signal: IEC connector
* TV signal: IEC connector
* Video Inputs: S-Video input (Mini-DIN), Composite video input (chinch)
* Video Inputs: S-Video input (Mini-DIN), Composite video input (chinch)
Line 24: Line 18:
* Audio output: four-pin plug-in connector, 2.8 mm grid (internal)
* 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
==lspci -v==

===Components Used===
* [[Microtune MT2050]] tuner
* [[NXP TDA9887|NXP/Philips TDA9887]] (analog demodulator) [http://www.semiconductors.philips.com/pip/TDA9887.html]
* [[Intel]]/[[Zarlink MT352]] (DVB-T demodulator) [http://products.zarlink.com/product_profiles/MT352.htm datasheet]
* [[Philips SAA7134|NXP/Philips SAA7134]] Video/audio decoder: [http://www.semiconductors.philips.com/cgi-bin/pldb/pip/SAA7134HL/V1.html]

===Identification===
Output of ''lspci -v''
0000:04:08.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast Decoder (rev 01)
0000:04:08.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast Decoder (rev 01)
Subsystem: Pinnacle Systems Inc. Pinnacle PCTV 300i DVB-T + PAL
Subsystem: Pinnacle Systems Inc. Pinnacle PCTV 300i DVB-T + PAL
Line 31: Line 34:
Capabilities: [40] Power Management version 1
Capabilities: [40] Power Management version 1


==Kernel output==
==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
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7134[0]: found at 0000:00:0a.0, rev: 1, irq: 16, 32, mmio: 0xe2008000
saa7134[0]: found at 0000:00:09.0, rev: 1, irq: 50, latency: 32, mmio: 0xfebff400
saa7134[0]: subsystem: 11bd:002d, board: Pinnacle 300i DVB-T + PAL [card=50,autodetected]
saa7134[0]: subsystem: 11bd:002d, board: Pinnacle PCTV 300i DVB-T + PAL [card=50,autodetected]
saa7134[0]: board init: gpio is c806000
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
tda9887 0-0043: chip found @ 0x86 (saa7134[0])
saa7134[0]: i2c eeprom 10: 00 f0 04 04 ff 20 ff ff ff ff ff ff ff ff ff ff
tuner 0-0060: Chip ID is not zero. It is not a TEA5767
saa7134[0]: i2c eeprom 20: 01 40 01 02 03 ff 03 01 08 ff 00 25 ff ff ff ff
tuner 0-0060: chip found @ 0xc0 (saa7134[0])
saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner 0-0060: v4l2_int ioctl TUNER_SET_TYPE_ADDR, (0x4004645a)
saa7134[0]: i2c eeprom 40: ff 16 00 c0 86 3c 01 01 ff ff ff ff ff ff ff ff
tuner 0-0060: Calling set_type_addr for type=33, mode=0x04
saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner 0-0060: tuner 0x60: called during i2c_client by adapter's attach_inform
saa7134[0]: i2c eeprom 60: 0c 22 17 44 03 0d 70 fa ff ff ff ff ff ff ff ff
tuner 0-0060: v4l2_int ioctl TDA9887_SET_CONFIG, (0x4004645c)
saa7134[0]: i2c eeprom 70: 00 30 8d 18 08 4c ff ff 34 3c ff ff ff ff ff ff
tuner 0-0060: pinnacle pal
tuner 3-0043: chip found @ 0x86 (saa7134[0])
tuner 0-0060: MT20xx hexdump: 42 2c 29 e7 66 63 11 88 29 07 85 99 e3 b7 f0 13 24 3c bf 42 2c
tda9887 3-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 0-0060: microtune: companycode=3cbf part=42 rev=2c
tuner 0-0060: mt2050: sro is b7
tuner 3-0060: Chip ID is not zero. It is not a TEA5767
tuner 0-0060: microtune MT2050 found, OK
tuner 3-0060: chip found @ 0xc0 (saa7134[0])
tuner 3-0060: microtune: companycode=3cbf part=42 rev=2f
tuner 0-0060: saa7134[0] tuner I2C addr 0xc0 with 33 used for 0x0e
tuner 3-0060: microtune MT2050 found, OK
saa7134[0]: i2c eeprom 00: bd 11 2d 00 f8 f8 1c 00 43 a9 1c 55 d2 b2 92
saa7134[0]: registered device video0 [v4l2]
saa7134[0]: i2c eeprom 10: 00 f0 04 04 ff 20 ff ff ff ff ff ff ff ff ff
saa7134[0]: registered device vbi0
saa7134[0]: i2c eeprom 20: 01 40 01 02 03 ff 03 01 08 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
saa7134[0]: i2c eeprom 40: ff 16 00 c0 86 3c 01 01 ff ff ff ff ff ff ff
saa7134[0]: pinnacle 300i dvb setup
DVB: registering new adapter (saa7134[0]).
saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
saa7134[0]: i2c eeprom 60: 0c 22 17 44 03 0d 57 7c ff ff ff ff ff ff ff
saa7134[0]: i2c eeprom 70: 00 30 8d 17 ee cd ff ff 34 ff ff ff ff ff ff

==Module Options==
Normally the card needs no 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.


==Known Problems==
==Known Problems==
Line 75: Line 80:
* 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 [http://www.linuxtv.org/v4lwiki/index.php/How_to_build_from_mercurial here on linuxtv]).
* 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 [http://www.linuxtv.org/v4lwiki/index.php/How_to_build_from_mercurial here on linuxtv]).


===Remote Control Support===
==Links==
* Remote: has been disabled on Feb 2006 due to I<sup>2</sup>c hangs (check [http://linuxtv.org/hg/v4l-dvb?repo=hg%2Fv4l-dvb&style=gitweb&cmd=changelog&rev=300i# v4l-dvb Changelog] for news)


==External Links==
* [http://gentoo-wiki.com/HARDWARE_saa7134 Gentoo wiki on saa7134] - with extra info about 300i's tuning problems (at the end)
* [http://www.pinnaclesys.com/publicsite/uk/Products/Consumer+Products/PCTV/PCTV/PCTV+MediaCenter+300i.htm PCTV 300i Product homepage] - general info from Pinnacle about the product
* [http://www.pinnaclesys.com/publicsite/uk/Products/Consumer+Products/PCTV/PCTV/PCTV+MediaCenter+300i.htm PCTV 300i Product homepage] - general info from Pinnacle about the product
* [http://gentoo-wiki.com/HARDWARE_saa7134 Gentoo wiki on saa7134] - with extra info about 300i's tuning problems (at the end)
[[Category:DVB-T PCI Cards]]

Latest revision as of 23:38, 2 June 2009

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

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