[mythtv-users] TBS Drivers (Was: Best tuner?)

Stephen Worthington stephen_agent at jsw.gen.nz
Tue Dec 8 02:50:17 UTC 2020


On Mon, 7 Dec 2020 19:15:32 +0000, you wrote:

>Stephen Worthington <stephen_agent at jsw.gen.nz> wrote:
>
>> I have two TBS PCIe cards built this way with the latest chipsets (TBS6909 DVB-S/S2 and TBS6209 DVB-T/T2/C).
>
>Are you using the open source drivers ? How hard was it to get going ?
>
>I suspect it's getting towards new tuner time, the HDR <something or other PCIe> cards have been in use for many years, and I do get bad recordings from time to time. In the past I've been put off by the "binary blob and doesn't play well with other tuners" closed drivers - but if the OS ones now work fine then perhaps I'll have another look. It would have to be the 6205 as I only have low profile slots in the backend (HP Microserver).
>
>Simon

It looks like the TBS6205 is using the modern chipsets, so it should
perform just like my TBS6209.  The RF Out connector is a bonus - it
should provide an excellent signal to connect on to other devices like
your TV.

I am using the TBS V4L drivers.  This involves compiling the complete
TBS modified V4L source code each time the kernel is updated:

https://github.com/tbsdtv/linux_media/wiki

If you are also using other fairly new tuners this can mean that they
will get slightly older versions of their drivers.  If you are using
an older PC, the compile time is significant, but on my mother's new
system (AMD Ryzen 3 3100 8 threads, Adata XPG SX8200 PCI 3.0 NVMe
SSD), the compile is very rapid.  It is a pain to have to install a
new kernel, disable mythbackend, reboot, kill mythfrontend, compile
the TBS drivers, re-enable mythbackend and reboot again for every
kernel update.  But not too difficult.  I am sure I could automate the
process across the reboots, but I have not bothered so far.  The
process for me is helped by having a very good Internet connection
(gigabit fibre) so the driver download goes rapidly.  The download
site is fast.  This is my batch file for compiling and installing the
drivers (download_and_build_with_addons.sh):

#!/bin/bash

set -x
cd /root/projects/tbs6909-drivers || exit 1
rm -r media
rm -r media_build
git clone https://github.com/tbsdtv/media_build.git || exit 2
git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b
latest ./media || exit 3

cd media || exit 9
patch -p0 <../mxl58x.patch
if [ $? -ne 0 ]; then
    cd ..
    exit 10
fi
cd ..

cd media_build
make dir DIR=../media || exit 11
make allyesconfig || exit 12

for ((n=1;n<=5;n++)); do
    make -j$(($(getconf _NPROCESSORS_ONLN)+1))
    ret_code=$?
    if [ $ret_code -eq 0 ]; then
        break;
    fi
done

if [ $ret_code -ne 0 ]; then
    exit 13
fi

rm -rf /lib/modules/`uname -r`/kernel/drivers/media/* || exit 14
make install || exit 15

echo "Make ran $n times"

The mxl58x.patch that is applied is my own patch to allow me to select
which of the four F connectors on my TBS6909 card is used to supply
the signal for all the tuners - you would not need that.  The for loop
is for a problem that the driver code used to have where compiling
using -Jx so that all CPU cores were used occasionally caused a
compile error, and that was fixed by just starting the "make" command
again.  I have not seen that happen for quite a while now, so it looks
like it has been fixed in the source code.

Be aware that the new chipsets for DVB-T/T2 usually also do DVB-C and
ISDB, so as of MythTV v30? v31? I found that I had to change my
cardinput.inputname ("Delivery system") settings to "DVB-T" to get
these tuners to tune using the correct system.  We only have DVB-T
multiplexes here in New Zealand, and when I tried setting it to
"DVB-T2" that did not work, so maybe it needs to be set to "DVB-T"
even if you do have DVB-T2 multiplexes.  Previously the field was
empty - I think that only happens when the tuners were originally set
up before MythTV started using this field to configure multi-system
tuners.  So for installing a new tuner, mythtv-setup will likely force
you to set this field now.


More information about the mythtv-users mailing list