Root/Documentation/dvb/avermedia.txt

1HOWTO: Get An Avermedia DVB-T working under Linux
2       ______________________________________________
3
4   Table of Contents
5   Assumptions and Introduction
6   The Avermedia DVB-T
7   Getting the card going
8   Receiving DVB-T in Australia
9   Known Limitations
10   Further Update
11
12Assumptions and Introduction
13
14   It is assumed that the reader understands the basic structure
15   of the Linux Kernel DVB drivers and the general principles of
16   Digital TV.
17
18   One significant difference between Digital TV and Analogue TV
19   that the unwary (like myself) should consider is that,
20   although the component structure of budget DVB-T cards are
21   substantially similar to Analogue TV cards, they function in
22   substantially different ways.
23
24   The purpose of an Analogue TV is to receive and display an
25   Analogue Television signal. An Analogue TV signal (otherwise
26   known as composite video) is an analogue encoding of a
27   sequence of image frames (25 per second) rasterised using an
28   interlacing technique. Interlacing takes two fields to
29   represent one frame. Computers today are at their best when
30   dealing with digital signals, not analogue signals and a
31   composite video signal is about as far removed from a digital
32   data stream as you can get. Therefore, an Analogue TV card for
33   a PC has the following purpose:
34
35     * Tune the receiver to receive a broadcast signal
36     * demodulate the broadcast signal
37     * demultiplex the analogue video signal and analogue audio
38       signal (note some countries employ a digital audio signal
39       embedded within the modulated composite analogue signal -
40       NICAM.)
41     * digitize the analogue video signal and make the resulting
42       datastream available to the data bus.
43
44   The digital datastream from an Analogue TV card is generated
45   by circuitry on the card and is often presented uncompressed.
46   For a PAL TV signal encoded at a resolution of 768x576 24-bit
47   color pixels over 25 frames per second - a fair amount of data
48   is generated and must be processed by the PC before it can be
49   displayed on the video monitor screen. Some Analogue TV cards
50   for PCs have onboard MPEG2 encoders which permit the raw
51   digital data stream to be presented to the PC in an encoded
52   and compressed form - similar to the form that is used in
53   Digital TV.
54
55   The purpose of a simple budget digital TV card (DVB-T,C or S)
56   is to simply:
57
58     * Tune the received to receive a broadcast signal.
59     * Extract the encoded digital datastream from the broadcast
60       signal.
61     * Make the encoded digital datastream (MPEG2) available to
62       the data bus.
63
64   The significant difference between the two is that the tuner
65   on the analogue TV card spits out an Analogue signal, whereas
66   the tuner on the digital TV card spits out a compressed
67   encoded digital datastream. As the signal is already
68   digitised, it is trivial to pass this datastream to the PC
69   databus with minimal additional processing and then extract
70   the digital video and audio datastreams passing them to the
71   appropriate software or hardware for decoding and viewing.
72     _________________________________________________________
73
74The Avermedia DVB-T
75
76   The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:
77
78     * RF Tuner Input
79     * Composite Video Input (RCA Jack)
80     * SVIDEO Input (Mini-DIN)
81
82   The RF Tuner Input is the input to the tuner module of the
83   card. The Tuner is otherwise known as the "Frontend" . The
84   Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
85   post to the linux-dvb mailing list ascertained that the
86   Microtune 7202D is supported by the sp887x driver which is
87   found in the dvb-hw CVS module.
88
89   The DVB-T card is based around the BT878 chip which is a very
90   common multimedia bridge and often found on Analogue TV cards.
91   There is no on-board MPEG2 decoder, which means that all MPEG2
92   decoding must be done in software, or if you have one, on an
93   MPEG2 hardware decoding card or chipset.
94     _________________________________________________________
95
96Getting the card going
97
98   In order to fire up the card, it is necessary to load a number
99   of modules from the DVB driver set. Prior to this it will have
100   been necessary to download these drivers from the linuxtv CVS
101   server and compile them successfully.
102
103   Depending on the card's feature set, the Device Driver API for
104   DVB under Linux will expose some of the following device files
105   in the /dev tree:
106
107     * /dev/dvb/adapter0/audio0
108     * /dev/dvb/adapter0/ca0
109     * /dev/dvb/adapter0/demux0
110     * /dev/dvb/adapter0/dvr0
111     * /dev/dvb/adapter0/frontend0
112     * /dev/dvb/adapter0/net0
113     * /dev/dvb/adapter0/osd0
114     * /dev/dvb/adapter0/video0
115
116   The primary device nodes that we are interested in (at this
117   stage) for the Avermedia DVB-T are:
118
119     * /dev/dvb/adapter0/dvr0
120     * /dev/dvb/adapter0/frontend0
121
122   The dvr0 device node is used to read the MPEG2 Data Stream and
123   the frontend0 node is used to tune the frontend tuner module.
124
125   At this stage, it has not been able to ascertain the
126   functionality of the remaining device nodes in respect of the
127   Avermedia DVBT. However, full functionality in respect of
128   tuning, receiving and supplying the MPEG2 data stream is
129   possible with the currently available versions of the driver.
130   It may be possible that additional functionality is available
131   from the card (i.e. viewing the additional analogue inputs
132   that the card presents), but this has not been tested yet. If
133   I get around to this, I'll update the document with whatever I
134   find.
135
136   To power up the card, load the following modules in the
137   following order:
138
139     * modprobe bttv (normally loaded automatically)
140     * modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
141
142   Insertion of these modules into the running kernel will
143   activate the appropriate DVB device nodes. It is then possible
144   to start accessing the card with utilities such as scan, tzap,
145   dvbstream etc.
146
147   The frontend module sp887x.o, requires an external firmware.
148   Please use the command "get_dvb_firmware sp887x" to download
149   it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
150   (depending on configuration of firmware hotplug).
151
152Receiving DVB-T in Australia
153
154   I have no experience of DVB-T in other countries other than
155   Australia, so I will attempt to explain how it works here in
156   Melbourne and how this affects the configuration of the DVB-T
157   card.
158
159   The Digital Broadcasting Australia website has a Reception
160   locatortool which provides information on transponder channels
161   and frequencies. My local transmitter happens to be Mount
162   Dandenong.
163
164   The frequencies broadcast by Mount Dandenong are:
165
166   Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
167   Broadcaster Channel Frequency
168   ABC VHF 12 226.5 MHz
169   TEN VHF 11 219.5 MHz
170   NINE VHF 8 191.625 MHz
171   SEVEN VHF 6 177.5 MHz
172   SBS UHF 29 536.5 MHz
173
174   The Scan utility has a set of compiled-in defaults for various
175   countries and regions, but if they do not suit, or if you have
176   a pre-compiled scan binary, you can specify a data file on the
177   command line which contains the transponder frequencies. Here
178   is a sample file for the above channel transponders:
179# Data file for DVB scan program
180#
181# C Frequency SymbolRate FEC QAM
182# S Frequency Polarisation SymbolRate FEC
183# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
184T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
185T 191625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
186T 219500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
187T 177500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
188T 536500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
189
190   The defaults for the transponder frequency and other
191   modulation parameters were obtained from www.dba.org.au.
192
193   When Scan runs, it will output channels.conf information for
194   any channel's transponders which the card's frontend can lock
195   onto. (i.e. any whose signal is strong enough at your
196   antenna).
197
198   Here's my channels.conf file for anyone who's interested:
199ABC HDTV:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
200:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:2307:0:560
201ABC TV Melbourne:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_
2024:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:65
2030:561
204ABC TV 2:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
205:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:562
206ABC TV 3:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
207:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:563
208ABC TV 4:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64
209:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:564
210ABC DiG Radio:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:Q
211AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:2311:56
2126
213TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
214_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:158
2155
216TEN Digital 1:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
217AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
218586
219TEN Digital 2:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
220AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
221587
222TEN Digital 3:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
223AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
224588
225TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
226_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:158
2279
228TEN Digital 4:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
229AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
230590
231TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
232_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:159
2331
234TEN HD:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:T
235RANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1592
236TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM
237_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:159
2383
239Nine Digital:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QA
240M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:660:10
24172
242Nine Digital HD:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2
243:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:0:1
244073
245Nine Guide:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_
24664:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:670:1074
2477 Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_6
2484:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1328
2497 Digital 1:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
250_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1329
2517 Digital 2:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
252_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1330
2537 Digital 3:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
254_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1331
2557 HD Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QA
256M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:833:834:133
2572
2587 Program Guide:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3
259:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:865:866:
2601334
261SBS HD:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:T
262RANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:102:103:784
263SBS DIGITAL 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
264AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:81:785
265SBS DIGITAL 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
266AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:162:83:786
267SBS EPG:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:
268TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:163:85:787
269SBS RADIO 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
270_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:201:798
271SBS RADIO 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM
272_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:202:799
273     _________________________________________________________
274
275Known Limitations
276
277   At present I can say with confidence that the frontend tunes
278   via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
279   via /dev/dvb/adapter{x}/dvr0. I have not tested the
280   functionality of any other part of the card yet. I will do so
281   over time and update this document.
282
283   There are some limitations in the i2c layer due to a returned
284   error message inconsistency. Although this generates errors in
285   dmesg and the system logs, it does not appear to affect the
286   ability of the frontend to function correctly.
287     _________________________________________________________
288
289Further Update
290
291   dvbstream and VideoLAN Client on windows works a treat with
292   DVB, in fact this is currently serving as my main way of
293   viewing DVB-T at the moment. Additionally, VLC is happily
294   decoding HDTV signals, although the PC is dropping the odd
295   frame here and there - I assume due to processing capability -
296   as all the decoding is being done under windows in software.
297
298   Many thanks to Nigel Pearson for the updates to this document
299   since the recent revision of the driver.
300
301   February 14th 2006
302

Archive Download this file



interactive