JMRR

TBS DVB DRIVERS

Recommended Posts

258/5000

Phenix6600, as duck says, its serious that you did a new post with title "cross driver DSM6 skystar 2 express hd" for example. So that it does not mix with this one and by the way explain how you have done it, the order of the modules, the firmware etc.

 

a greeting

Edited by Guest

Share this post


Link to post
Share on other sites

Can anybody help me please?: viewtopic.php?f=2&t=3066&start=10#p92338

I copy and paste it in this thread:

 

 

Hey folks! Been using DSM6 on my trusty Microserver for a few weeks now, but needed to get my S952 v3 (delivered this afternoon) working with it.

 

After several hours trying to figure out why DSM6 uses a woefully old Linux kernel without the support compiled in, and also trying to find the DSM6.0.2 kernel source (which, as it happens, doesn't exist), I finally figured it out (indeed TVHeadend is running through the muxes in the background while I type this!)

 

Considering the ridiculous amount of legwork needed to figure this out, I'll post a quick walkthrough on how I did it, as well as my compiled modules at the end.

 

Credit to this post for figuring out how to put a build environment together (including where to find the damn kernel source)

 

I MAKE NO GUARANTEES REGARDING THE ACCURACY OF THIS. DON'T COME TO ME CRYING IF YOUR NAS SPONTANEOUSLY COMBUSTS, YOUR LOTTERY NUMBERS DON'T COME UP, OR IF YOU'RE A LAWYER ABOUT TO TELL ME THAT THIS IS THE WRONG WAY TO DO IT.

 

First off you'll need a development environment, I personally did it through the debian chroot on the box itself - but you might want to investigate doing it in a VM if you're going to be compiling heavier stuff. You'll need the debian-chroot package from synocommunity for this method.

 

Let the chroot install fully (give it 5-10 minutes, be patient, it's still installing packages in the background) then chroot in:

 

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

 

and grab some dependencies (n.b: any warnings for locale issues can (probably) be safely ignored, if they're causing issues you can always localegen some more):

 

apt-get update; apt-get install build-essential ncurses-dev bc git

 

We also need to make a fake /dev/shm otherwise compilation is going to go berserk about it not existing. Edit /etc/fstab and insert the following:

none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0

 

then mount it with the usual mount /dev/shm.

 

Now we need to go grab our synology development environment. Thankfully, Synology provide some super useful scripts to automate this for DSM6 (EnvDeploy provides ample opportunity to grab a cup of tea):

 

mkdir ~/build
cd ~/build
git clone https://github.com/SynologyOpenSource/pkgscripts-ng.git
pkgscripts-ng/EnvDeploy -v 6.0 -p bromolow
cd build_env/ds.bromolow-6.0

 

We can now go grab the kernel source, which is also on github (I'm assuming this is some cobbled together one, but hey, it works) - we also symlink it to make sure the dvb module compilation works properly

 

cd source
git clone https://github.com/quiknick/7274-kernel.git
cd 7274-kernel
cp synoconfigs/bromolow .config
mkdir -p /lib/modules/3.10.77
ln -s /root/build_env/ds.bromolow-6.0/source/7274-kernel /lib/modules/3.10.77/build

 

(Note: At this point, if you just want extra 3.10 tree kernel modules, you're done (in fact, you don't even need that last command)! just go make them with make ARCH="x86_64" oldconfig -> menuconfig -> modules)

 

This is where the fun part starts: compiling the DVB modules. First we grab them...

 

cd /root/build_env/ds.bromolow-6.0/source
wget http://www.dvbsky.net/download/linux/media_build-bst-140128.tar.gz
tar xf media_build-bst-140128.tar.gz
rm media_build-bst-140128.tar.gz

 

and then actually compile them (opportunity to grab your next cup of tea):

 

./v4l/build_x64.sh
make
touch /lib/modules/3.10.77/modules.order
touch /lib/modules/3.10.77/modules.builtin
make install

 

Note the fact that we did make install after touching those modules files. This is just installing them inside the chroot - it won't actually install them to your DSM, so this isn't the end! We mainly do the install step because we want /lib/modules/3.10.77/modules.dep, which lists the dependencies that your particular card is going to need. I'm not going to tell you exactly to do this because the end modules you need are going to vary by card to card, but you basically need to search that file for your module, and copy any dependencies (listed after the colon) to your DSM / load them before that module. (Note: some dependencies may have dependencies of their own, be sure to check!)

 

We can now copy these shiny new modules out of our chroot (do this outside your chroot, use exit to escape!):

 

rm /lib/modules/backports_dvb/*
cp /volume1/\@appstore/debian-chroot/var/chroottarget/root/build_env/ds.bromolow-6.0/source/media_build-bst-13/v4l/*.ko /lib/modules/backports_dvb/
chmod 755 /lib/modules/backports_dvb/*.ko

 

and copy any firmware that your card needs to /lib/firmware (you can usually find this on the linuxtv page for your card, the following should work for all dvbsky cards but do your own research!):

cd /lib/firmware
wget http://www.dvbsky.net/download/linux/dvbsky-firmware.tar.gz
tar zxf dvbsky-firmware.tar.gz
rm dvbsky-firmware.tar.gz

 

Now create a script to load them in when the machine starts. Use the notes you took earlier regarding your module dependencies, and tailor the script below to suit your tastes. (credit to Charles Hallard for the original script). This one is ready to go for S952 v3 folks, read above if you're using something else

 

(this goes in something like nano /usr/local/etc/rc.d/S10loaddvb.sh)

!/bin/sh
MODULES_DIR="/lib/modules/backports_dvb"
SUBMODULES="dvb-core.ko rc-core.ko dvbsky_m88rs6000.ko"
MAINMODULES="smipcie.ko"

start_modules(){
       echo "--- Load modules ---"
       for i in $SUBMODULES $MAINMODULES; do
               echo "Loading $i"
               insmod $MODULES_DIR/$i
       done
}

stop_modules(){
       echo "--- Unload modules ---"
       for i in $MAINMODULES $SUBMODULES; do
               echo "Unloading $i"
               rmmod $MODULES_DIR/$i
       done
}

case "$1" in
start)
       start_modules
       ;;
stop)
       stop_modules
       ;;
*)
       echo "usage: $0 { start | stop }" >&2
       exit 1
       ;;
esac

 

Make it executable with a wave of the magic chmod +x /usr/local/etc/rc.d/S10loaddvb.sh wand, reboot with as many things crossed as possible, and hopefully it'll work!

 

 

 

 

If you're left after reading that thinking "what the hell does half of this mean I can't linux", then don't panic: here's my compiled modules, tested working against DSM6.0.2:

 

dvbsky_modules_dsm6_bromolow_190216.tar.gz (58.3M, md5: 4ee12139a024f3123cab0dfeebc81e4a)

 

Again, I make no guarantee, warranty, or otherwise for the above compiled modules: they are provided as-is. If you don't trust me, then feel free to compile them as above with the instructions.

 

Many thanks to everyone here for providing an excellent information resource, and I hope this solves a few people's nightmares!

 

N.B: I don't have enough posts to respond to PMs yet, so if you have issues, post in this thread or email me (me@duck.me.uk) - preferably the former because it's super useful for people to go back in a thread to see what did / didn't work! - and I'll try my best to help; but like I said, no guarantees.

 

Hi, thank you very much for the tutorial!

 

I also have DVBSky S952, but I have version 2, not version 3, the difference is that i need cx23885 (v2) instead of smipcie (v3).

 

I got stuck on this part:

./v4l/build_x64.sh

make

touch /lib/modules/3.10.77/modules.order

touch /lib/modules/3.10.77/modules.builtin

make install

 

When I try the "make" command it gives me this error:

root@NAS:~/build/build_env/ds.bromolow-6.0/source/media_build-bst# make

make -C /root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l

make[1]: Entering directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l'

creating symbolic links...

make -C firmware prep

make[2]: Entering directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/firmware'

ln: failed to access '../../linux/firmware/dabusb//*': No such file or directory

make[2]: Leaving directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/firmware'

make -C firmware

make[2]: Entering directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/firmware'

make[2]: Nothing to be done for 'default'.

make[2]: Leaving directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/firmware'

Kernel build directory is /lib/modules/3.10.77/build

make -C /lib/modules/3.10.77/build SUBDIRS=/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l modules

make[2]: Entering directory '/root/build/build_env/ds.bromolow-6.0/source/7274-kernel'

 

ERROR: Kernel configuration is invalid.

include/generated/autoconf.h or include/config/auto.conf are missing.

Run 'make oldconfig && make prepare' on kernel src to fix it.

 

 

WARNING: Symbol version dump /root/build/build_env/ds.bromolow-6.0/source/7274-kernel/Module.symvers

is missing; modules will have no dependencies and modversions.

 

CC [M] /root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/altera-lpt.o

In file included from :0:0:

/root/build/build_env/ds.bromolow-6.0/source/7274-kernel/include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory

#include

^

compilation terminated.

scripts/Makefile.build:308: recipe for target '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/altera-lpt.o' failed

make[3]: *** [/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l/altera-lpt.o] Error 1

Makefile:1227: recipe for target '_module_/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l' failed

make[2]: *** [_module_/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l] Error 2

make[2]: Leaving directory '/root/build/build_env/ds.bromolow-6.0/source/7274-kernel'

Makefile:51: recipe for target 'default' failed

make[1]: *** [default] Error 2

make[1]: Leaving directory '/root/build/build_env/ds.bromolow-6.0/source/media_build-bst/v4l'

Makefile:26: recipe for target 'all' failed

make: *** [all] Error 2

root@NAS:~/build/build_env/ds.bromolow-6.0/source/media_build-bst#

 

How did you get duck.? can anybody help me?

 

In LinuxTV (https://www.linuxtv.org/wiki/index.php/DVBSky) I have read that you need to install required build tools (apt-get install kernel-package linux-headers-`uname -r`), but this command returns the following error:

E: Unable to locate package linux-headers-3.10.77

E: Couldn't find any package by regex 'linux-headers-3.10.77'

 

I have seen the dependencies of cx23885 and they are: videobuf-core.ko, videobuf-dma-sg.ko, rc-core.ko, dvb-core.ko, altera-ci.ko, videodev.ko, v4l2-common.ko, cx2341x.ko, snd-pcm.ko, snd.ko, tveeprom.ko, videobuf-dvb.ko, btcx-risc.ko, tda18271.ko

 

In your pack of compiled modules (dvbsky_modules_dsm6_bromolow_190216.tar.gz) are all except these two: snd-pcm.ko and snd.ko (And if they have dependencies they may also be missing in the pack)

If you were so kind, could you upload these two compiled modules?

I would really appreciate it :smile:

 

Thank you very much and sorry for my bad english.

Regards :wink:

Share this post


Link to post
Share on other sites

This topic is for tbs, but try to ismod modules manually, one by one and output the error.

Personally i dont lile to install modules i load them at start.

 

 

Sent from my iPhone using Tapatalk Pro

Share this post


Link to post
Share on other sites
This topic is for tbs, but try to ismod modules manually, one by one and output the error.

Personally i dont lile to install modules i load them at start.

 

 

Sent from my iPhone using Tapatalk Pro

 

In principle all modules are loaded well, except this:

 

insmod cx23885.ko

insmod: ERROR: could not insert module cx23885.ko: Unknown symbol in module

 

dmesg | grep cx23885

[ 4942.283284] cx23885: Unknown symbol snd_pcm_new (err 0)

[ 4942.283317] cx23885: Unknown symbol snd_card_register (err 0)

[ 4942.283333] cx23885: Unknown symbol snd_card_free (err 0)

[ 4942.283368] cx23885: Unknown symbol snd_pcm_format_physical_width (err 0)

[ 4942.283418] cx23885: Unknown symbol snd_pcm_lib_ioctl (err 0)

[ 4942.283458] cx23885: Unknown symbol snd_pcm_hw_constraint_pow2 (err 0)

[ 4942.283476] cx23885: Unknown symbol snd_pcm_set_ops (err 0)

[ 4942.283554] cx23885: Unknown symbol snd_card_create (err 0)

[ 4942.283569] cx23885: Unknown symbol snd_pcm_period_elapsed (err 0)

 

As I said before, I think it's because I'm missing those two dependencies (snd-pcm.ko and snd.ko), but I am unable to "make" my drivers for the problems I explain above, so I am unable to get those two modules that I am missing.

 

Thank you very much JMRR!

Share this post


Link to post
Share on other sites

Hi JMRR!

I need your help again. :smile:

I have a HP n40l microserver, inside a TBS6984 DVB-S2 PCIE card.

Operation system: Xpenology DSM 5.2 5967

I installed the TBS card (with your instructions) and it work good, but in the TVHeadend I can't see the SNR Level. (Not just the TVHeadent) I can see the signal strength.

The play ok, all mux are ok.

When I watch TV, and I want watch the infobar, I can' watch the SNR level. I don't know why.

 

I use Opensource drivers.

insmod /lib/modules/tbs/media.ko

insmod /lib/modules/tbs/dvb-core.ko

insmod /lib/modules/tbs/isl6422.ko

insmod /lib/modules/tbs/cx24117.ko

insmod /lib/modules/tbs/tas2101.ko

insmod /lib/modules/tbs/saa716x_core.ko

insmod /lib/modules/tbs/saa716x_budget.ko int_type=1

 

When I used Closed Source drivers, I saw the SNR Level, but it worked very instable.

 

Here my dmesg, maybe it help something...

 

dmesg  

 

[   32.239215] usb-storage 5-3:1.0: USB Mass Storage device detected
[   32.239297] scsi4 : usb-storage 5-3:1.0
[   32.239382] usbcore: registered new interface driver usb-storage
[   32.257789] usbcore: registered new interface driver usblp
[   32.295637] usbcore: registered new interface driver usbhid
[   32.295642] usbhid: USB HID core driver
[   32.338591] media: Linux media interface: v0.10
[   32.426679] WARNING: You are using an experimental version of the media stack                                                                                        .
[   32.426679]  As the driver is backported to an older kernel, it doesn't offer
[   32.426679]  enough quality for its usage in production.
[   32.426679]  Use it with care.
[   32.426679] Latest git patches (needed if you report a bug to linux-media@vge                                                                                        r.kernel.org):
[   32.426679]  82a81d9826df96cc90cebec54a00ce008719c411 support cx231xx CI func                                                                                        tion
[   32.464607] ata3.00: configured for UDMA/133
[   32.464619] ata3: EH complete
[   32.464773] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enabled, does                                                                                        n't support DPO or FUA
[   32.472481] ata2.00: configured for UDMA/133
[   32.472494] ata2: EH complete
[   32.472664] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, does                                                                                        n't support DPO or FUA
[   32.560723] ata1.00: configured for UDMA/133
[   32.560734] ata1: EH complete
[   32.560908] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, does                                                                                        n't support DPO or FUA
[   32.567833] SAA716x Budget 0000:02:00.0: irq 44 for MSI/MSI-X
[   32.576305] DVB: registering new adapter (SAA716x dvb adapter)
[   33.241279] scsi 4:0:0:0: Direct-Access     Kingston DataTraveler 2.0                                                                                                 PMAP PQ: 0 ANSI: 0 CCS
[   33.241578] sd 4:0:0:0: Attached scsi generic sg3 type 0
[   33.242280] sd 4:0:0:0: [sdu] 4030464 512-byte logical blocks: (2.06 GB/1.92                                                                                         GiB)
[   33.242962] sd 4:0:0:0: [sdu] Write Protect is off
[   33.242967] sd 4:0:0:0: [sdu] Mode Sense: 23 00 00 00
[   33.243607] sd 4:0:0:0: [sdu] No Caching mode page found
[   33.243612] sd 4:0:0:0: [sdu] Assuming drive cache: write through
[   33.247506] sd 4:0:0:0: [sdu] No Caching mode page found
[   33.247514] sd 4:0:0:0: [sdu] Assuming drive cache: write through
[   33.248248]  sdu: sdu1
[   33.255594] sd 4:0:0:0: [sdu] No Caching mode page found
[   33.255601] sd 4:0:0:0: [sdu] Assuming drive cache: write through
[   33.255606] sd 4:0:0:0: [sdu] Attached SCSI removable disk
[   34.935460] ata1.00: configured for UDMA/133
[   34.935471] ata1: EH complete
[   35.028823] ata2.00: configured for UDMA/133
[   35.028834] ata2: EH complete
[   35.073324] ata3.00: configured for UDMA/133
[   35.073336] ata3: EH complete
[   35.645261] cx24117 1-0055: creating new instance
[   35.645271] i2c i2c-1: cx24117: Attaching frontend 0
[   35.645280] isl6422_write: write reg 45
[   35.650195] isl6422_write: I/O error <-5>
[   35.650197] isl6422_set_current: I/O error <-5>
[   35.650204] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  frontend 0 does                                                                                        n't seem to have a isl6422b on the i2c bus.
[   35.650498] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  MAC=00:22:ab:90                                                                                        :24:e8
[   35.650503] SAA716x Budget 0000:02:00.0: DVB: registering adapter 0 frontend                                                                                         0 (TurboSight TBS 6984 DVB-S/S2)...
[   35.650822] DVB: registering new adapter (SAA716x dvb adapter)
[   35.651578] cx24117 1-0055: attaching existing instance
[   35.651586] i2c i2c-1: cx24117: Attaching frontend 1
[   35.651592] isl6422_write: write reg C5
[   35.656511] isl6422_write: I/O error <-5>
[   35.656513] isl6422_set_current: I/O error <-5>
[   35.656518] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  frontend 1 does                                                                                        n't seem to have a isl6422b on the i2c bus.
[   35.656811] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  MAC=00:22:ab:90                                                                                        :24:e9
[   35.656817] SAA716x Budget 0000:02:00.0: DVB: registering adapter 1 frontend                                                                                         0 (TurboSight TBS 6984 DVB-S/S2)...
[   35.657596] DVB: registering new adapter (SAA716x dvb adapter)
[   35.658746] cx24117 0-0005: creating new instance
[   35.658752] i2c i2c-0: cx24117: Attaching frontend 0
[   35.658758] isl6422_write: write reg 45
[   35.663657] isl6422_write: I/O error <-5>
[   35.663659] isl6422_set_current: I/O error <-5>
[   35.663665] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  frontend 2 does                                                                                        n't seem to have a isl6422b on the i2c bus.
[   35.663959] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  MAC=00:22:ab:90                                                                                        :24:ea
[   35.663963] SAA716x Budget 0000:02:00.0: DVB: registering adapter 2 frontend                                                                                         0 (TurboSight TBS 6984 DVB-S/S2)...
[   35.664736] DVB: registering new adapter (SAA716x dvb adapter)
[   35.665277] cx24117 0-0005: attaching existing instance
[   35.665285] i2c i2c-0: cx24117: Attaching frontend 1
[   35.665290] isl6422_write: write reg C5
[   35.670185] isl6422_write: I/O error <-5>
[   35.670187] isl6422_set_current: I/O error <-5>
[   35.670192] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  frontend 3 does                                                                                        n't seem to have a isl6422b on the i2c bus.
[   35.670488] SAA716x Budget 0000:02:00.0: TurboSight TBS 6984  MAC=00:22:ab:90                                                                                        :24:eb
[   35.670492] SAA716x Budget 0000:02:00.0: DVB: registering adapter 3 frontend                                                                                         0 (TurboSight TBS 6984 DVB-S/S2)...
[   36.503892] FAT-fs (sdu1): Volume was not properly unmounted. Some data may b                                                                                        e corrupt. Please run fsck.
[   39.421747] loop: module loaded
>[   39.902153] init: smbd main process (19211) killed by HUP signal
>[   39.902241] init: smbd main process ended, respawning
[   45.060002] usbcore: registered new interface driver usbserial
[   45.090969] usbcore: registered new interface driver ftdi_sio
[   45.090990] usbserial: USB Serial support registered for FTDI USB Serial Devi                                                                                        ce
[   45.104042] pl2303: version magic '3.10.77 SMP mod_unload ' should be '3.10.3                                                                                        5 SMP mod_unload '
[   45.555153] findhostd uses obsolete (PF_INET,SOCK_PACKET)
[   52.161850] i2c i2c-0: cx24117_load_firmware: FW version 9.1.10.0
[   52.161865] i2c i2c-0: cx24117_firmware_ondemand: Firmware upload complete
[   52.225566] SAA716x Budget 0000:02:00.0: DVB: adapter 3 frontend 0 frequency                                                                                         0 out of range (950000..2150000)
[   52.396580] SAA716x Budget 0000:02:00.0: DVB: adapter 2 frontend 0 frequency                                                                                         0 out of range (950000..2150000)
[   53.874399] i2c i2c-1: cx24117_load_firmware: FW version 9.1.10.0
[   53.874415] i2c i2c-1: cx24117_firmware_ondemand: Firmware upload complete
[   53.917413] SAA716x Budget 0000:02:00.0: DVB: adapter 1 frontend 0 frequency                                                                                         0 out of range (950000..2150000)
[   54.107675] SAA716x Budget 0000:02:00.0: DVB: adapter 0 frontend 0 frequency                                                                                         0 out of range (950000..2150000)
[26762.134524] type=1400 audit(1496917593.692:2): apparmor="DENIED" operation="m                                                                                        kdir" parent=29831 profile="/usr/syno/synoman/webman/index.cgi" name="/usr/syno/                                                                                        synoman/synohdpack/tmp/" pid=29865 comm="mkdir" requested_mask="c" denied_mask="                                                                                        c" fsuid=0 ouid=0
[26766.033287] type=1400 audit(1496917597.590:3): apparmor="DENIED" operation="m                                                                                        kdir" parent=29891 profile="/usr/syno/synoman/webman/index.cgi" name="/usr/syno/                                                                                        synoman/synohdpack/tmp/" pid=29925 comm="mkdir" requested_mask="c" denied_mask="                                                                                        c" fsuid=0 ouid=0

 

Hide  
 

Thx for your time.

 

Regards, Peter

Share this post


Link to post
Share on other sites

well cant help much on that, because open source drivers dont return snr value, at least on time that i compiled.

 

maybe in a few days i can compile the latest version of tbs open source drivers for dsm5.2.

dont promise

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.