Difference between revisions of "TerraTec Cinergy T Stick+"

From LinuxTVWiki
Jump to: navigation, search
(Cosmetic fix)
(Entirely reworked to match the "New Device" template)
 
Line 1: Line 1:
'''[[TerraTec]] Cinergy T Stick+''' is a [[USB|USB 2.0]] [[DVB-T]] with device id 0ccd:00d7 based on Realtek [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=35&Level=4&Conn=3&ProdID=257 RTL2832U] and the tuner [http://www.superkuh.com/gnuradio/Elonics-E4000-Low-Power-CMOS-Multi-Band-Tunner-Datasheet.pdf Elonic E4000]
+
[[Image:TerraTec_Cinergy_TStick+_feont.jpg|right|thumb|200px|TerraTec Cinergy TStick+]]
  
Foreword: [[TerraTec Cinergy T Stick]] / 0ccd:00aa is a different device, based on Afatech AF9035
+
An [[DVB-T]] [[USB]] stick from [[TerraTec]]. 
 +
 
 +
The TerraTec Cinergy TStick+ 0ccd:00d7 is supported under Linux since kernel 3.7  (source  [http://palosaari.fi/linux/ Antti Palosaari])
 +
 
 +
==Overview/Features==
 +
 
 +
* USB interface
 +
* Inputs: Antenna (Coaxial), Infrared Remote
 +
 
 +
===Components Used===
 +
 
 +
* Elonics E4000 (tuner)
 +
* [[RealTek_RTL2832U|Realtek RTL2832U]] (demodulator)
 +
 
 +
===Other Images===
 +
<gallery perrow=5>
 +
File:TerraTec_Cinergy_TStick+_box.jpg|TerraTec Cinergy TStick+ box
 +
File:TerraTec_Cinergy_TStick+_antenna.jpg|TerraTec Cinergy TStick+ antenna
 +
</gallery>
 +
 
 +
===Identification===
 +
<pre>
 +
$ lsusb -v -d 0ccd:00d7
 +
 
 +
Bus 001 Device 002: ID 0ccd:00d7 TerraTec Electronic GmbH
 +
Device Descriptor:
 +
bLength                18
 +
bDescriptorType        1
 +
bcdUSB              2.00
 +
bDeviceClass            0 (Defined at Interface level)
 +
bDeviceSubClass        0
 +
bDeviceProtocol        0
 +
bMaxPacketSize0        64
 +
idVendor          0x0ccd TerraTec Electronic GmbH
 +
idProduct          0x00d7
 +
bcdDevice            1.00
 +
iManufacturer          1 Realtek
 +
iProduct                2 RTL2838UHIDIR
 +
iSerial                3 00000001
 +
bNumConfigurations      1
 +
Configuration Descriptor:
 +
bLength                9
 +
bDescriptorType        2
 +
wTotalLength          34
 +
bNumInterfaces          2
 +
bConfigurationValue    1
 +
iConfiguration          4 USB2.0-Bulk&Iso
 +
bmAttributes        0x80
 +
(Bus Powered)
 +
MaxPower              500mA
 +
Interface Descriptor:
 +
bLength                9
 +
bDescriptorType        4
 +
bInterfaceNumber        0
 +
bAlternateSetting      0
 +
bNumEndpoints          1
 +
bInterfaceClass      255 Vendor Specific Class
 +
bInterfaceSubClass    255 Vendor Specific Subclass
 +
bInterfaceProtocol    255 Vendor Specific Protocol
 +
iInterface              5 Bulk-In, Interface
 +
Endpoint Descriptor:
 +
bLength                7
 +
bDescriptorType        5
 +
bEndpointAddress    0x81  EP 1 IN
 +
bmAttributes            2
 +
Transfer Type            Bulk
 +
Synch Type              None
 +
Usage Type              Data
 +
wMaxPacketSize    0x0200  1x 512 bytes
 +
bInterval              0
 +
Interface Descriptor:
 +
bLength                9
 +
bDescriptorType        4
 +
bInterfaceNumber        1
 +
bAlternateSetting      0
 +
bNumEndpoints          0
 +
bInterfaceClass      255 Vendor Specific Class
 +
bInterfaceSubClass    255 Vendor Specific Subclass
 +
bInterfaceProtocol    255 Vendor Specific Protocol
 +
iInterface              5 Bulk-In, Interface
 +
Device Qualifier (for other device speed):
 +
bLength                10
 +
bDescriptorType        6
 +
bcdUSB              2.00
 +
bDeviceClass            0 (Defined at Interface level)
 +
bDeviceSubClass        0
 +
bDeviceProtocol        0
 +
bMaxPacketSize0        64
 +
bNumConfigurations      2
 +
Device Status:    0x0000
 +
(Bus Powered)
 +
</pre>
 +
 
 +
==Making it Work==
 +
In case you have an earlier kernel version than 3.7, you might build the module as follow:
  
 
First check that you have the right device
 
First check that you have the right device
Line 9: Line 103:
 
</pre>
 
</pre>
  
Supported from Linux kernel 3.7 onwards (source  [http://palosaari.fi/linux/ Antti Palosaari])
+
In such case, get the latest sources
 
+
In case you have an earlier kernel version, you might build the module as follow:
+
 
+
 
<pre>
 
<pre>
 
$ git clone git://linuxtv.org/media_build.git
 
$ git clone git://linuxtv.org/media_build.git
Line 101: Line 192:
  
 
NOTE 2: Even if my device is recognized, I did not successifully managed to view a television channel - I'll get back and edit this page once I've more insight. (your help is welcome as well !)
 
NOTE 2: Even if my device is recognized, I did not successifully managed to view a television channel - I'll get back and edit this page once I've more insight. (your help is welcome as well !)
 +
 +
===Firmware===
 +
No firmware required
 +
 +
===Drivers===
 +
Module dvb_usb_rtl28xxu
 +
 +
===Sample Kernel Output===
 +
<pre>
 +
$ dmesg
 +
[    3.079220] usb 1-5: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
 +
[    3.104370] i2c i2c-14: e4000: Elonics E4000 successfully identified
 +
[    3.117834] Registered IR keymap rc-empty
 +
[    3.117966] input: TerraTec Cinergy T Stick+ as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/rc/rc0/input6
 +
[    3.118034] rc0: TerraTec Cinergy T Stick+ as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/rc/rc0
 +
[    3.118040] usb 1-5: dvb_usb_v2: schedule remote query interval to 400 msecs
 +
[    3.134200] usb 1-5: dvb_usb_v2: 'TerraTec Cinergy T Stick+' successfully initialized and connected
 +
</pre>
 +
 +
===Remote Control Support===
 +
Supposed to receive infrared commands based on the NEC protocol - not tested.
 +
 +
<pre>
 +
$ sudo /usr/bin/ir-keytable -s `/bin/ls -1 /sys/class/rc | /usr/bin/tail -1`
 +
Found /sys/class/rc/rc0/ (/dev/input/event6) with:
 +
Driver dvb_usb_rtl28xxu, table rc-empty
 +
Supported protocols: NEC
 +
Enabled protocols:
 +
Repeat delay = 500 ms, repeat period = 125 ms
 +
</pre>
 +
 +
==External Links==
 +
* [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=35&Level=4&Conn=3&ProdID=257 Realtek RTL2832U demodulator]
 +
* [http://www.superkuh.com/gnuradio/Elonics-E4000-Low-Power-CMOS-Multi-Band-Tunner-Datasheet.pdf Elonic E4000 tuner]
 +
 +
[[Category:DVB-T USB Devices]]

Latest revision as of 11:30, 10 April 2013

An DVB-T USB stick from TerraTec.

The TerraTec Cinergy TStick+ 0ccd:00d7 is supported under Linux since kernel 3.7 (source Antti Palosaari)

Overview/Features

  • USB interface
  • Inputs: Antenna (Coaxial), Infrared Remote

Components Used

Other Images

Identification

$ lsusb -v -d 0ccd:00d7

Bus 001 Device 002: ID 0ccd:00d7 TerraTec Electronic GmbH 
Device Descriptor:
	bLength                18
	bDescriptorType         1
	bcdUSB               2.00
	bDeviceClass            0 (Defined at Interface level)
	bDeviceSubClass         0 
	bDeviceProtocol         0 
	bMaxPacketSize0        64
	idVendor           0x0ccd TerraTec Electronic GmbH
	idProduct          0x00d7 
	bcdDevice            1.00
	iManufacturer           1 Realtek
	iProduct                2 RTL2838UHIDIR
	iSerial                 3 00000001
	bNumConfigurations      1
	Configuration Descriptor:
		bLength                 9
		bDescriptorType         2
		wTotalLength           34
		bNumInterfaces          2
		bConfigurationValue     1
		iConfiguration          4 USB2.0-Bulk&Iso
		bmAttributes         0x80
			(Bus Powered)
		MaxPower              500mA
		Interface Descriptor:
			bLength                 9
			bDescriptorType         4
			bInterfaceNumber        0
			bAlternateSetting       0
			bNumEndpoints           1
			bInterfaceClass       255 Vendor Specific Class
			bInterfaceSubClass    255 Vendor Specific Subclass
			bInterfaceProtocol    255 Vendor Specific Protocol
			iInterface              5 Bulk-In, Interface
			Endpoint Descriptor:
				bLength                 7
				bDescriptorType         5
				bEndpointAddress     0x81  EP 1 IN
				bmAttributes            2
					Transfer Type            Bulk
					Synch Type               None
					Usage Type               Data
				wMaxPacketSize     0x0200  1x 512 bytes
				bInterval               0
		Interface Descriptor:
			bLength                 9
			bDescriptorType         4
			bInterfaceNumber        1
			bAlternateSetting       0
			bNumEndpoints           0
			bInterfaceClass       255 Vendor Specific Class
			bInterfaceSubClass    255 Vendor Specific Subclass
			bInterfaceProtocol    255 Vendor Specific Protocol
			iInterface              5 Bulk-In, Interface
Device Qualifier (for other device speed):
	bLength                10
	bDescriptorType         6
	bcdUSB               2.00
	bDeviceClass            0 (Defined at Interface level)
	bDeviceSubClass         0 
	bDeviceProtocol         0 
	bMaxPacketSize0        64
	bNumConfigurations      2
Device Status:     0x0000
	(Bus Powered)

Making it Work

In case you have an earlier kernel version than 3.7, you might build the module as follow:

First check that you have the right device

$ lsusb -d 0ccd:00d7
Bus 001 Device 008: ID 0ccd:00d7 TerraTec Electronic GmbH

In such case, get the latest sources

$ git clone git://linuxtv.org/media_build.git

$ cd media_build

Then follow the instructions as described in the "README" file

Thereafter you might load the module:

$ sudo modprobe -v dvb_usb_rtl28xxu
insmod /lib/modules/3.2.0-39-generic-pae/kernel/drivers/media/dvb-core/dvb-core.ko 
insmod /lib/modules/3.2.0-39-generic-pae/kernel/drivers/media/dvb-frontends/rtl2830.ko 
insmod /lib/modules/3.2.0-39-generic-pae/kernel/drivers/media/rc/rc-core.ko 
insmod /lib/modules/3.2.0-39-generic-pae/kernel/drivers/media/usb/dvb-usb-v2/dvb_usb_v2.ko 
insmod /lib/modules/3.2.0-39-generic-pae/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-rtl28xxu.ko 

You might check using dvbsnoop

$ dvbsnoop -s feinfo
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/ 

---------------------------------------------------------
FrontEnd Info...
---------------------------------------------------------

Device: /dev/dvb/adapter0/frontend0

Basic capabilities:
    Name: "Realtek RTL2832 (DVB-T)"
    Frontend-type:       OFDM (DVB-T)
    Frequency (min):     174000.000 kHz
    Frequency (max):     862000.000 kHz
    Frequency stepsiz:   166.667 kHz
    Frequency tolerance: 0.000 kHz
    Symbol rate (min):     0.000000 MSym/s
    Symbol rate (max):     0.000000 MSym/s
    Symbol rate tolerance: 0 ppm
    Notifier delay: 0 ms
    Frontend capabilities:
        auto inversion
        FEC 1/2
        FEC 2/3
        FEC 3/4
        FEC 5/6
        FEC 7/8
        FEC AUTO
        QPSK
        QAM 16
        QAM 64
        QAM AUTO
        auto transmission mode
        auto guard interval
        auto hierarchy

Current parameters:
    Frequency:  0.000 kHz
    Inversion:  OFF
    Bandwidth:  AUTO
    Stream code rate (hi prio):  FEC AUTO
    Stream code rate (lo prio):  FEC AUTO
    Modulation:  QAM AUTO
    Transmission mode:  auto
    Guard interval:  auto
    Hierarchy:  auto

You may test you device using either dvbscan, scan, w_scan or tzap.

I've chosen Zap because it gives a quick feedback on the signal quality:

$ tzap 'la une'
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
reading channels from file '~/.tzap/channels.conf'
tuning to 754000000 Hz
video pid 0x0021, audio pid 0x0022
status 00 | signal bf81 | snr 0000 | ber 0000ffff | unc bf814ff8 | 
status 00 | signal bf81 | snr 0000 | ber 0000ffff | unc bf814ff8 | 
status 00 | signal bf81 | snr 0000 | ber 0000ffff | unc bf814ff8 | 
^C

NOTE 1: I've stopped the execution using control-c signal.

NOTE 2: Even if my device is recognized, I did not successifully managed to view a television channel - I'll get back and edit this page once I've more insight. (your help is welcome as well !)

Firmware

No firmware required

Drivers

Module dvb_usb_rtl28xxu

Sample Kernel Output

$ dmesg
[    3.079220] usb 1-5: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[    3.104370] i2c i2c-14: e4000: Elonics E4000 successfully identified
[    3.117834] Registered IR keymap rc-empty
[    3.117966] input: TerraTec Cinergy T Stick+ as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/rc/rc0/input6
[    3.118034] rc0: TerraTec Cinergy T Stick+ as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/rc/rc0
[    3.118040] usb 1-5: dvb_usb_v2: schedule remote query interval to 400 msecs
[    3.134200] usb 1-5: dvb_usb_v2: 'TerraTec Cinergy T Stick+' successfully initialized and connected

Remote Control Support

Supposed to receive infrared commands based on the NEC protocol - not tested.

$ sudo /usr/bin/ir-keytable -s `/bin/ls -1 /sys/class/rc | /usr/bin/tail -1`
Found /sys/class/rc/rc0/ (/dev/input/event6) with:
	Driver dvb_usb_rtl28xxu, table rc-empty
	Supported protocols: NEC 
	Enabled protocols: 
	Repeat delay = 500 ms, repeat period = 125 ms

External Links