TV cards allow you to watch broadcast or cable TV on your computer. Most of them
accept composite video via an RCA or S-video input and some of these cards come with a FM
radio tuner.
FreeBSD provides support for PCI-based TV cards using a Brooktree Bt848/849/878/879 or
a Conexant CN-878/Fusion 878a Video Capture Chip with the bktr(4) driver. You
must also ensure the board comes with a supported tuner, consult the bktr(4) manual page
for a list of supported tuners.
To use your card, you will need to load the bktr(4) driver, this
can be done by adding the following line to the /boot/loader.conf file like this:
bktr_load="YES"
Alternatively, you may statically compile the support for the TV card in your kernel,
in that case add the following lines to your kernel configuration:
device bktr
device iicbus
device iicbb
device smbus
These additional device drivers are necessary because of the card components being
interconnected via an I2C bus. Then build and install a new kernel.
Once the support was added to your system, you have to reboot your machine. During the
boot process, your TV card should show up, like this:
bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
Of course these messages can differ according to your hardware. However you should
check if the tuner is correctly detected; it is still possible to override some of the
detected parameters with sysctl(8) MIBs and
kernel configuration file options. For example, if you want to force the tuner to a
Philips SECAM tuner, you should add the following line to your kernel configuration
file:
options OVERRIDE_TUNER=6
or you can directly use sysctl(8):
# sysctl hw.bt848.tuner=6
See the bktr(4) manual page
and the /usr/src/sys/conf/NOTES file for more details on the
available options.