Install S2API

From Dolot
Jump to: navigation, search


1 Introduction

This howto/tutorial will guide you through installing the Liplianin's V4L tree, which contains the drivers for our DVB card and the spanking new S2API.

S2API is the next version of the LinuxDVB API. The API needed to be rewritten because of the "new" DVB-S2 protocol. Without one you wouldn't be able to access channels which broadcast using the DVB-S2 protocol.

We need to compile it ourselves because it has not yet been accepted in to the kernel.

I have tested these procedures on Debian (5.0) All the sources will be downloaded to /usr/local/src/

2 Preparation

2.1 Got root?

Installing everything is much easier when you're root.

sudo -s

2.2 Installing dependencies

The following packages are needed to compile S2API.

apt-get install linux-headers-`uname -r` mercurial build-essential cvs subversion libncurses5-dev

3 Updating udev

On kernel 2.6.31+ udev populates devices differently than we're used to. To change it back, do this:

nano /lib/udev/rules.d/50-udev-default.rules

And change

# DVB (video)
SUBSYSTEM=="dvb", GROUP="video"


# DVB (video)
#SUBSYSTEM=="dvb", GROUP="video"
SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"

4 Installing S2API (S2-Liplianin)

4.1 Get S2API (Revision 12463)

We will be using revision 12463

mkdir -p /usr/local/src
cd /usr/local/src
hg clone -r 12463
cd /usr/local/src/s2-liplianin

4.2 Patching S2API

On Linux 2.6.30+ there are a few compilation problems. The best way to get rid of these is by disabling firedtv. (I'm sorry if you need this, I don't)
(Got this info from )

cd /usr/local/src/s2-liplianin
make menuconfig

Go to:

Multimedia devices --->
DVB/ATSC adapters --->

and disable "FireDTV and FloppyDTV"
exit menuconfig (remember to save the configuration when asked)

4.3 Compile S2API

Now we can compile

cd /usr/local/src/s2-liplianin
make && make install

4.4 Loading the modules

To load the freshly installed modules execute the following command: (Do not forget that, when you update your kernel version, you need to recompile everything)

modprobe dvb_core cam_debug=255
modprobe stb6100 verbose=5
modprobe stb0899 verbose=5
modprobe lnbp21
modprobe budget-ci

4.5 Succesful dmesg output

If you want to make sure everything loaded OK, execute this command:


This will give you a lot of system messages, the ones regarding your DVB-S2 card will be at the bottom and look like this:

[ 4221.976390] saa7146: register extension 'budget_ci dvb'.
[ 4228.155498] saa7146: unregister extension 'budget_ci dvb'.
[ 4514.890453] saa7146: register extension 'budget_ci dvb'.
[ 4514.890497] ACPI: PCI Interrupt 0000:05:00.0[A] -> GSI 21 (level, low) -> IRQ 21
[ 4514.890516] saa7146: found saa7146 @ mem f8d2ec00 (revision 1, irq 21) (0x13c2,0x1019).
[ 4514.890522] saa7146 (0): dma buffer size 192512
[ 4514.890525] DVB: registering new adapter (TT-Budget S2-3200 PCI)
[ 4514.925550] adapter has MAC addr = 00:d0:5c:64:a7:56
[ 4514.925841] input: Budget-CI dvb ir receiver saa7146 (0) as /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/input/input11
[ 4515.287435] stb0899_write_regs [0xf1b6]: 02
[ 4515.287642] stb0899_write_regs [0xf1c2]: 00
[ 4515.287813] stb0899_write_regs [0xf1c3]: 00
[ 4515.288217] _stb0899_read_reg: Reg=[0xf000], data=82
[ 4515.288221] stb0899_get_dev_id: ID reg=[0x82]
[ 4515.288224] stb0899_get_dev_id: Device ID=[8], Release=[2]
[ 4515.289226] _stb0899_read_s2reg Device=[0xf3fc], Base address=[0x00000400], Offset=[0xf334], Data=[0x444d4431]
[ 4515.290208] _stb0899_read_s2reg Device=[0xf3fc], Base address=[0x00000400], Offset=[0xf33c], Data=[0x00000001]
[ 4515.290212] stb0899_get_dev_id: Demodulator Core ID=[DMD1], Version=[1]
[ 4515.291292] _stb0899_read_s2reg Device=[0xfafc], Base address=[0x00000800], Offset=[0xfa2c], Data=[0x46454331]
[ 4515.292222] _stb0899_read_s2reg Device=[0xfafc], Base address=[0x00000800], Offset=[0xfa34], Data=[0x00000001]
[ 4515.292226] stb0899_get_dev_id: FEC Core ID=[FEC1], Version=[1]
[ 4515.292230] stb0899_attach: Attaching STB0899
[ 4515.292271] stb6100_attach: Attaching STB6100
[ 4515.292405] DVB: registering frontend 0 (STB0899 Multistandard)...
[ 4515.292463] ACPI: PCI Interrupt 0000:05:01.0[A] -> GSI 22 (level, low) -> IRQ 22
[ 4515.292497] saa7146: found saa7146 @ mem f8d30800 (revision 1, irq 22) (0x13c2,0x1019).
[ 4515.292505] saa7146 (1): dma buffer size 192512

4.6 Unloading the modules

Should you need to unload them execute this command:

modprobe -r budget-ci
modprobe -r lnbp21
modprobe -r stb0899
modprobe -r stb6100
modprobe -r dvb_core
modprobe -r ttpci_eeprom
Personal tools