TerraTec Cinergy T Stick+: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(removed personal info)
(Entirely reworked to match the "New Device" template)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:TerraTec_Cinergy_TStick+_feont.jpg|right|thumb|200px|TerraTec Cinergy TStick+]]
'''[[TerraTec]] Cinergy T Stick+''' is a [[USB|USB 2.0]] [[DVB-T]] with device id 0ccd:00d7

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 7: Line 103:
</pre>
</pre>


In such case, get the latest sources
Supported from Linux kernel 3.7 onwards (source [http://palosaari.fi/linux/ Antti Palosaari])

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 99: 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 09: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