My card reports itself like this:
$ lspci
*snip*
0000:00:0a.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
*snip
Everything seemed to work out of the box:
$ dmesg | grep DVB -A 0 -B 3
[17179585.872000] saa7146: register extension 'budget dvb'.
[17179585.872000] ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKC]
-> GSI 11 (level, low) -> IRQ 11
[17179585.872000] saa7146: found saa7146 @ mem e0aa2000
(revision 1, irq 11) (0x13c2,0x1005).
[17179585.872000] DVB: registering new adapter (TT-Budget/WinTV-NOVA-T PCI).
[17179585.908000] adapter has MAC addr = 00:d0:5c:20:33:92
[17179585.908000] DVB: registering frontend 0 (LSI L64781 DVB-T)...
So, many, many hours of Googling later, and after many blind alleys and red herrings, I remembered (yes, I have indeed been through all of this before…) what I needed to do next:
scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-CrystalPalace > \
~/.mplayer/channels.conf
and, finally, to watch TV I just do this:
mplayer -zoom "dvb://BBC ONE"
That seems to fail sometimes, and this is more reliable:
$ cat bin/tv_watch
#!/bin/bash
TMPFILE=~/Desktop/tv.mpg
mplayer -dumpstream -dumpfile "$TMPFILE" "dvb://$1" &
sleep 5
mplayer -zoom "$TMPFILE"
kill %1
rm -f "$TMPFILE"
which I run by simply typing:
tv_watch "BBC FOUR"
Update: the “scan” command is provided by the “dvb-utils” package on Ubuntu.