RivaTV - users guide - tuner guide


[ home - older news - status - users - testers - developers - FAQ - download - contact ]

[ TV/tuner - remote control - module options ]

Introduction

The traditional way to watch TV on your PC is using a PCI add-on card, like Hauppauge's. But using a VCR and your video-in featured nVidia board, you are also able to watch TV. But it is rather expensive to go out and buy a VCR just to be able to watch TV on your box.

Asus realized this, and introduced the first generation of all-in-one cards.  They offer two cost effective ways to watch TV on your PC called Asus V7100 Combo Deluxe and Asus TV-Box. Also VisionTek and Creative sell such a box that we call 'BreakOut-Box', and the AOpen MX400-A32 card has a on-board tuner, like the V7100 Combo Deluxe does. The LeadTek company sells a tuner box called WinFast Cinema. This box is also supported by the driver set.

More recently nVidia themselves developed the "personal cinema" chipset that is now used as the basis for most nVidia-based all-in-one cards.

Getting your on-board tuner to work (2.6.x kernel)

The tuner code is provided by the bttv project and is included with the 2.6.x kernels.  The RivaTV module calls the tuner module but the module may need to be told explicitly which tuner is to be used (see the tuner documentation for tuner numbers).  Add:

options tuner card=XY

to /etc/modprobe.conf

Getting your on-board tuner (V7100 Combo Deluxe) to work (2.4.x kernel)

To get the tuner on your card working, follow the steps detailed here. We've assumed all cards to be alike with respect to tuners, which is actually a mistake on our end. We hope to be able to correct that in future releases of rivatv. Currently only tuner cards with the audio TDA8425, TDA9850, TDA9873 and TDA9874 mixer chips are supported, and the supported tuners are FI1216, FI1236, FM1236, FI1236 MK2, FI1256, FQ1216ME, FI1216MF, FM1216MF, FR1216MF and FI1246. All of those are made by Philips. The kernel modules for these chips weren't written by us, they are part of the bttv driver set. However, they needed modification to work with to RivaTV. The patches written for RivaTV have been accepted by the author of the bttv driver, and no more patching needs to be done these days.

The appropriate files come with recent RivaTV versions in the bttv/ directory. If you do not want to, or are unable to use these files you need to download a recent version 0.7 bttv package (0.7.101 or higher, NOT 0.8 or higher!) and unpack it.
	/usr/src$ tar xvzf bttv-0.7.101.tar.gz

After this, build and install the bttv package:
	/usr/src/bttv-0.7.101$ make

	/usr/src/bttv-0.7.101# make install

RivaTV releases contain a subset of the necessary bttv drivers. They get compiled and installed during the build process. Efforts have been made to get the bttv-0.9.x drivers working with rivatv as well. Thus it is possible to use rivatv on 2.6.x kernels with the 0.9.x bttv drivers.

Next, load rivatv as usual. The tuner and tvaudio modules should be loaded automatically by rivatv. You can verify if everything went OK by looking at /proc/driver/rivatv. It should look something like this:
        nVidia Chip:    GeForce2 MX
        Model:          Asus V7100 Combo Deluxe
        Architecture:   NV10 (NV11)
        Access:         Control [0xde000000-0xdeffffff]
                        FB      [0xd0000000-0xd7ffffff]
        Interrupts:     0 out of 976 (DMA: 0, Overlay: 0, Missing: 976)
        Device:         available
        VideoDecoder:   SAA7113H
        Tuner:          (unset)
        AudioDecoder:   tda9850
        AudioProcessor: tda8425
        IR chip:        unavailable

Now, you should be able to use your tuner by selecting the "Television" channel in xawtv. If the modules did not load automatically, just try loading them by hand:
	$ insmod tuner.o
	$ insmod tvaudio.o
	$ insmod tvmixer.o

External tuners (TV-Box or BreakOut-Box)

We know of two types of TV-Boxes: They have a TDA8425 or TDA9873 audio chip, and an FI1216 tuner for PAL or an FI1236 for NTSC. There may be other models. If you have one, please let us know!

The TV-Boxes are enabled the same way as the V7100 Combo Deluxe, with one difference: When you load the rivatv module, set the tvbox parameter according to what tuner you have: Use 1 for a PAL tuner, and 2 for an NTSC-M tuner. Example for PAL:

        # insmod rivatv.o tvbox=1

This way, an additional channel "TV-Box" should be selectable in xawtv. You can switch tv channels with appropriate channel tables which are built in xawtv. With audio enabled you are also able to control volume, balance, etc. With the tvmixer module (an OSS interface to the audio mixers) loaded the audio channel can also be controlled by a mixer program, like xmix, kmix or alsamixer.

Problems

Some graphics cards which come with a TV-Box cannot be identified by RivaTV (e.g. the VisionTek Xtasy Everything Personal Cinema), and RivaTV is therefore unable to determine the correct input modes of the video decoder chip. That is why it is necessary to tell rivatv the correct board by passing the card parameter. The list of card numbers can be found in the CARDLIST file.

        # insmod rivatv.o card=55 tvbox=1

The "Personal Cinema" variants by Creative and VisionTek do have a input/output multiplexer chip (the PCF8574) built in their BreakOut-Box. On the one hand this chip is responsible for providing the IR information on the I2C bus and on the other hand it also controls the PowerIn line of the tuner chip. That is why you need to apply the LIRC patch as described here until the output of /proc/driver/rivatv reads
	...
        IR chip:        present

When you still have problems getting a video picture from the "TV-Box" channel you can try to issue the following command which sets the input channel explicitly (works for the SAA7xxx video decoders).
        # echo "VideoDecoder: 2 = xx" > /proc/driver/rivatv

The "xx" represents a hex number in the range c0 .. c7, d0 .. d7 or e0 .. e7. When you get it working with one or more of these numbers please tell us!

The testers guide applies to tuners as well.
© 2003, 2004 RivaTV team