The other night I happened to have a ssh session open to a TVHeadEnd backend system (running Debian Linux) when this message appeared:
Message from syslogd@backend at Nov 6 23:03:02 …
kernel:[452276.219160] Disabling IRQ #16
And then the satellite card essentially stopped working – it would act like it was receiving signals, but they were all complete garbage until I rebooted the system.
It turns out that the system was putting several things on IRQ #16, as revealed by cat /proc/interrupts –16: 1669004 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb1, SAA716x Core, SAA716x Core, snd_hda_intel
In searching for a solution to this, I came across this thread (and also this thread), which informed me that the TBS cards were using the old style of interrupts, and that it would be a good idea to change that so they use the newer PCI-MSI-edge type. The procedure for doing that is simple, and easily reversible if it doesn’t work.
Full article here:
Do you run one or more TBS PCIe cards under Linux? Check your IRQs… (Free-To-Air America)
Note that the advice given here may also apply to other types and/or brands of TV tuner cards installed on a Linux system!