⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avermedia.txt

📁 linux环境下的dvb驱动程序
💻 TXT
字号:
HOWTO: Get An Avermedia DVB-T working under Linux           ______________________________________________   Table of Contents   Assumptions and Introduction   The Avermedia DVB-T   Getting the card going   Getting the Firmware   Receiving DVB-T in Australia   Known Limitations   Further UpdateAssumptions and Introduction   It  is assumed that the reader understands the basic structure   of  the Linux Kernel DVB drivers and the general principles of   Digital TV.   One  significant difference between Digital TV and Analogue TV   that  the  unwary  (like  myself)  should  consider  is  that,   although  the  component  structure  of budget DVB-T cards are   substantially  similar  to Analogue TV cards, they function in   substantially different ways.   The  purpose  of  an  Analogue TV is to receive and display an   Analogue  Television  signal. An Analogue TV signal (otherwise   known  as  composite  video)  is  an  analogue  encoding  of a   sequence  of  image frames (25 per second) rasterised using an   interlacing   technique.   Interlacing  takes  two  fields  to   represent  one  frame.  Computers today are at their best when   dealing  with  digital  signals,  not  analogue  signals and a   composite  video signal is about as far removed from a digital   data stream as you can get. Therefore, an Analogue TV card for   a PC has the following purpose:     * Tune the receiver to receive a broadcast signal     * demodulate the broadcast signal     * demultiplex  the  analogue video signal and analogue audio       signal  (note some countries employ a digital audio signal       embedded  within the modulated composite analogue signal -       NICAM.)     * digitize  the analogue video signal and make the resulting       datastream available to the data bus.   The  digital  datastream from an Analogue TV card is generated   by  circuitry on the card and is often presented uncompressed.   For  a PAL TV signal encoded at a resolution of 768x576 24-bit   color pixels over 25 frames per second - a fair amount of data   is  generated and must be proceesed by the PC before it can be   displayed  on the video monitor screen. Some Analogue TV cards   for  PC's  have  onboard  MPEG2  encoders which permit the raw   digital  data  stream  to be presented to the PC in an encoded   and  compressed  form  -  similar  to the form that is used in   Digital TV.   The  purpose of a simple budget digital TV card (DVB-T,C or S)   is to simply:     * Tune the received to receive a broadcast signal.     * Extract  the encoded digital datastream from the broadcast       signal.     * Make  the  encoded digital datastream (MPEG2) available to       the data bus.   The  significant  difference between the two is that the tuner   on  the analogue TV card spits out an Analogue signal, whereas   the  tuner  on  the  digital  TV  card  spits out a compressed   encoded   digital   datastream.   As  the  signal  is  already   digitised,  it  is  trivial  to pass this datastream to the PC   databus  with  minimal  additional processing and then extract   the  digital  video  and audio datastreams passing them to the   appropriate software or hardware for decoding and viewing.     _________________________________________________________The Avermedia DVB-T   The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:     * RF Tuner Input     * Composite Video Input (RCA Jack)     * SVIDEO Input (Mini-DIN)   The  RF  Tuner  Input  is the input to the tuner module of the   card.  The  Tuner  is  otherwise known as the "Frontend" . The   Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely   post  to  the  linux-dvb  mailing  list  ascertained  that the   Microtune  7202D  is  supported  by the sp887x driver which is   found in the dvb-hw CVS module.   The  DVB-T card is based around the BT878 chip which is a very   common multimedia bridge and often found on Analogue TV cards.   There is no on-board MPEG2 decoder, which means that all MPEG2   decoding  must  be done in software, or if you have one, on an   MPEG2 hardware decoding card or chipset.     _________________________________________________________Getting the card going   In order to fire up the card, it is necessary to load a number   of modules from the DVB driver set. Prior to this it will have   been  necessary to download these drivers from the linuxtv CVS   server and compile them successfully.   Depending on the card's feature set, the Device Driver API for   DVB under Linux will expose some of the following device files   in the /dev tree:     * /dev/dvb/adapter0/audio0     * /dev/dvb/adapter0/ca0     * /dev/dvb/adapter0/demux0     * /dev/dvb/adapter0/dvr0     * /dev/dvb/adapter0/frontend0     * /dev/dvb/adapter0/net0     * /dev/dvb/adapter0/osd0     * /dev/dvb/adapter0/video0   The  primary  device  nodes that we are interested in (at this   stage) for the Avermedia DVB-T are:     * /dev/dvb/adapter0/dvr0     * /dev/dvb/adapter0/frontend0   The dvr0 device node is used to read the MPEG2 Data Stream and   the frontend0 node is used to tune the frontend tuner module.   At  this  stage,  it  has  not  been  able  to  ascertain  the   functionality  of the remaining device nodes in respect of the   Avermedia  DVBT.  However,  full  functionality  in respect of   tuning,  receiving  and  supplying  the  MPEG2  data stream is   possible  with the currently available versions of the driver.   It  may be possible that additional functionality is available   from  the  card  (i.e.  viewing the additional analogue inputs   that  the card presents), but this has not been tested yet. If   I get around to this, I'll update the document with whatever I   find.   To  power  up  the  card,  load  the  following modules in the   following order:     * insmod dvb-core.o     * modprobe bttv.o     * insmod bt878.o     * insmod dvb-bt8xx.o     * insmod sp887x.o   Insertion  of  these  modules  into  the  running  kernel will   activate the appropriate DVB device nodes. It is then possible   to start accessing the card with utilities such as scan, tzap,   dvbstream etc.   The  current version of the frontend module sp887x.o, contains   no firmware drivers?, so the first time you open it with a DVB   utility  the driver will try to download some initial firmware   to  the card. You will need to download this firmware from the   web,  or  copy  it from an installation of the Windows drivers   that probably came with your card, before you can use it.   The  default  Linux  filesystem  location for this firmware is   /usr/lib/hotplug/firmware/sc_main.mc .     _________________________________________________________Getting the Firmware   As the firmware for the card is no longer contained within the   driver,  it  is  necessary  to  extract  it  from  the windows   drivers.   The  Windows  drivers  for the Avermedia DVB-T can be obtained   from: http://babyurl.com/H3U970 and you can get an application   to extract the firmware from:   http://www.kyz.uklinux.net/cabextract.php.     _________________________________________________________Receiving DVB-T in Australia   I  have  no  experience of DVB-T in other countries other than   Australia,  so  I will attempt to explain how it works here in   Melbourne  and how this affects the configuration of the DVB-T   card.   The  Digital  Broadcasting  Australia  website has a Reception   locatortool which provides information on transponder channels   and  frequencies.  My  local  transmitter  happens to be Mount   Dandenong.   The frequencies broadcast by Mount Dandenong are:   Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.   Broadcaster Channel Frequency   ABC         VHF 12  226.5 MHz   TEN         VHF 11  219.5 MHz   NINE        VHF 8   191.625 MHz   SEVEN       VHF 6   177.5 MHz   SBS         UHF 29  536.5 MHz   The Scan utility has a set of compiled-in defaults for various   countries and regions, but if they do not suit, or if you have   a pre-compiled scan binary, you can specify a data file on the   command  line which contains the transponder frequencies. Here   is a sample file for the above channel transponders:# Data file for DVB scan program## C Frequency SymbolRate FEC QAM# S Frequency Polarisation SymbolRate FEC# T Frequency Bandwidth FEC FEC2 QAM Mode Guard HierT 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONET 191625000 7MHz 2/3 NONE QAM64 8k 1/8 NONET 219500000 7MHz 2/3 NONE QAM64 8k 1/8 NONET 177500000 7MHz 2/3 NONE QAM64 8k 1/8 NONET 536500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE   The   defaults   for   the  transponder  frequency  and  other   modulation parameters were obtained from www.dba.org.au.   When  Scan  runs, it will output channels.conf information for   any  channel's transponders which the card's frontend can lock   onto.  (i.e.  any  whose  signal  is  strong  enough  at  your   antenna).   Here's my channels.conf file for anyone who's interested:ABC HDTV:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:2307:0:560ABC TV Melbourne:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:561ABC TV 2:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:562ABC TV 3:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:563ABC TV 4:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:564ABC DiG Radio:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:2311:566TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1585TEN Digital 1:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1586TEN Digital 2:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1587TEN Digital 3:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1588TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1589TEN Digital 4:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1590TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1591TEN HD:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1592TEN Digital:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1593Nine Digital:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:660:1072Nine Digital HD:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:0:1073Nine Guide:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:670:10747 Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:13287 Digital 1:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:13297 Digital 2:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:13307 Digital 3:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:13317 HD Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:833:834:13327 Program Guide:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:865:866:1334SBS HD:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:102:103:784SBS DIGITAL 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:81:785SBS DIGITAL 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:162:83:786SBS EPG:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:163:85:787SBS RADIO 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:201:798SBS RADIO 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:202:799     _________________________________________________________Known Limitations   At  present  I can say with confidence that the frontend tunes   via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream   via   /dev/dvb/adapter{x}/dvr0.   I   have   not   tested  the   functionality  of any other part of the card yet. I will do so   over time and update this document.   There  are some limitations in the i2c layer due to a returned   error message inconsistency. Although this generates errors in   dmesg  and  the  system logs, it does not appear to affect the   ability of the frontend to function correctly.     _________________________________________________________Further Update   dvbstream  and  VideoLAN  Client on windows works a treat with   DVB,  in  fact  this  is  currently  serving as my main way of   viewing  DVB-T  at  the  moment.  Additionally, VLC is happily   decoding  HDTV  signals,  although  the PC is dropping the odd   frame here and there - I assume due to processing capability -   as all the decoding is being done under windows in software.   Many  thanks to Nigel Pearson for the updates to this document   since the recent revision of the driver.   January 29th 2004

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -