Use NSA325 as tvheadend backend with USB dvs-s2 receiver
January 21, 2014 11:13AM
Dear all,

my intention is to use the NSA325 as tvheadend backend with an USB attached dvb-s2 receiver.

Compiling tvheadend was straight forward, but it seems that there are no dvb-s/s2 modules available, so my Technotrend S2-4600 is not loaded nor found by tvheadend. Therefore I have to compile the v4l drivers and modules by my own.

What I did:

dpkg -i linux-headers-3.12.0-kirkwood-tld-5_5.0_armel.deb
hg clone --insecure https://bitbucket.org/liplianin/s2-liplianin-v39
cd /lib/modules/3.12.0-kirkwood-tld-5/build/
ln -s /usr/src/linux-headers-3.12.0-kirkwood-tld-5 build
apt-get install libproc-processtable-perl
in s2-liplianin-v39 I run make with success

and now I got this:

make -C /usr/src/s2-liplianin-v39/v4l
make[1]: Entering directory `/usr/src/s2-liplianin-v39/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/s2-liplianin-v39/v4l/firmware'
make[2]: Leaving directory `/usr/src/s2-liplianin-v39/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/s2-liplianin-v39/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/s2-liplianin-v39/v4l/firmware'
Kernel build directory is /lib/modules/3.12.0-kirkwood-tld-5/build
make -C ../linux apply_patches
make[2]: Entering directory `/usr/src/s2-liplianin-v39/linux'
Patches for 3.12.0-kirkwood-tld-5 already applied.
make[2]: Leaving directory `/usr/src/s2-liplianin-v39/linux'
make -C /lib/modules/3.12.0-kirkwood-tld-5/build SUBDIRS=/usr/src/s2-liplianin-v39/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-3.12.0-kirkwood-tld-5'
Building modules, stage 2.
MODPOST 0 modules
make[2]: Leaving directory `/usr/src/linux-headers-3.12.0-kirkwood-tld-5'
./scripts/rmmod.pl check
found 0 modules
make[1]: Leaving directory `/usr/src/s2-liplianin-v39/v4l'

Maybe someone can help.

Best regards,
Rick
Re: Use NSA325 as tvheadend backend with USB dvs-s2 receiver
January 21, 2014 11:44AM
Rick,

Perhaps compiling the kernel with approriate config switches turned on is a better solution? If you still have problem in a couple weeks from now, remind me and I will see if I can release new kernel with the modules you need. My plan for the next kernel release will be 3.13.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Use NSA325 as tvheadend backend with USB dvs-s2 receiver
February 18, 2014 01:10PM
Hi,

@Rick,

last weekend I had the time to test bodhi's new 3.13.1 kernel release on NSA320 and iConnect,
everything was fine,...

just a few words how to compile dvb-usb-dw2102 for the TT-S2-4600 and a whole bunch
of other dvb-usb dvb-s2 devices,..

first you can forget about the idea of getting a complete compilation of s2-liplianin with anything newer than
3.11 linux kernels, simply because quite a few of the liplianin drivers are outdated when compared to the newer
versions of e.g. 3.13.1,.. and part of the infrastructure has changed in newer kernels, i.e. naming conventions,
i2c stuff, and so on,..

so please clone CrazyCats version of s2-liplianin which has patches for 3.9+ kernel working at least until 3.11,..

here: https://bitbucket.org/CrazyCat/s2-liplianin-v39/overview

than get the 3.13.1 kernel sources and instrument them to build, .i.e. apply bodhi's patch and copy the config,..etc.

(if unsure what to do look into bodhi's thread where I had shown an example of how to build missing modules around page 5),

before building the dvb-usb-dw2102 module finally:

copy over the missing frontend and decoder driver files from s2-liplianin,
i.e. ds3103.c, ts2022.c and the include files for them ds3103.h, ts2022.h in drivers/media/dvb-frontends,

backup the original dw2102.c in drivers/media/usb/dvb-usb to dw2102.c.orig and copy over the s2-liplianin version,

than you have to apply the following patches ( don't mind the different kernel versions in the patches,
they will apply anyway, I have used this procedure already to get TT-S2-4600 compile under kernel 3.12.0 and 3.12.1):

diff -Naur linux-3.12.1/drivers/media/dvb-frontends/Kconfig s2-liplianin-v39/linux/drivers/media/dvb-frontends/Kconfig
--- linux-3.12.1/drivers/media/dvb-frontends/Kconfig	2013-11-20 21:37:52.000000000 +0100
+++ s2-liplianin-v39/linux/drivers/media/dvb-frontends/Kconfig	2014-01-10 17:53:20.000000000 +0100
@@ -221,6 +221,20 @@
 	help
 	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.
 
+config DVB_TS2022
+	tristate "Montage Tehnology TS2022 based tuners"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  A DVB-S/S2 silicon tuner. Say Y when you want to support this tuner.
+
+config DVB_DS3103
+	tristate "Montage Tehnology DS3103 based"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  A DVB-S/S2 tuner module. Say Y when you want to support this frontend.
+
 config DVB_MB86A16
 	tristate "Fujitsu MB86A16 based"
 	depends on DVB_CORE && I2C

diff -Naur linux-3.12.1/drivers/media/dvb-frontends/Makefile s2-liplianin-v39/linux/drivers/media/dvb-frontends/Makefile
--- linux-3.12.1/drivers/media/dvb-frontends/Makefile	2013-11-20 21:37:52.000000000 +0100
+++ s2-liplianin-v39/linux/drivers/media/dvb-frontends/Makefile	2014-01-10 17:53:20.000000000 +0100
@@ -103,4 +103,6 @@
 obj-$(CONFIG_DVB_RTL2832) += rtl2832.o
 obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o
 obj-$(CONFIG_DVB_AF9033) += af9033.o
+obj-$(CONFIG_DVB_DS3103) += ds3103.o
+obj-$(CONFIG_DVB_TS2022) += ts2022.o
--- /usr/src/linux-3.13.1/drivers/media/usb/dvb-usb/Kconfig.orig	2014-02-17 21:36:26.000000000 +0100
+++ /usr/src/linux-3.13.1/drivers/media/usb/dvb-usb/Kconfig	2014-02-16 17:55:44.000000000 +0100
@@ -272,6 +272,8 @@
 	select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT
 	select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT
 	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
+	select DVB_DS3103 if MEDIA_SUBDRV_AUTOSELECT
+	select DVB_TS2022 if MEDIA_SUBDRV_AUTOSELECT
 	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
 	select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT
 	select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT

maybe I also have included the relevant entries in the .config before building,

CONFIG_DVB_TS2020=m
CONFIG_DVB_TS2022=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_DS3103=m

after you have patched everything successfully (and made a backup of the original files before)
continue with:

make SUBDIRS=drivers/media modules

which will compile all the media modules of kernel 3.13.1, than copy over dvb-usb-dw2102.ko, ds3103.ko and
ts2022.ko to /lib/modules/3.13.1-kirkwood-tld-2/kernel/drivers/media/usb/dvb-usb/ and /lib/modules/3.13.1-kirkwood-tld-2/kernel/drivers/media/dvb-frontends respectively, depmod -a, and reboot,..

your TT-S2-4600 should be functional provided the corresponding firmware is also in place at /lib/firmware
i.e. dvb-fe-ds3103.fw,..

best wishes pbg4



Edited 3 time(s). Last edit at 02/18/2014 04:19PM by pbg4.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: