Jump to content
XPEnology Community

DVB Driver Requests / Issues


Recommended Posts




I successfully build saa716x_budget kernel modules needed for my Technisat Skystar Express PCIe DVB-S2 card.


I did that directly on NAS with Debian Chroot and extracted bromolow toolchain + source.


Synology DSM 5.2 Tool Chain for bromolow filename "bromolow-gcc473_glibc217_x86_64-GPL.txz"




Synology NAS GPL Source for bromolow filename "bromolow-source.txz"




Install Debian Chroot package https://synocommunity.com/


Download both .txz packages to your NAS share i.e. /volume1/public


SSH to your NAS and create public directory for mounting

mkdir /usr/local/debian-chroot/var/chroottarget/public


Mount your public share so chroot enviroment can see it

mount --bind /volume1/public/ /usr/local/debian-chroot/var/chroottarget/public


Start Debian Chroot

/var/packages/debian-chroot/scripts/start-stop-status chroot


Prepare your Debian Chroot enviroment

apt-get update
apt-get upgrade
apt-get install locales
dpkg-reconfigure locales
apt-get install build-essential libdigest-sha-perl patchutils libproc-processtable-perl git-core ncurses-dev


Extract both .txz archives to your folder /public/

tar Jxvf bromolow-gcc473_glibc217_x86_64-GPL.txz /public/
tar Jxvf bromolow-source.txz /public/


Create symlink for toolchain in /usr/local/ I used it for CROSS_COMPILE command maybe it is not needed and you can use directly /public/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- for CROSS_COMPILE

ln -s /public/x86_64-pc-linux-gnu/ /usr/local/


Make directory /lib/modules/3.10.35/

cd /lib/modules/
mkdir 3.10.35
cd /lib/modules/3.10.35/


Create symlink for kernel source in /lib/modules/3.10.35/

ln -s /public/source/linux-3.10.x/ /lib/modules/3.10.35/


Rename kernel source symlink to build

mv /lib/modules/3.10.35/linux-3.10.x /lib/modules/3.10.35/build


Prepare your bromolow .config in kernel source

cp /lib/modules/3.10.35/build/synoconfigs/bromolow /lib/modules/3.10.35/build/bromolow
cd /lib/modules/3.10.35/build
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- menuconfig


Config screen should come choose "load" to load "bromolow" config you can put /usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- in cross compile setting I did even I used it in every make command

save it on exit as .config


Run several "makes" to avoid issues later

make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- oldconfig
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- prepare
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- modules_prepare


Now go back to our "public" directory and build the modules from ljalves media github

cd /public/
git clone https://github.com/ljalves/media_build.git
git clone --depth=1 https://github.com/ljalves/linux_media.git -b latest ./media
cd media_build
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- dir DIR=../media 
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- distclean
make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-


New kernel modules should be in /public/media_build/v4l/ folder. You can copy them somewhere and try to insmod them. You need to find the right order.


For my Technisat card I needed to insmod "media.ko" and "dvb-core.ko" first then my demod which is "stv090x.ko" then my tuner "stv6110x.ko" even other demods "tas2101.ko" and "cx24117.ko" this is to meet depends from saa716x, then "saa716x_core.ko" and last "saa716x_budget.ko" with parameter "int_type=1"


You can check .ko depends by running command modinfo i.e. modinfo saa716x_budget.ko

Edited by Guest
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...



I was succesfull this time!!! You can try it as I added TBS modules aswell.


Put all .ko files from archive to /lib/modules/backports_dvb and after that execute the script "S10modules.sh" in terminal i.e. /opt/etc/init.d/S10modules.sh start




What I need to figure out this time is how to start that script on boot.


I tried loadmodules.conf in /etc/init + S10modules in /opt/etc/init.d/


I also tried to put S10modules (added .sh extension) in /usr/syno/etc/rc.d/ no luck :shock:


Anyone can help with this? How can I execute script to load modules on syno boot?



Script in /usr/local/etc/rc.d is working thank you JMRR

Edited by Guest
Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...
  • 1 year later...
  • Create New...