~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/dvb/avermedia.txt

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 HOWTO: 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 
 12 Assumptions 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 proceesed by the PC before it can be
 49    displayed  on the video monitor screen. Some Analogue TV cards
 50    for  PC's  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 
 74 The 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 
 96 Getting 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 
152 Receiving 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
184 T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
185 T 191625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
186 T 219500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
187 T 177500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
188 T 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:
199 ABC 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
201 ABC TV Melbourne:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_
202 4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:65
203 0:561
204 ABC 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
206 ABC 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
208 ABC 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
210 ABC DiG Radio:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:Q
211 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:2311:56
212 6
213 TEN 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
215 5
216 TEN Digital 1:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
217 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
218 586
219 TEN Digital 2:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
220 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
221 587
222 TEN Digital 3:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
223 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
224 588
225 TEN 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
227 9
228 TEN Digital 4:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
229 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
230 590
231 TEN 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
233 1
234 TEN HD:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:T
235 RANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1592
236 TEN 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
238 3
239 Nine Digital:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QA
240 M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:660:10
241 72
242 Nine 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
244 073
245 Nine Guide:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_
246 64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:670:1074
247 7 Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_6
248 4:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1328
249 7 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
251 7 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
253 7 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
255 7 HD Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QA
256 M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:833:834:133
257 2
258 7 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:
260 1334
261 SBS HD:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:T
262 RANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:102:103:784
263 SBS DIGITAL 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
264 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:81:785
265 SBS DIGITAL 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
266 AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:162:83:786
267 SBS EPG:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:
268 TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:163:85:787
269 SBS 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
271 SBS 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 
275 Known 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 
289 Further 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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.