Tevii S460 DVB-S2

This article is about the Tevii S460 DVB-S2 tuner, which is a PCI card. You'll need at least linux 2.6.28 to use this card, because of its S2API support.

Firmware setup
The firmware you'll need comes compressed using RAR, so start with emerging :

For convenience sake we'll be working in as root:

Download, using, the Tevii firmware:

Unrar the archive to our working directory:

Create the directory:

Copy the file to  and create a symlink too it in the same directory but without the version suffix.

Setting Up Remote Control Receiver
The DVB card has a IR receiver on board. The Linux kernel drivers of 2.6.29-r5 and below do not have the right code in it to process the incoming commands. Apply the kernel Patch for the kernel to correctly recognize the remote option on the board.

Verify setup
Verify that the kernel correctly found the card during boot from the dmesg output:

cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded cx88[0]: subsystem: d460:9022, board: TeVii S460 DVB-S/S2 [card=70,autodetected], frontend(s): 1 cx88[0]: TV tuner type -1, Radio tuner type -1 cx88/0: cx2388x v4l2 driver version 0.0.6 loaded input: cx88 IR (TeVii S460 DVB-S/S2) as /class/input/input4 cx88[0]/2: cx2388x 8802 Driver Manager cx88-mpeg driver manager 0000:01:01.2: PCI INT A -> GSI 22 (level, low) -> IRQ 22 cx88[0]/2: found at 0000:01:01.2, rev: 5, irq: 22, latency: 32, mmio: 0xf8000000 IRQ 22/cx88[0]: IRQF_DISABLED is not guaranteed on shared IRQs cx8800 0000:01:01.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 cx88[0]/0: found at 0000:01:01.0, rev: 5, irq: 22, latency: 32, mmio: 0xf7000000 IRQ 22/cx88[0]: IRQF_DISABLED is not guaranteed on shared IRQs cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: d460:9022, board: TeVii S460 DVB-S/S2 [card=70] cx88[0]/2: cx2388x based DVB/ATSC card cx8802_alloc_frontends allocating 1 frontend(s) DVB: registering new adapter (cx88[0]) DVB: registering adapter 0 frontend 0 (Conexant CX24116/CX24118)... Note that on the 5th line it is shown that the IR receiver is picked up by the kernel and its output is available on /dev/input/event4. At this point the remote acts as an other keyboard device to the application. Pressing the numeric keys on the remote should result is the keys showing up as keyboard input in an active terminal (xterm ) program at the unix prompt.

The (part of ) command can also be used to verify if the card is 'visible' to the kernel:

... 01:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05) Subsystem: Device d460:9022 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-  Capabilities: [4c] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: cx8800 Kernel modules: cx8800

01:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05) Subsystem: Device d460:9022 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- <PERR- INTx- Latency: 32 (1500ns min, 22000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 22 Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [4c] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: cx88-mpeg driver manager Kernel modules: cx8802 ... Modules loaded by the kernel: lsmod Run to show the available devices: total 0 crw-rw 1 root video 212, 1 Jun 4 14:28 demux0 crw-rw 1 root video 212, 2 Jun 4 14:28 dvr0 crw-rw 1 root video 212, 0 Jun 4 14:28 frontend0 crw-rw 1 root video 212, 3 Jun 4 14:28 net0