Hans Verkuil wrote:
What broke? Can someone write a README for ivtv detailing the various
tda9887 options and when to use them? I find it a very magical module
with no clear system to it.
It made people with sound not have sound any more. Apparently some
peole need the output ports turned on, some need them off, but neither
is tollerant of an incorrect setting. If we could determine a rhyme or
reason as to which options were needed for a card, we could do it in
code. However, 2 of the same model card might need different
parameters. I tried to start a spreadsheet with everyone's setup and
what options they needed, but I couldn't see any pattern to who needed
what options so I put it aside.
A list of the module parameters itself isn't very useful, but here's
a first stab at something explaining the wonderful world of having a
card with a tda9887 chip on it.
The tda9887 chip is Philips' I2C-bus contrlled multistandard alignment-free
IF-PLL demodulator with FM radio chip, which means it extracts various formats
of audio from an input signal.
The tda9887 configuration is a source of many audio problems on both NTSC
and PAL systems using the PVR-150 or PVR-500 capture card. A misconfigured
tda9887 may be identified by:
-- Missing audio on all channels
-- Missing audio on some channels
-- Audio accompanied by a high frequency tone
-- "Staticy" audio on all channels
-- "Crackley" audio on all channels
-- Staticy and Crackley audio on some channels and missing audio on others
-- An overwhelming sense of frustration
Q1. How do I know if I have a tda9887 chip on my card?
A1. You can look at the card and phyisically look for it, usually a 32-pin
square surface-mount component 5mm on each side or a 24-pin rectangle
between 5.3-7.5mm. An easier way however is to probe it. Once ivtv
is loaded, simply modprobe tda9887. If you see a line in your dmesg
output like:
tda9885/6/7: chip found @ 0x43
You've got one, congratulations! You should add:
options ivtv tda9887=0
To your modprobe.conf to tell ivtv automatically load this module
when it initializes.
Q2. What are the module parameters to the tda9887?
A1.
debug - integer
0 (default) - no debug messages
1 - debug messages for commands
2 - report status after commands (kernel 2.6.8 or above)
port1 - integer flag - Disable port1 output
0 - port1 output enabled
1 (default) - port1 output disabled
port2 - integer flag - Disable port2 output
0 - port2 output enabled
1 (default) - port2 output disabled
qss - integer flag - Force quasi split sound mode
unset (default) - use default for selected audio format
0 - force intercarrier mode
1 - force QSS mode
adjust - integer - Tuner takeover point adjustment
0x1f - +15dB
0x10 (default) - +0dB
0x00 - -16dB
pal - string - Select PAL region
b -
B -
g -
G - Select PAL-B/G
i -
I - Select PAL-I
d -
D -
k -
K - Select PAL-DK
secam - string - Select SECAM region
d -
D -
k -
K - Select SECAM-DK
l -
L - Select SECAM-L
Q3. Wow, I have no idea what you just said there. What module parameters are
needed for *my* card?
A3. Depends on your card. At the *very* least, you need to specify your audio
standard if you're in PAL or SECAM land. For example, in PAL-DK:
options tda9887 pal=k
On an unrelated note, you'll want to specify this for your tuner too:
options tuner pal=k
Q4. What do I do still don't have sound, or only some channels have sound?
A4. If you've already specified your PAL/SECAM flavor, the problem might be
a disabled port is needed. Some cards require their output ports be
enabled in order to produce sound. Note that the port flags are inverted,
so to enabled both output ports you need:
options tda9887 port1=0 port2=0 [pal/secam selector]