Install S2API
Contents |
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"
to
# 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 http://mercurial.intuxication.org/hg/s2-liplianin 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 http://aur.archlinux.org/packages.php?ID=25309 )
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:
dmesg
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