success! I purged all kernels, everything, so /lib/modules was empty, and installed 4.8.0-58-lowlatency kernel, thus giving me this:
ii linux-headers-4.8.0-58 4.8.0-58.63~16.04.1 all Header files related to Linux kernel version 4.8.0
ii linux-headers-4.8.0-58-lowlatency 4.8.0-58.63~16.04.1 amd64 Linux kernel headers for version 4.8.0 on 64 bit x86 SMP
ii linux-hwe-tools-4.8.0-58 4.8.0-58.63~16.04.1 amd64 Linux kernel version specific tools for version 4.8.0-58
ii linux-image-4.8.0-58-lowlatency 4.8.0-58.63~16.04.1 amd64 Linux kernel image for version 4.8.0 on 64 bit x86 SMP
ii linux-signed-image-4.8.0-58-lowlatency 4.8.0-58.63~16.04.1 amd64 Signed kernel image lowlatency
ii linux-tools-4.8.0-58-lowlatency 4.8.0-58.63~16.04.1 amd64 Linux kernel version specific tools for version 4.8.0-58
then I used a variant on TBS's instructions thus:
#!/bin/bash
#VER="180822"
#ZIPFILE="tbs-open-linux-drivers_v$VER.zip"
#TARFILE=media_build-2018-0822.tar.bz2
VER="170330"
ZIPFILE="tbs-linux-drivers_v170330.zip"
TARFILE=linux-tbs-drivers.tar.bz2
DIR=/home/build
mkdir -p "$DIR"
cd "$DIR"
if [ ! -f "$ZIPFILE" ] ; then
wget "https://www.tbsiptv.com/download/common/$ZIPFILE"
fi
mkdir -p "$DIR/tbs_$VER"
cd "$DIR/tbs_$VER"
pwd
ls -la "../$ZIPFILE"
unzip "../$ZIPFILE"
tar jxvf "$TARFILE"
cd linux-tbs-drivers
./v4l/tbs-x86_64.sh
make -j4
make install
and set the driver to use MSI Interrupts by creating a file called "/etc/modprobe.d/tbs.conf" containing these lines:
options tbs_pcie-dvb tbs_int_type=1
options saa716x_tbs-dvb int_type=1
after a reboot, check "lsmod | grep -i saa" to see it loaded the module, and check that the interrupts are MSI:
# egrep -i "saa|dvb" /proc/interrupts
31: 29757 0 0 0 PCI-MSI 1572864-edge SAA716x Core
and it now streams. hopefully, it will continue without going wrong. I'll let you know.
update: yes, still working after two days.