mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-05 16:07:46 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
301
Documentation/dvb/avermedia.txt
Normal file
301
Documentation/dvb/avermedia.txt
Normal file
|
@ -0,0 +1,301 @@
|
|||
HOWTO: Get An Avermedia DVB-T working under Linux
|
||||
______________________________________________
|
||||
|
||||
Table of Contents
|
||||
Assumptions and Introduction
|
||||
The Avermedia DVB-T
|
||||
Getting the card going
|
||||
Receiving DVB-T in Australia
|
||||
Known Limitations
|
||||
Further Update
|
||||
|
||||
Assumptions 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 processed by the PC before it can be
|
||||
displayed on the video monitor screen. Some Analogue TV cards
|
||||
for PCs 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:
|
||||
|
||||
* modprobe bttv (normally loaded automatically)
|
||||
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
|
||||
|
||||
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 frontend module sp887x.o, requires an external firmware.
|
||||
Please use the command "get_dvb_firmware sp887x" to download
|
||||
it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
|
||||
(depending on configuration of firmware hotplug).
|
||||
|
||||
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 Hier
|
||||
T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
|
||||
T 191625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
|
||||
T 219500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
|
||||
T 177500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
|
||||
T 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:560
|
||||
ABC 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:65
|
||||
0:561
|
||||
ABC 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:562
|
||||
ABC 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:563
|
||||
ABC 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:564
|
||||
ABC DiG Radio:226500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:2311:56
|
||||
6
|
||||
TEN 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:158
|
||||
5
|
||||
TEN Digital 1:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
|
||||
586
|
||||
TEN Digital 2:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
|
||||
587
|
||||
TEN Digital 3:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
|
||||
588
|
||||
TEN 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:158
|
||||
9
|
||||
TEN Digital 4:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1
|
||||
590
|
||||
TEN 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:159
|
||||
1
|
||||
TEN HD:219500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:T
|
||||
RANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1592
|
||||
TEN 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:159
|
||||
3
|
||||
Nine Digital:191625000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QA
|
||||
M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:660:10
|
||||
72
|
||||
Nine 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:1
|
||||
073
|
||||
Nine 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:1074
|
||||
7 Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_6
|
||||
4:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:770:1328
|
||||
7 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:1329
|
||||
7 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:1330
|
||||
7 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:1331
|
||||
7 HD Digital:177500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QA
|
||||
M_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:833:834:133
|
||||
2
|
||||
7 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:
|
||||
1334
|
||||
SBS HD:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:QAM_64:T
|
||||
RANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:102:103:784
|
||||
SBS DIGITAL 1:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:161:81:785
|
||||
SBS DIGITAL 2:536500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_2_3:Q
|
||||
AM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:162:83:786
|
||||
SBS 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:787
|
||||
SBS 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:798
|
||||
SBS 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.
|
||||
|
||||
February 14th 2006
|
Loading…
Add table
Add a link
Reference in a new issue