Bttv devices (bt848, bt878)

From LinuxTVWiki
Revision as of 20:26, 16 September 2007 by CityK (talk | contribs) (fixed link)
Jump to navigation Jump to search

The bttv driver is meant for any card that uses the Bt848, Bt878 or Fusion 878A chip for video capture. These can be capture-only cards - which means video is taken directly from a video source without the use of a tuner - or they can be TV cards which make use of tuner and RF circuitry to receive television signals and the capture chip is there to decode the extracted video and audio.

Supported bttv devices

An up-to-date list of bttv devices supported by V4L-DVB drivers is found in the CARDLIST.bttv file in the master development repository.

Devices supported by the kernel running on your system are listed in your local <path_to_your_kernel_sources>/Documentation/video4linux/CARDLIST.bttv.

Getting an unlisted card to work

If your card is not listed, see the How to add support for a new card article.

bttv devices can be challenging to get working with the bttv driver because there are a number of parameters that need to be configured, and these tend to differ for each device. (You can find the configuration settings for already supported devices in /linux/drivers/media/video/bt8xx/bttv-cards.c). Learning what these parameters need to be for your specific device may not be a trivial task. You could try loading the bttv module with the card= parameter set to each one of the cards listed in the CARDLIST.bttv just to see if you'll get lucky and find one that works for your card. Another method used to help discover the hardware settings required for a bttv device is running the device under a Windows OS with video software and the BtSpy monitoring.

Make sure you post the findings of your investigations here and on the video4linux mailing list (video4linux-list@redhat.com) so that bttv-cards.c can be updated with a new card= entry for your card.

Installation

Details on the installation of specific cards, grouped by vendor; please add your card here.

Avermedia

Hauppauge

Hercules

  • Hercules Smart TV2 Stereo

Leadtek

  • Leadtek cards including Winfast 2000, Winfast TV2000 XP, Winfast TV2000 XP RM and Winfast TV2000 XP FM

Linux Media Labs

  • LMLBT4x multi-channel video surveillance boards are supported in kernels from 2.6.3

Pinnacle

Kodicom

Kodicom produces capture-only cards for use in Digital Video Recorder (DVR) applications. The Kodicom 4400R and Kodicom 8800R cards and their many clones are supported by the bttv driver from kernel version 2.6.13 onwards

Kozumi

  • KTV-01C ... For this card you only need to set bttv card=142, since this is a clone of the Sabrent card.

Some hints to get the bttv driver up and running

From Gerd Knorr's "README.bttv" distributed in packages such as motv.

General hints

1. Make sure if your board is recognized correctly. The bttv driver should print a line like this one (use the 'dmesg' command to see the kernel messages):

bttv0: model: BT848 (Hauppauge old)

If your card isn't autodetected correctly, you have to specify the board type as insmod argument (card=n). You might also have to specify tuner=x and pll=x.

Check the driver documentation for details and a list of supported cards. The standard kernel has the bttv documentation in the Documentation/video4linux/bttv directory.

2. [It's recommended you use a recent kernel.]

3. If you have problems with xawtv, you should open a xterm (or whatever your favorite terminal app is) and start xawtv from there. This way you'll see any error messages xawtv might print on stderr which should help to find the source of the problems.

4. If something broke after an update, have a look at the changelog. It might be mentioned there.

Common problems

?: I have a black screen in overlay mode

!: The driver was not initialized correctly, v4l-conf (or the X-Server) has to configure the bttv driver with the current video mode and framebuffer address first. Check if v4l-conf is installed suid root, it needs root priviliges to do this. You can also start v4l-conf from a terminal and check the messages it prints.

?: I have a blue screen.

!: Good, the overlay is working. A blue screen is what you get if the grabber chip has no input signal. You are probably using the wrong video source, pick another. Also happens sometimes if the tuner type is wrong, check the driver configuration.

?: I have a noisy screen and/or can't tune (some) stations.

!: Most likely the tuner types is wrong, check the driver configuration. It's no problem to do trial-and-error here.

?: The video is outside the window and spread in thin lines over the screen.

I: xawtv / v4l-conf didn't autodetect the color depth for your screen correctly. You can fix that with xawtv's -bpp switch.

?: Only the left part of the window is updated, the right one is updated never / sometimes / only if the window is small.

!: Your graphics card and/or motherboard can't deal with the data rate going over the PCI bus, leading to canceled PCI transfers. Reduce the color depth, with 16 bpp instead of 32 bpp should work much better.

?: Secam channel is shifted (sound from channel appears on nex channel) on my bttv card with tda9887.

!: Use port2=0 option to tda

Hardware-specific problems

  • bttv + DRI seem not to play nicely together with some cards (ATI Rage128). The linux box just freezes. Don't know why. Suspect it's either a hardware problem or a bug somewhere in DRI (either kernel or xfree86). The only workaround I know of is to turn off DRI.
  • Some motherboard chipsets have PCI bugs, especially with PCI-PCI transfers which are used for video overlay. The bt848/878 chips have some bug compatibility options, which can be enabled to workaround these problems. Have a look at the triton1 and vsfx insmod options. For some known-buggy chipsets these are enabled automagically.
  • Sometimes IRQ sharing causes trouble. It works most of the time, but in combination with some hardware and/or drivers it doesn't work. Especially graphic cards are known to cause trouble due to the lack of a IRQ handler. Try disabling the VGA IRQ in the BIOS. Try moving cards to another PCI slot. Your motherboard manual should tell you which PCI slots share IRQ's.