Penguin
Blame: TvTunerCards
EditPageHistoryDiffInfoLikePages
Annotated edit history of TvTunerCards version 21, including all changes. View license author blame.
Rev Author # Line
6 JohnMcPherson 1 A TV Tuner Card (as the name suggests) allows you to pick up broadcast television signals on your computer.
2
18 IanMcDonald 3 Under MicrosoftWindows, drivers are normally specific to a manufacturer's board, while under [Linux] the driver is normally specific to the chip used on the board. (This is true for just about all [PCI]/[AGP]/[ISA] cards and drivers.)
6 JohnMcPherson 4
5 !!!Hardware Setup
6 !! BT878 / BT848
18 IanMcDonald 7 The most popular cards are boards based on the BrookTree Technologies BT878 or BT848 chip, and drivers are in the standard [LinuxKernel] (2.4.x and possibly earlier). The difference is one chip also does sound, while for the other chip the board requires a separate audio chip.
6 JohnMcPherson 8
13 JohnMcPherson 9 In the 2.6 kernel, you need:
10 * the __snd_bt87x.ko__ driver for the Audio (CONFIG_SND_BT87X: in Device Drivers -> Sound -> ALSA -> PCI Devices -> bt87x Audio Capture)
11 ** If you use the obsolete OSS system instead of ALSA, you want CONFIG_SOUND_BT878 (in Device Drivers -> Sound -> OSS - bt878 audio DMA, ''and'' Tv card (bt848) mixer support)
12 *I²C Support (Device Drivers -> I²C Support -> I²C Support and I²C bit-banging interfaces)
19 FabienOrjollet 13 * the __bttv.ko__ driver, under Video4Linux (CONFIG_VIDEO_BT848: Device Drivers -> Multimedia devices -> Video For Linux -> BT848 Video For Linux) (you HAVE to activate I2C support in order that BT848 appears in the menu)
13 JohnMcPherson 14
15 For a 2.4 Linux kernel, these are:
6 JohnMcPherson 16 * I²C Support (Character Devices -> I²C Support -> I²C Support and I²C bit-banging interfaces).
17 * Video for Linux (Multimedia devices -> Video For Linux -> proc filesystem and BT848 for linux).
18 * Audio support (Sound -> BT878 audio [DMA] and TV Card (bt878) mixer support).
19
13 JohnMcPherson 20
21 These drivers will almost certainly come with the standard kernel in any recent Linux distribution.
22
6 JohnMcPherson 23
24 !! BT829
25 This chip is a BrookTree chip, and is not supported by the bttv driver.
26
27 !! Hauppage WinTV-PVR350
28 See the IvTv page for kernel support notes, and IvTvNotes for module/ [PAL] support
29 and other hints.
9 DrWho 30
31 !! Leadtek TV2000 XP Deluxe
18 IanMcDonald 32 This card will be automaticly detected by FedoraCore 2. All that remains is for you to install a viewing application.
9 DrWho 33
34 Note this card uses a loop-back cable for audio that goes from the card to the line input on your sound card.
35 This cable is needed for sound.
36
37 If you are not hearing any sound check that the line input has not been re-asigned for a multi speaker sound output. Also check the input level.
6 JohnMcPherson 38
39 !! Philips SAA713x
40 A newer chip is made by Philips. The Lifeview Fly Video 2000 and 3000 boards sold at [DSE] in New Zealand are based on the saa7130 chip (which uses the same driver as the saa7134 chip).
41
42 Note that this card also has a RadioTuner in it - see that page for setup hints.
43
18 IanMcDonald 44 Support is in the mainstream 2.6 kernel. If you use a 2.4 series kernel you will need to download drivers and a few small kernel patches from http://bytesex.org/saa7134/. You will need to be using kernel 2.4.20 or later to apply these patches - the kernel patches use [V4L] ([Video4Linux]) version 2, while the 2.4 series kernels use version 1).
6 JohnMcPherson 45
20 DouglasBagnall 46 You still need to configure I2C support in the kernel as for BT8x8
47 above, as well as making a module for saa7134 ("Device Drivers ->
48 Multimedia devices -> Video For Linux -> Philips SAA7134 support").
6 JohnMcPherson 49 If you can "modprobe saa7134" then your kernel already has this
20 DouglasBagnall 50 module. IN 2.6.16, extra sound support has been split off into
51 additional modules, saa7134-alsa and (apparently) saa7134-oss. You
52 don't need these to just watch TV. See the sound section below.
6 JohnMcPherson 53
54 Here a some gotchas I noticed (for the New Zealand version of this board, at least):
55 # I needed to add "oss=1" as a option for the saa7134 module to get any sound. I guess it was defaulting to alsa, but this option wasn't mentioned anywhere - I found it accidentally when doing modinfo(8).
56 # The default tuner type for the card was wrong. In New Zealand we use PAL BG (or compatible), and it was defaulting to some other tuner type which meant I could pick up UHF but not VHF channels. (See the notes below about tuner type).
57
58 Here is the relevant snippet from my /etc/modules.conf (for 2.4 kernels, or /etc/modprobe.d/tv for 2.6 kernels):
13 JohnMcPherson 59 <verbatim>
6 JohnMcPherson 60 # for /video0 and vbi0 devices...
61 alias char-major-81-0 saa7134
62 # card=3 => flyvideo2000
63 # tuner=5 for PAL_BG
64 # oss=1
13 JohnMcPherson 65 options saa7134 card=3 tuner=5
66 </verbatim>
12 JasonDrake 67 If you find you get video but no sound the following command may be useful as some tv applications don't unmute this card properly (ie mythtv).
68
18 IanMcDonald 69 assuming your [V4L] device is /dev/video0
12 JasonDrake 70
71 /usr/bin/v4lctl -c /dev/video0 volume mute off
6 JohnMcPherson 72
17 JohnMcPherson 73 !!!saa713x Card types
74 There may be a better way to determine the correct card type,
75 but the following are found in the kernel sources in
76 /usr/src/linux-2.6.10/drivers/media/video/saa7134/saa7134-cards.c:
77 <verbatim>
78 0 "UNKNOWN/GENERIC"
79 1 "Proteus Pro [philips reference design]"
80 2 "LifeView FlyVIDEO3000"
81 3 "LifeView FlyVIDEO2000"
82 4 "LifeView FlyTV Platinum"
83 5 "EMPRESS"
84 6 "Tevion MD 9717"
85 7 "KNC One TV-Station RDS / Typhoon TV Tuner RDS"
86 8 "KNC One TV-Station DVR"
87 9 "Medion 5044"
88 10 "Medion 7134"
89 11 "Typhoon TV+Radio 90031"
90 12 "ELSA EX-VISION 300TV"
91 13 "ELSA EX-VISION 500TV"
92 14 "10MOONS PCI TV CAPTURE CARD"
93 15 "BMK MPEX No Tuner"
94 16 "Compro VideoMate TV"
95 17 "Compro VideoMate TV Gold+"
96 18 "Matrox CronosPlus"
97 19 "AverMedia M156 / Medion 2819"
98 20 "BMK MPEX Tuner"
99 21 "Manli MuchTV M-TV002"
100 22 "Manli MuchTV M-TV001"
101 23 "Nagase Sangyo TransGear 3000TV"
102 24 "AVACS SmartTV"
103 25 "AVerMedia DVD EZMaker"
104 26 "AverMedia 305"
105 27 "Items MuchTV Plus / IT-005"
106 28 "Terratec Cinergy 200 TV"
107 29 "Compro VideoMate TV PVR/FM"
108 30 "Empire PCI TV-Radio LE"
109 31 "Avermedia AVerTV Studio 307"
110 32 "AVerMedia Cardbus TV/Radio"
111 33 "Terratec Cinergy 400 mobile"
112 </verbatim>
113
114
115
116 !!!saa713x notes for [LinuxKernel2.6]
6 JohnMcPherson 117 !Overlay
118 As mentioned above, the saal7134 driver is part of 2.6. However, xawtv didn't work, and didn't even try to access the /dev/video device! However, reading the documentation suggested using the "Xvideo" extension. See the [Xv] page.
119 Using Xvideo also means that xawtv won't send those annoying refresh commands that make your desktop flicker every time the window is resized, or another window obscures or reveals part of the xawtv window.
120
121 !Mandrake 10.0
122 The DSE PCI TV/FM tuner card works on Mandrake 10.0 Official (using 2.6 kernel). This card has Flyvideo3000 and chipset saa7134. In file /etc/modprobe.preload, add this line
123 saa7134
124 and from Mandrake install discs, install xawtv (and the dependencies it asks for).
125
126
127 !Infrared Remote
128 The saa7134 module in kernel 2.6 includes support for the infra-red remote.
129 The driver acts as another keyboard - if it is working, you should look
130 in the file /proc/bus/input/devices and see if there is a section
131 similar to:
13 JohnMcPherson 132 <verbatim>
6 JohnMcPherson 133 I: Bus=0001 Vendor=1131 Product=0000 Version=0001
13 JohnMcPherson 134 N: Name="saa7134 IR (LifeView FlyVIDEO20"
6 JohnMcPherson 135 P: Phys=pci-0000:00:0a.0/ir0
136 H: Handlers=kbd event2
137 B: EV=100003
138 B: KEY=c0304 100000 0 0 0 0 1 10000 2 1e0001 7bb80 0 0
13 JohnMcPherson 139 </verbatim>
6 JohnMcPherson 140 Use the "xev" program to see if X can see remote button presses. If you use the "Multimedia Keys" settings in [GNOME] (and presumably something similar in [KDE]), you can assign arbitrary keys (including those buttons on the remote) to various desktop functions such as volume/mute control. (Use of xev(1) shows that not all the buttons on the remote are supported - while most generate events, the buttons labelled "CATV", "Video", "Audio", "Full Screen", and channel up and down don't appear to be visible for some reason).
141
142 This however isn't sufficient to program "change channel" functions and so forth. For this, you need to use "lirc" userland daemons with the generic "event interface" (CONFIG_INPUT_EVDEV support needed in the kernel) for this IR support. Merely having the "evdev" module loaded and the "liblircclient0" package installed on Debian meant that the numbers on the remote are seen just like the numbers on
143 the keypad.
144
8 JohnMcPherson 145 In kernel 2.6.8 and later, debug messages are turned off by default, and enabled with the "ir_debug" module parameter. In earlier kernels,
146 if you don't want the driver to print debugging messages to syslog every time you press a button, edit the file
6 JohnMcPherson 147 /usr/src/linux/drivers/media/video/saa7134/saa7134-input.c
148 and comment out or remove the two lines:
149 printk("%s: build_key gpio=0x%x mask=0x%x data=%d\n",
150 dev->name, gpio, ir->mask_keycode, data);
151 and re-compile the module or your kernel. (This worked for kernel 2.6.4 at least.)
20 DouglasBagnall 152
153 !!Sound
154
155 Saa7134 boards always seem to come with a small loop-back cable to
156 connect with the "line in" of your sound card. This is the simplest
157 way to get sound, and is presumably what Windows does, but it is not
158 actually necessary with recent kernels.
159
160 !External loopback sound
161
162 If you use the loop-back cable, all you need to do is adjust the
163 volume for "line in" in your favourite sound mixer/volume control.
164 The TV card spits out audio whenever the tuner is used -- your video
165 application doesn't need to know about it.
166
167 !DMA sound access
168
169 If you want to use your line in for something else, or want to process
170 the sound and video together, you can access the sound chip on the
171 tuner card directly. With 2.6.16, you can go something like:
172
173 <verbatim>
174 $ sudo modprobe saa7134-alsa
175
176 $ mplayer tv:// -tv driver=v4l2:input=0:width=384:height=288:adevice=hw.1,0:\
21 DouglasBagnall 177 audiorate=32000:forceaudio:volume=100:alsa:immediatemode=0
20 DouglasBagnall 178 </verbatim>
179
180 for DMA access. The <tt>audiorate=32000</tt> is vital; saa7134 only
181 does 32k sound. <tt>forceaudio</tt> and <tt>immediatemode=0</tt> tell
182 mplayer not to be lazy -- by default it will assume you are using the
183 loop-back. The numbers in <tt>adevice=hw.1,0</tt> depend on your
184 actual hardware. You can also leave out the <tt>alsa</tt> and use
185 <tt>adevice=/dev/dsp1</tt> -- oss emulation ought to take care of it.
186
187 The source for this kind of thing is of course the
188 [v4l wiki|http://www.linuxtv.org/v4lwiki/index.php/Saa7134-alsa].
189
190
17 JohnMcPherson 191
192 !!Tuner type
193 Some cards have an [EEPROM] on them which means that your OperatingSystem can automatically figure out what type of tuner chip it is using. Some cards -- especially the cheaper ones -- save a few cents per card by not putting this on, and hard-code the tuner-type into the driver. This works on windows if they give you a CDROM with binary drivers on it, but doesn't work so well
194 if you use drivers that come from anywhere else.
195
18 IanMcDonald 196 If [Linux] can not automatically determine what type of tuner the card is using, you will need to manually set it using the <tt>tuner={n}</tt> module option, such as
17 JohnMcPherson 197 <verbatim>
198 options saa7134 card=3 tuner=5
199 </verbatim>
200 in an /etc/modprobe.d/* file (for kernel 2.6 and later).
201
202
203 From /usr/src/linux-2.6.10/include/media/tuner.h:
204 <verbatim>
205 #define TUNER_TEMIC_PAL 0 /* 4002 FH5 (3X 7756, 9483) */
206 #define TUNER_PHILIPS_PAL_I 1
207 #define TUNER_PHILIPS_NTSC 2
208 #define TUNER_PHILIPS_SECAM 3 /* you must actively select B/G, L, L` */
209 #define TUNER_ABSENT 4
210 #define TUNER_PHILIPS_PAL 5
211 #define TUNER_TEMIC_NTSC 6 /* 4032 FY5 (3X 7004, 9498, 9789) */
212 #define TUNER_TEMIC_PAL_I 7 /* 4062 FY5 (3X 8501, 9957) */
213 #define TUNER_TEMIC_4036FY5_NTSC 8 /* 4036 FY5 (3X 1223, 1981, 7686) */
214 #define TUNER_ALPS_TSBH1_NTSC 9
215 #define TUNER_ALPS_TSBE1_PAL 10
216 #define TUNER_ALPS_TSBB5_PAL_I 11
217 #define TUNER_ALPS_TSBE5_PAL 12
218 #define TUNER_ALPS_TSBC5_PAL 13
219 #define TUNER_TEMIC_4006FH5_PAL 14 /* 4006 FH5 (3X 9500, 9501, 7291) */
220 #define TUNER_ALPS_TSHC6_NTSC 15
221 #define TUNER_TEMIC_PAL_DK 16 /* 4016 FY5 (3X 1392, 1393) */
222 #define TUNER_PHILIPS_NTSC_M 17
223 #define TUNER_TEMIC_4066FY5_PAL_I 18 /* 4066 FY5 (3X 7032, 7035) */
224 #define TUNER_TEMIC_4006FN5_MULTI_PAL 19 /* B/G, I and D/K autodetected (3X 7595, 7606, 7657)*/
225 #define TUNER_TEMIC_4009FR5_PAL 20 /* incl. FM radio (3X 7607, 7488, 7711)*/
226 #define TUNER_TEMIC_4039FR5_NTSC 21 /* incl. FM radio (3X 7246, 7578, 7732)*/
227 #define TUNER_TEMIC_4046FM5 22 /* you must actively select B/G, D/K, I, L, L` ! (3X 7804, 7806, 8103, 8104)*/
228 #define TUNER_PHILIPS_PAL_DK 23
229 #define TUNER_PHILIPS_FQ1216ME 24 /* you must actively select B/G/D/K, I, L, L` */
230 #define TUNER_LG_PAL_I_FM 25
231 #define TUNER_LG_PAL_I 26
232 #define TUNER_LG_NTSC_FM 27
233 #define TUNER_LG_PAL_FM 28
234 #define TUNER_LG_PAL 29
235 #define TUNER_TEMIC_4009FN5_MULTI_PAL_FM 30 /* B/G, I and D/K autodetected (3X 8155, 8160, 8163)*/
236 #define TUNER_SHARP_2U5JF5540_NTSC 31
237 #define TUNER_Samsung_PAL_TCPM9091PD27 32
238 #define TUNER_MT2032 33
239 #define TUNER_TEMIC_4106FH5 34 /* 4106 FH5 (3X 7808, 7865)*/
240 #define TUNER_TEMIC_4012FY5 35 /* 4012 FY5 (3X 0971, 1099)*/
241 #define TUNER_TEMIC_4136FY5 36 /* 4136 FY5 (3X 7708, 7746)*/
242 #define TUNER_LG_PAL_NEW_TAPC 37
243 #define TUNER_PHILIPS_FM1216ME_MK3 38
244 #define TUNER_LG_NTSC_NEW_TAPC 39
245 #define TUNER_HITACHI_NTSC 40
246 #define TUNER_PHILIPS_PAL_MK 41
247 #define TUNER_PHILIPS_ATSC 42
248 #define TUNER_PHILIPS_FM1236_MK3 43
249 #define TUNER_PHILIPS_4IN1 44 /* ATI TV Wonder Pro - Conexant */
250 /* Microtune mergeged with Temic 12/31/1999 partially financed by Alps - these may be similar to Temic */
251 #define TUNER_MICROTUNE_4049FM5 45
252 #define TUNER_LG_NTSC_TAPE 47
253 #define TUNER_TNF_8831BGFF 48
254 #define TUNER_MICROTUNE_4042FI5 49 /* FusionHDTV 3 Gold - 4042 FI5 (3X 8147) */
255 #define TUNER_TCL_2002N 50
256 #define TUNER_PHILIPS_FM1256_IH3 51
257 </verbatim>
258
6 JohnMcPherson 259
260 !!!Applications
261 !Xawtv
262
263 See the XawTv page.
264
265 !Tvtime
11 MattBrown 266 Probably the Linux tv-viewing app with the most user-friendly [GUI] frontend. See the TvTime page for more details.
7 CraigBox 267
268 !MythTV
15 JohnMcPherson 269 Used for recording programs.
7 CraigBox 270 See the MythTv page.
6 JohnMcPherson 271
272 !Mplayer
273 You need to specify the channel on the command line. For example, try:
274 mplayer tv://10 -tv driver=v4l2
275 (VHF channel 10 is the frequency that broadcasts TV3 in Hamilton).
276
16 ChrisTrotman 277 Mplayer can apparently also be used to encode and stream the video and audio across a network. If you figure out how to do this, please update this page. (See Mencoder)
278
279 !Mencoder
280 Mencoder is part of mplayer, in this example, it will encode straight from the tv device on the channel that has been previously selected by a tv program (see above).
281 mencoder tv:// -tv driver=v4l2 -ovc xvid -oac mp3lame -xvidencopts pass=1 -o <fileout>.avi
282 Man mencoder for more information. Also for codec listings, replace xvid or mp3lame with "help"
6 JohnMcPherson 283
284 !Radio
285 See the RadioTuner page.
286
287 ----
288
18 IanMcDonald 289 See also the [LinuxTV Wiki|http://linuxtv.org/wiki/index.php/Main_Page] ("intended to become the ultimate resource regarding all questions about Video, TV and DVB support on Linux, free DVB software and cool projects"), and the [Video4Linux Wiki|http://linuxtv.org/v4lwiki/index.php/Main_Page] ("designed to serve as a community focus and the resource of reference for users and developers of the [Video4Linux] framework").
14 DouglasBagnall 290
6 JohnMcPherson 291
292 ----
293 CategoryHardware

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 5 times)