Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | |
2 | HOWTO: Get An Avermedia DVB-T working under Linux | |
674434c6 | 3 | ______________________________________________ |
1da177e4 LT |
4 | |
5 | Table of Contents | |
6 | Assumptions and Introduction | |
7 | The Avermedia DVB-T | |
8 | Getting the card going | |
9 | Receiving DVB-T in Australia | |
10 | Known Limitations | |
11 | Further Update | |
12 | ||
13 | Assumptions and Introduction | |
14 | ||
15 | It is assumed that the reader understands the basic structure | |
16 | of the Linux Kernel DVB drivers and the general principles of | |
17 | Digital TV. | |
18 | ||
19 | One significant difference between Digital TV and Analogue TV | |
20 | that the unwary (like myself) should consider is that, | |
21 | although the component structure of budget DVB-T cards are | |
22 | substantially similar to Analogue TV cards, they function in | |
23 | substantially different ways. | |
24 | ||
25 | The purpose of an Analogue TV is to receive and display an | |
26 | Analogue Television signal. An Analogue TV signal (otherwise | |
27 | known as composite video) is an analogue encoding of a | |
28 | sequence of image frames (25 per second) rasterised using an | |
29 | interlacing technique. Interlacing takes two fields to | |
30 | represent one frame. Computers today are at their best when | |
31 | dealing with digital signals, not analogue signals and a | |
32 | composite video signal is about as far removed from a digital | |
33 | data stream as you can get. Therefore, an Analogue TV card for | |
34 | a PC has the following purpose: | |
35 | ||
36 | * Tune the receiver to receive a broadcast signal | |
37 | * demodulate the broadcast signal | |
38 | * demultiplex the analogue video signal and analogue audio | |
39 | signal (note some countries employ a digital audio signal | |
40 | embedded within the modulated composite analogue signal - | |
41 | NICAM.) | |
42 | * digitize the analogue video signal and make the resulting | |
43 | datastream available to the data bus. | |
44 | ||
45 | The digital datastream from an Analogue TV card is generated | |
46 | by circuitry on the card and is often presented uncompressed. | |
47 | For a PAL TV signal encoded at a resolution of 768x576 24-bit | |
48 | color pixels over 25 frames per second - a fair amount of data | |
49 | is generated and must be proceesed by the PC before it can be | |
50 | displayed on the video monitor screen. Some Analogue TV cards | |
51 | for PC's have onboard MPEG2 encoders which permit the raw | |
52 | digital data stream to be presented to the PC in an encoded | |
53 | and compressed form - similar to the form that is used in | |
54 | Digital TV. | |
55 | ||
56 | The purpose of a simple budget digital TV card (DVB-T,C or S) | |
57 | is to simply: | |
58 | ||
59 | * Tune the received to receive a broadcast signal. | |
60 | * Extract the encoded digital datastream from the broadcast | |
61 | signal. | |
62 | * Make the encoded digital datastream (MPEG2) available to | |
63 | the data bus. | |
64 | ||
65 | The significant difference between the two is that the tuner | |
66 | on the analogue TV card spits out an Analogue signal, whereas | |
67 | the tuner on the digital TV card spits out a compressed | |
68 | encoded digital datastream. As the signal is already | |
69 | digitised, it is trivial to pass this datastream to the PC | |
70 | databus with minimal additional processing and then extract | |
71 | the digital video and audio datastreams passing them to the | |
72 | appropriate software or hardware for decoding and viewing. | |
73 | _________________________________________________________ | |
74 | ||
75 | The Avermedia DVB-T | |
76 | ||
77 | The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs: | |
78 | ||
79 | * RF Tuner Input | |
80 | * Composite Video Input (RCA Jack) | |
81 | * SVIDEO Input (Mini-DIN) | |
82 | ||
83 | The RF Tuner Input is the input to the tuner module of the | |
84 | card. The Tuner is otherwise known as the "Frontend" . The | |
85 | Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely | |
86 | post to the linux-dvb mailing list ascertained that the | |
87 | Microtune 7202D is supported by the sp887x driver which is | |
88 | found in the dvb-hw CVS module. | |
89 | ||
90 | The DVB-T card is based around the BT878 chip which is a very | |
91 | common multimedia bridge and often found on Analogue TV cards. | |
92 | There is no on-board MPEG2 decoder, which means that all MPEG2 | |
93 | decoding must be done in software, or if you have one, on an | |
94 | MPEG2 hardware decoding card or chipset. | |
95 | _________________________________________________________ | |
96 | ||
97 | Getting the card going | |
98 | ||
99 | In order to fire up the card, it is necessary to load a number | |
100 | of modules from the DVB driver set. Prior to this it will have | |
101 | been necessary to download these drivers from the linuxtv CVS | |
102 | server and compile them successfully. | |
103 | ||
104 | Depending on the card's feature set, the Device Driver API for | |
105 | DVB under Linux will expose some of the following device files | |
106 | in the /dev tree: | |
107 | ||
108 | * /dev/dvb/adapter0/audio0 | |
109 | * /dev/dvb/adapter0/ca0 | |
110 | * /dev/dvb/adapter0/demux0 | |
111 | * /dev/dvb/adapter0/dvr0 | |
112 | * /dev/dvb/adapter0/frontend0 | |
113 | * /dev/dvb/adapter0/net0 | |
114 | * /dev/dvb/adapter0/osd0 | |
115 | * /dev/dvb/adapter0/video0 | |
116 | ||
117 | The primary device nodes that we are interested in (at this | |
118 | stage) for the Avermedia DVB-T are: | |
119 | ||
120 | * /dev/dvb/adapter0/dvr0 | |
121 | * /dev/dvb/adapter0/frontend0 | |
122 | ||
123 | The dvr0 device node is used to read the MPEG2 Data Stream and | |
124 | the frontend0 node is used to tune the frontend tuner module. | |
125 | ||
126 | At this stage, it has not been able to ascertain the | |
127 | functionality of the remaining device nodes in respect of the | |
128 | Avermedia DVBT. However, full functionality in respect of | |
129 | tuning, receiving and supplying the MPEG2 data stream is | |
130 | possible with the currently available versions of the driver. | |
131 | It may be possible that additional functionality is available | |
132 | from the card (i.e. viewing the additional analogue inputs | |
133 | that the card presents), but this has not been tested yet. If | |
134 | I get around to this, I'll update the document with whatever I | |
135 | find. | |
136 | ||
137 | To power up the card, load the following modules in the | |
138 | following order: | |
139 | ||
140 | * insmod dvb-core.o | |
141 | * modprobe bttv.o | |
142 | * insmod bt878.o | |
143 | * insmod dvb-bt8xx.o | |
144 | * insmod sp887x.o | |
145 | ||
146 | Insertion of these modules into the running kernel will | |
147 | activate the appropriate DVB device nodes. It is then possible | |
148 | to start accessing the card with utilities such as scan, tzap, | |
149 | dvbstream etc. | |
150 | ||
151 | The frontend module sp887x.o, requires an external firmware. | |
152 | Please use the command "get_dvb_firmware sp887x" to download | |