The bttv driver
===============
-
Release notes for bttv
----------------------
You'll need at least these config options for bttv:
+
+.. code-block:: none
+
CONFIG_I2C=m
CONFIG_I2C_ALGOBIT=m
CONFIG_VIDEO_DEV=m
If bttv takes very long to load (happens sometimes with the cheap
cards which have no tuner), try adding this to your modules.conf:
+
+.. code-block:: none
+
options i2c-algo-bit bit_test=1
For the WinTV/PVR you need one firmware file from the driver CD:
bttv uses the PCI Subsystem ID to autodetect the card type. lspci lists
the Subsystem ID in the second line, looks like this:
-00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 02)
- Subsystem: Hauppauge computer works Inc. WinTV/GO
- Flags: bus master, medium devsel, latency 32, IRQ 5
- Memory at e2000000 (32-bit, prefetchable) [size=4K]
+.. code-block:: none
+
+ 00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 02)
+ Subsystem: Hauppauge computer works Inc. WinTV/GO
+ Flags: bus master, medium devsel, latency 32, IRQ 5
+ Memory at e2000000 (32-bit, prefetchable) [size=4K]
only bt878-based cards can have a subsystem ID (which does not mean
that every card really has one). bt848 cards can't have a Subsystem
yourself (patches very welcome of course...) You know: The linux
slogan is "Do it yourself".
-There is a mailing list: linux-media@vger.kernel.org
+There is a mailing list at
http://vger.kernel.org/vger-lists.html#linux-media
If you have trouble with some specific TV card, try to ask there
bttv.o
-::
+.. code-block:: none
the bt848/878 (grabber chip) driver
tuner.o
-::
+.. code-block:: none
The tuner driver. You need this unless you want to use only
with a camera or external tuner ...
tvaudio.o
-::
+.. code-block:: none
new, experimental module which is supported to provide a single
driver for all simple i2c audio control chips (tda/tea*).
msp3400.o
-::
-
+.. code-block:: none
The driver for the msp34xx sound processor chips. If you have a
stereo card, you probably want to insmod this one.
tea6300.o - OBSOLETE (use tvaudio instead)
-::
+.. code-block:: none
The driver for the tea6300 fader chip. If you have a stereo
card and the msp3400.o doesn't work, you might want to try this
tda8425.o - OBSOLETE (use tvaudio instead)
-::
+.. code-block:: none
The driver for the tda8425 fader chip. This driver used to be
part of bttv.c, so if your sound used to work but does not
tda985x.o - OBSOLETE (use tvaudio instead)
-::
+.. code-block:: none
The driver for the tda9850/55 audio chips.
makes no difference). The bttv driver prints a line to the kernel
log, telling which card type is used. Like this one:
+.. code-block:: none
+
bttv0: model: BT848(Hauppauge old) [autodetected]
You should verify this is correct. If it isn't, you have to pass the
information for each known board. You basically have to create a new
line for your board. The important fields are these two:
-struct tvcard
-{
- [ ... ]
- u32 gpiomask;
- u32 audiomux[6]; /* Tuner, Radio, external, internal, mute, stereo */
-};
+.. code-block:: c
+
+ struct tvcard
+ {
+ [ ... ]
+ u32 gpiomask;
+ u32 audiomux[6]; /* Tuner, Radio, external, internal, mute, stereo */
+ };
gpiomask specifies which pins are used to control the audio mux chip.
The corresponding bits in the output enable register
(BT848_GPIO_OUT_EN) will be set as these pins must be driven by the
bt848 chip.
-The audiomux[] array holds the data values for the different inputs
+The audiomux\[\] array holds the data values for the different inputs
(i.e. which pins must be high/low for tuner/mute/...). This will be
written to the data register (BT848_GPIO_DATA) to switch the audio
mux.
card installed, you might to check out if you can read these registers
values used by the windows driver. A tool to do this is available
from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil, but it
-does'nt work with bt878 boards according to some reports I received.
+doesn't work with bt878 boards according to some reports I received.
Another one with bt878 support is available from
http://btwincap.sourceforge.net/Files/btspy2.00.zip
-You might also dig around in the *.ini files of the Windows applications.
+You might also dig around in the \*.ini files of the Windows applications.
You can have a look at the board to see which of the gpio pins are
connected at all and then start trial-and-error ...
Starting with release 0.7.41 bttv has a number of insmod options to
make the gpio debugging easier:
-bttv_gpio=0/1 enable/disable gpio debug messages
-gpiomask=n set the gpiomask value
-audiomux=i,j,... set the values of the audiomux array
-audioall=a set the values of the audiomux array (one
- value for all array elements, useful to check
- out which effect the particular value has).
+.. code-block:: none
+
+ bttv_gpio=0/1 enable/disable gpio debug messages
+ gpiomask=n set the gpiomask value
+ audiomux=i,j,... set the values of the audiomux array
+ audioall=a set the values of the audiomux array (one
+ value for all array elements, useful to check
+ out which effect the particular value has).
The messages printed with bttv_gpio=1 look like this:
+.. code-block:: none
+
bttv0: gpio: en=00000027, out=00000024 in=00ffffd8 [audio: off]
-en = output _en_able register (BT848_GPIO_OUT_EN)
-out = _out_put bits of the data register (BT848_GPIO_DATA),
- i.e. BT848_GPIO_DATA & BT848_GPIO_OUT_EN
-in = _in_put bits of the data register,
- i.e. BT848_GPIO_DATA & ~BT848_GPIO_OUT_EN
+ en = output _en_able register (BT848_GPIO_OUT_EN)
+ out = _out_put bits of the data register (BT848_GPIO_DATA),
+ i.e. BT848_GPIO_DATA & BT848_GPIO_OUT_EN
+ in = _in_put bits of the data register,
+ i.e. BT848_GPIO_DATA & ~BT848_GPIO_OUT_EN
If you are trying to make a new card work you might find it useful to
know what the other elements in the tvcards array are good for:
-video_inputs - # of video inputs the card has
-audio_inputs - historical cruft, not used any more.
-tuner - which input is the tuner
-svhs - which input is svhs (all others are labeled composite)
-muxsel - video mux, input->registervalue mapping
-pll - same as pll= insmod option
-tuner_type - same as tuner= insmod option
-*_modulename - hint whenever some card needs this or that audio
- module loaded to work properly.
-has_radio - whenever this TV card has a radio tuner.
-no_msp34xx - "1" disables loading of msp3400.o module
-no_tda9875 - "1" disables loading of tda9875.o module
-needs_tvaudio - set to "1" to load tvaudio.o module
+.. code-block:: none
+
+ video_inputs - # of video inputs the card has
+ audio_inputs - historical cruft, not used any more.
+ tuner - which input is the tuner
+ svhs - which input is svhs (all others are labeled composite)
+ muxsel - video mux, input->registervalue mapping
+ pll - same as pll= insmod option
+ tuner_type - same as tuner= insmod option
+ *_modulename - hint whenever some card needs this or that audio
+ module loaded to work properly.
+ has_radio - whenever this TV card has a radio tuner.
+ no_msp34xx - "1" disables loading of msp3400.o module
+ no_tda9875 - "1" disables loading of tda9875.o module
+ needs_tvaudio - set to "1" to load tvaudio.o module
If some config item is specified both from the tvcards array and as
insmod option, the insmod option takes precedence.
- LR137 = Flyvideo DV2000/DV3000 (SAA7130/SAA7134 + IEEE1394)
- LR138 Rev.C= Flyvideo 2000 (SAA7130)
- LR138 Flyvideo 3000 (SAA7134) w/Stereo TV
+
- These exist in variations w/FM and w/Remote sometimes denoted
by suffixes "FM" and "R".
#) You have a laptop (miniPCI card):
+
- Product = FlyTV Platinum Mini
- Model/Chip = LR212/saa7135
- No Thanks to Leadtek they refused to answer any questions about their
-hardware. The driver was written by visual inspection of the card. If you
-use this driver, send an email insult to them, and tell them you won't
-continue buying their hardware unless they support Linux.
+ hardware. The driver was written by visual inspection of the card. If you
+ use this driver, send an email insult to them, and tell them you won't
+ continue buying their hardware unless they support Linux.
- Little thanks to Princeton Technology Corp (http://www.princeton.com.tw)
-who make the audio attenuator. Their publicly available data-sheet available
-on their web site doesn't include the chip programming information! Hidden
-on their server are the full data-sheets, but don't ask how I found it.
+ who make the audio attenuator. Their publicly available data-sheet available
+ on their web site doesn't include the chip programming information! Hidden
+ on their server are the full data-sheets, but don't ask how I found it.
To use the driver I use the following options, the tuner and pll settings might
be different in your country
MediaForte TV-Vision PV951,
Yoko PV951,
Vivanco Tuner Card PCI Art.-Nr.: 68404,
- ) now named PV-951T
+ ) now named PV-951T
- Surveillance Series:
PCB PCI-ID Model-Name Eeprom Tuner Sound Country
======== =========== =============== ======= ====== ======== =======================
M101.C ISA !
-M108-B Bt848 -- FR1236 US [#f2]_,[#f3]_
+M108-B Bt848 -- FR1236 US [#f2]_, [#f3]_
M1A8-A Bt848 AVer TV-Phone FM1216 --
M168-T 1461:0003 AVerTV Studio 48:17 FM1216 TDA9840T D [#f1]_ w/FM w/Remote
M168-U 1461:0004 TVCapture98 40:11 FI1216 -- D w/Remote
- Video Highway Xtreme (aka "VHX") (Bt848, FM w/ TEA5757)
IXMicro (former: IMS=Integrated Micro Solutions)
-~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Models:
- MTV878
Package comes with different contents:
+
a) pcb "MTV878" (CARD=75)
- b) Pixelview Rev. 4_
+ b) Pixelview Rev. 4\_
+
- MTV878R w/Remote Control
- MTV878F w/Remote Control w/FM radio
- TT-DVB-Sat
- revisions 1.1, 1.3, 1.5, 1.6 and 2.1
- This card is sold as OEM from:
+
- Siemens DVB-s Card
- Hauppauge WinTV DVB-S
- Technisat SkyStar 1 DVB
- Galaxis DVB Sat
+
- Now this card is called TT-PCline Premium Family
- TT-Budget (saa7146, bsru6-701a)
- This card is sold as OEM from:
+ This card is sold as OEM from:
+
- Hauppauge WinTV Nova
- Satelco Standard PCI (DVB-S)
- TT-DVB-C PCI
NoBrand
~~~~~~~
-TV Excel = Australian Name for "PV-BT878P+ 8E" or "878TV Rev.3_"
+TV Excel = Australian Name for "PV-BT878P+ 8E" or "878TV Rev.3\_"
Mach www.machspeed.com
~~~~~~~~~~~~~~~~~~~~~~
- TV Tuner - HBY-33A-RAFFLES Brooktree Bt848KPF + Philips
- TV Tuner MG9910 - HBY33A-TVO CEI + Philips SAA7110 + OKI M548262 + ST STV8438CV
- Primetime TV (ISA)
+
- acquired by Singapore Technologies
- now operating as Chartered Semiconductor Manufacturing
- Manufacturer of video cards is listed as:
+
- Cogent Electronics Industries [CEI]
AITech
Models:
- Falcon Series (capture only)
- In USA: http://www.theimagingsource.com/
+
+In USA: http://www.theimagingsource.com/
- DFG/LC1
www.sknet-web.co.jp
- DST Card/DST-IP (bt878, twinhan asic) VP-1020
- Sold as:
+
- KWorld DVBS Satellite TV-Card
- Powercolor DSTV Satellite Tuner Card
- Prolink Pixelview DTV2000
- Provideo PV-911 Digital Satellite TV Tuner Card With Common Interface ?
+
- DST-CI Card (DVB Satellite) VP-1030
- DCT Card (DVB cable)
TV-Karte / Poso Power TV (?) = Zoltrix VP-8482 (?)
-iTVC15 boards:
+iTVC15 boards
~~~~~~~~~~~~~
kuroutoshikou.com ITVC15
- Hauppauge Win/TV pci (version 405):
- Microchip 24LC02B or Philips 8582E2Y:
+
- 256 Byte EEPROM with configuration information
- I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)
+
- Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23
- TDA9800: sound decoder
Specs
-----
+
Philips http://www.Semiconductors.COM/pip/
+
Conexant http://www.conexant.com/
+
Micronas http://www.micronas.com/en/home/index.html
Thanks
Radio card (ITT sound processor)
bigfoot <bigfoot@net-way.net>
+
Ragnar Hojland Espinosa <ragnar@macula.net>
ConferenceTV card