Mediaserver - TV tuner card (Tevii S660)

I did some extensive research what tv tuner would be the best buy. I first focused on PCI-tuners but PCI has no future any more. PCIe would be fine, but my prototype Mediaserver - hardware has no PCIe Slot - too bad. So I endet up with a USB tuner: the Tevii S660.

It is well supported by Linux and has everything I looked for: DVB-S and DVB-S2 (HD). Because I am not willing to spend money on CI+, my tuner wouldn't need such a module or slot.


To use the S660 with Linux the apropriate firmware has to be downloaded and installed. Kernel support is there since at least version 3.0.x

Firmware download:

What to do:

cd /tmp
unrar e dvb-usb.rar
unrar e dvb-fe-ds3000.rar
mv *.fw /lib/firmware

Reboot and check with dmesg whether the firmware has been loaded.

[   15.909648] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[   17.392428] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[   17.577022] dvb-usb: found a 'TeVii S660 USB' in warm state.
[   17.581356] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   17.581425] DVB: registering new adapter (TeVii S660 USB)
[   17.581646] dvb-usb: MAC address: 00:00:00:00:00:00
[   17.664913] dvb-usb: no frontend was attached by 'TeVii S660 USB'
[   17.665082] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:02.2/usb1/1-2/input/input4
[   17.666782] dvb-usb: schedule remote query interval to 150 msecs.
[   17.666793] dvb-usb: TeVii S660 USB successfully initialized and connected.

Configure card in Mythtv

Start the Mythtv Setup, then open “2. TV Cards”, choose “new tv card”

Go to “Diseq ….” and configure LNB:

Go back to the main menu, choose “video sources”

Back to the main menu, open “5. Links”

Next we're going to search for channels “Sendersuchlauf”:

It is important so fill in the frequency “Frequenz”. I chose 11837000 for Astra 19.2 East.

Remote control

The S660 comes with a remote control. Let's check where the receiver is:

cat /proc/bus/input/devices


I: Bus=0003 Vendor=9022 Product=d660 Version=0000
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:00:02.2-2/ir0
S: Sysfs=/devices/pci0000:00/0000:00:02.2/usb1/1-2/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=3
B: KEY=6c0904 2470c1 0 0 0 8 10000 190 40000840 1e1680 1 f8000000 ffc

Next we need some packages:

sudo apt-get install lirc evtest inputlirc

Check whether we can talk to the receiver:

sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event2:      AT Translated Set 2 keyboard
/dev/input/event3:      Logitech USB-PS/2 Optical Mouse
/dev/input/event4:      IR-receiver inside an USB DVB receiver
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x9022 product 0xd660 version 0x0
Input device name: "IR-receiver inside an USB DVB receiver"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 103 (KEY_UP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 108 (KEY_DOWN)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 134 (KEY_OPEN)
    Event code 139 (KEY_MENU)
    Event code 158 (KEY_BACK)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 208 (KEY_FASTFORWARD)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 352 (KEY_OK)
    Event code 358 (KEY_INFO)
    Event code 359 (KEY_TIME)
    Event code 364 (KEY_FAVORITES)
    Event code 365 (KEY_EPG)
    Event code 366 (KEY_PVR)
    Event code 370 (KEY_SUBTITLE)
    Event code 373 (KEY_MODE)
    Event code 386 (KEY_TUNER)
    Event code 392 (KEY_AUDIO)
    Event code 395 (KEY_LIST)
    Event code 402 (KEY_CHANNELUP)
    Event code 403 (KEY_CHANNELDOWN)
    Event code 405 (KEY_LAST)
    Event code 406 (KEY_AB)
Testing ... (interrupt to exit)

Looks good.

Now we should insure our remote control can be acessed with the same name between restarts. We'll do some udev magic:

KERNEL=="event*",ATTRS{name}=="IR-receiver inside an USB DVB receiver",SYMLINK+="input/ir0"

This will tack our remote permanently to the device name /dev/input/ir0

Restart udev or reboot:

sudo /etc/init.d/udev restart


The lirc configs have to be present for the mythtv user as well as the standard user we created during setup:

cd /home/mythtv
sudo ln -s ../youruser/.lircrc
sudo mkdir .lirc
cd .lirc
sudo find /home/youruser/.lirc/* -exec ln -s {} \;
cd /home/mythtv
sudo chown -R mythtv.mythtv .*


mediaserver/tevii_s660.txt · Last modified: 2013-02 by tb
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready