TerraTec Cinergy T Stick+
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
- Elonics E4000 (tuner)
- Realtek RTL2832U (demodulator)
Other Images
- TerraTec Cinergy TStick+ box.jpg
TerraTec Cinergy TStick+ box
- TerraTec Cinergy TStick+ antenna.jpg
TerraTec Cinergy TStick+ antenna
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