I've been using a TBS6281SE TV tuner without issues for a couple of months, after installing TBS's fork of the LinuxTV open source drivers from GitHub.
Today the tuner has stopped showing up in the system. It is listed by lspci
, but not by lsdvb
(the latter reports an error opening /sys/class/dvb
). There is no obvious issue reported in dmesg
, and, naturally, the tuner isn't recognised by TVheadend.
I haven't made any changes to the system recently. I tried re-building and installing the driver, and installing available software updates from apt upgrade
, but nothing has helped.
I'm using Ubuntu 16.04.3, with kernel version 4.4.0.
What steps can I take to determine what has gone wrong? How should I attempt to get it working again?
Working out what went wrong
Looking through the APT history log
/var/log/apt/history.log
I was able to determine that unattended upgrades had updated the Linux kernel from 4.4.0-104 to 4.4.0-112.The system hadn't been rebooted until immediately before the tuner stopped working, and so I assume that this was the first time the newer kernel was used.
Booting from the previous kernel at the Grub menu confirmed this was the cause, and I was able to re-build the driver for the kernel I'd used initially.
Getting it working again
Kernel version 4.4.0-110 included a host of changes to (I assume) address the Meltdown/Spectre vulnerabilities, so it makes sense to use the latest version for the added security and peace of mind it should provide.
The solution was to rebuild the driver as before, but using a fresh
media_build
directory. This ensured the modules were compiled and installed for the current kernel.