Pinnacle PCTV 200e: Difference between revisions
Kubunteando (talk | contribs) |
m (Added Microtune MT2060 link) |
||
(27 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
A [[DVB-T]] [[DVB-T USB Devices|USB 2.0 device]] from [[Pinnacle]]. |
|||
The Pinnacle PCTV 200e is a DVB-T highspeed USB 2.0 adapter with an active antenna. It was first presented on the CeBIT 2005, and still available for about EUR 40,-. |
|||
It is currently not supported in the LinuxTV tree, however, drivers do exist (see below). |
|||
Under Windows it can be used with alternative DVB software thanks to existing BDA drivers, while under GNU\Linux support is still missing, although both the frontend MT352 and the tuner MT2060 are already supported by LinuxTV. |
|||
==Overview/Features== |
|||
The PCTV 200e is identical to the PCTV 260e, the PCTV 60e and the "PCTV DVB-T Pro USB". |
|||
The PCTV 200e was first presented at CeBIT 2005, and is still available for about EUR 40. It is identical to some other Pinnacle models; the PCTV 260e, the PCTV 60e and the "PCTV DVB-T Pro USB". It comes with a detachable active antenna. |
|||
===Components Used=== |
|||
* [[Microtune MT2060]] tuner (i2c addr: 0xC0) |
|||
* [[Zarlink MT352]] [[demodulator]] (i2c addr: 0x3e) |
|||
* Cypress CY7C68013A (FX2LP) USB bridge |
|||
===Identification=== |
|||
== Current Status == |
|||
The output of ''lsusb -v'' provides that that it has a subsystem ID of: 2304:020e |
|||
As of June 2007 the driver is currently being written/debugged. Everyone who wants to help, can do so. Just contact the [http://www.linuxtv.org/lists.php LinuxTV mailing list], or contact the developer on the LinuxTV IRC (his nick: freez). |
|||
==Making it Work == |
|||
=== |
===Firmware=== |
||
None required. |
|||
* find out why the device is not giving the expected answers (maybe torture will help?) |
|||
* kill a "NULL pointer dereference" -- (currently using a workaround) |
|||
===Drivers=== |
|||
Juan Garcia (juanantonio_garcia_01@yahoo.es): |
|||
Currently there is no in kernel drivers for this device. |
|||
However, experimental support does exist. The following drivers are needed for these devices: |
|||
I would like to contact someone developing also the driver to share information, and to give a kick to the driver forward. I am heavily torturing the device... |
|||
- dvb-usb.ko |
|||
- pctv200e.ko |
|||
Drivers aren't in the official tree yet. So you will have to add them manually. Files and instructions are included in the following file: |
|||
* I have submitted a patch to the linux-dvd distribution list I think solving the "NULL pointer dereference" |
|||
* [http://www.student.tugraz.at/jsteidl/stuff/pctv200e-20080525.tar.bz2 updated files] |
|||
====Current Status==== |
|||
* I am getting initial answers from the device. I am able to attach the mt352 (demod). |
|||
The drivers work, but the code itself needs some cleanup and further testing before it can be backported into the offical developement tree. Everyone who wants to help can do so. Just contact the [http://www.linuxtv.org/lists.php LinuxTV mailing list], or contact the developer [http://members.liwest.at/freez/contact/ directly]. |
|||
It seems that the first byte to send on the USB for reading is "0x02". |
|||
For example with these sequence: |
|||
0x10 0x00 |
|||
Since the developers of this driver have virtually no time (and aren't using this adapter anymore), no further development is being planned for now. So if you want the driver to be integrated into the official v4l-dvb tree, you are welcome to do it yourself. |
|||
0x15 0x00 |
|||
====Development ToDo List==== |
|||
0x16 0x01 |
|||
* handle debug output |
|||
* integrate into official v4l tree |
|||
* do intensive testing |
|||
* support the remote control |
|||
===Sample kernel output=== |
|||
0x02 0x3e 0x01 0x01 0x7f |
|||
dvb-usb: found a 'Pinnacle PCTV 200e DVB-T' in warm state. |
|||
pctv200e: pctv200e_i2c_func: entering, done nothing |
|||
i2c-adapter i2c-6: SMBus Quick command not supported, can't probe for chips |
|||
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
|||
DVB: registering new adapter (Pinnacle PCTV 200e DVB-T) |
|||
pctv200e: attaching and initializing mt352frontend attached. |
|||
pctv200e: PCTV200e initialized mt352 |
|||
pctv200e: frontend attached. |
|||
DVB: registering frontend 2 (Zarlink MT352 DVB-T)... |
|||
Juan 02: entered mt2060_attach, going for kzalloc. |
|||
Juan 07: mt2060_attach, going for mt2060_readreg. |
|||
mt2060 calling I2C transfer |
|||
Juan 08: mt2060_attach, PART_REV = 99. |
|||
MT2060: successfully identified (IF1 = 1220) |
|||
Juan 02: just before fe->tuner_priv = priv. |
|||
Juan 02: mt2060_attach, going for calibrate. |
|||
Juan 09: mt2060_calibrate: just entered. |
|||
Juan 09: mt2060_calibrate: written 1st reg. |
|||
Juan 09: mt2060_calibrate: written 2nd reg. |
|||
Juan 09: mt2060_calibrate: clock output initialized. |
|||
mt2060 calling I2C transfer |
|||
saa7146_i2c_writeout: timed out waiting for end of xfer |
|||
mt2060 calling I2C transfer |
|||
MT2060: calibration was successful: 137 |
|||
Juan 02: mt2060_attach, calibrate done. |
|||
pctv200e: tuner mt2060 attached. |
|||
dvb-usb: Pinnacle PCTV 200e DVB-T successfully initialized and connected. |
|||
pctv200e: usb_device_init sucessfull. |
|||
usbcore: registered new interface driver dvb_usb_pctv200e |
|||
pctv200e: usb_register successfull. |
|||
I can read the mt352 CHIP_ID and register the mt352. |
|||
The: |
|||
0x10 0x00 |
|||
===Remote Controll Support=== |
|||
0x15 0x00 |
|||
IR sensor included on the adapter, but not supported by the driver. |
|||
== External Links == |
|||
0x16 0x01 |
|||
* [http://www.pinnaclesys.com/PublicSite/uk/Products/Consumer+Products/PCTV+Tuners/PCTV+Digital+PVR+%28DVB-S_DVB-T%29/PCTV+200e.htm Pinnacle product page] |
|||
[[Category:DVB-T USB Devices]] |
|||
Seems to be needed, otherwise I don't get the right answer if I don't send those first. |
|||
The answer is: |
|||
0x02 0x00 0x13 |
|||
So the 3rd byte is the value of the register, 0x13 is the right CHIP_ID. |
|||
===Source Code=== |
|||
The source code is available at mrec's site: |
|||
[http://mcentral.de/hg/~mrec/v4l-dvb-pinnacle200e http://mcentral.de/hg/~mrec/v4l-dvb-pinnacle200e] |
|||
===Stuff that might be useful=== |
|||
* [http://freeznet.ath.cx:81/files/usbsnoop_pctv200e.log.bz2 usbsnoop_pctv200e.log.bz2] (compressed ~94MB) |
|||
* [http://freeznet.ath.cx:81/files/lsusb.log lsusb.log] |
|||
== Further Information == |
|||
* [[DVB_USB#Pinnacle PCTV 200e USB - DVB-T PCTV 200e | PCTV 200e on the DVB_USB page]] |
|||
* [http://www.pinnaclesys.com/PublicSite/uk/Products/Consumer+Products/PCTV+Tuners/PCTV+Digital+PVR+%28DVB-S_DVB-T%29/PCTV+200e.htm Product Page] |
|||
[[Category:DVB-T]] |
|||
[[Category:Hardware]] |
Latest revision as of 01:41, 24 May 2009
A DVB-T USB 2.0 device from Pinnacle.
It is currently not supported in the LinuxTV tree, however, drivers do exist (see below).
Overview/Features
The PCTV 200e was first presented at CeBIT 2005, and is still available for about EUR 40. It is identical to some other Pinnacle models; the PCTV 260e, the PCTV 60e and the "PCTV DVB-T Pro USB". It comes with a detachable active antenna.
Components Used
- Microtune MT2060 tuner (i2c addr: 0xC0)
- Zarlink MT352 demodulator (i2c addr: 0x3e)
- Cypress CY7C68013A (FX2LP) USB bridge
Identification
The output of lsusb -v provides that that it has a subsystem ID of: 2304:020e
Making it Work
Firmware
None required.
Drivers
Currently there is no in kernel drivers for this device.
However, experimental support does exist. The following drivers are needed for these devices:
- dvb-usb.ko - pctv200e.ko
Drivers aren't in the official tree yet. So you will have to add them manually. Files and instructions are included in the following file:
Current Status
The drivers work, but the code itself needs some cleanup and further testing before it can be backported into the offical developement tree. Everyone who wants to help can do so. Just contact the LinuxTV mailing list, or contact the developer directly.
Since the developers of this driver have virtually no time (and aren't using this adapter anymore), no further development is being planned for now. So if you want the driver to be integrated into the official v4l-dvb tree, you are welcome to do it yourself.
Development ToDo List
- handle debug output
- integrate into official v4l tree
- do intensive testing
- support the remote control
Sample kernel output
dvb-usb: found a 'Pinnacle PCTV 200e DVB-T' in warm state. pctv200e: pctv200e_i2c_func: entering, done nothing i2c-adapter i2c-6: SMBus Quick command not supported, can't probe for chips dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. DVB: registering new adapter (Pinnacle PCTV 200e DVB-T) pctv200e: attaching and initializing mt352frontend attached. pctv200e: PCTV200e initialized mt352 pctv200e: frontend attached. DVB: registering frontend 2 (Zarlink MT352 DVB-T)... Juan 02: entered mt2060_attach, going for kzalloc. Juan 07: mt2060_attach, going for mt2060_readreg. mt2060 calling I2C transfer Juan 08: mt2060_attach, PART_REV = 99. MT2060: successfully identified (IF1 = 1220) Juan 02: just before fe->tuner_priv = priv. Juan 02: mt2060_attach, going for calibrate. Juan 09: mt2060_calibrate: just entered. Juan 09: mt2060_calibrate: written 1st reg. Juan 09: mt2060_calibrate: written 2nd reg. Juan 09: mt2060_calibrate: clock output initialized. mt2060 calling I2C transfer saa7146_i2c_writeout: timed out waiting for end of xfer mt2060 calling I2C transfer MT2060: calibration was successful: 137 Juan 02: mt2060_attach, calibrate done. pctv200e: tuner mt2060 attached. dvb-usb: Pinnacle PCTV 200e DVB-T successfully initialized and connected. pctv200e: usb_device_init sucessfull. usbcore: registered new interface driver dvb_usb_pctv200e pctv200e: usb_register successfull.
Remote Controll Support
IR sensor included on the adapter, but not supported by the driver.