TerraTec Cinergy T Stick+

From LinuxTVWiki
Revision as of 09:30, 10 April 2013 by Zenobe (talk | contribs) (Entirely reworked to match the "New Device" template)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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