* IEC958 volume and balance control
@ 2004-08-03 12:40 David Liontooth
0 siblings, 0 replies; only message in thread
From: David Liontooth @ 2004-08-03 12:40 UTC (permalink / raw)
To: alsa-devel
Greetings!
A week or so ago, Jason Fuchs discovered out how to make the headphone
jack on the vpr
Matrix 2005a laptop work: you activate IEC958 and turn off the volume on
IEC958 Playback
AC97-SPSA (http://www.goodfellow.net/VPRMatrixLinux/). The laptop also
has a keyboard
switch for S/PDIF and this must be set to off. It took the small group
of people who use this
laptop nearly two years to figure this out. For my own part, I assumed
the headphone jack
had some idiosyncratic arrangement that ALSA didn't support -- the
vendor advertizes it
upsamples from 96 to 192 ("Sonopur"). However, it is now working great,
with these
reservations:
1. Most players and mixers cannot control the volume level of the
headphone sound
I've tried kmix, alsamixer/alsamixergui, aumix/gtk-aumix, xine, beep,
xmms, quark, you
name it. There is one honorable exception: alsaplayer. Its volume slider
controls the
volume perfectly. So my first question:
Q1: What is the component used in alsaplayer to control volume? Can I
map this in some
useful manner so that it can be accessed by other mixers / players?
2. The players and mixers cannot control left/right balance
Here even alsaplayer fails -- its balance slider works like an inverse
volume knob.
Q2: Any way to control balance in IEC958?
3. As far as I can tell all I'm getting is mono sound
Even though alsaplayer says it's stereo, I hear only mono. The plug
looks like it's
working fine (though before the first reboot with the new stored values
I had some
pretty significant distortion). Is there a setting I'm missing?
Q3: Any reason stereo is not coming through?
Let me emphasize that the sound quality in the headphones is excellent,
and I'm very
grateful for all the great work you guys have done on this project. It
rocks bigtime.
Seriously.
Background information below. I don't know what if anything here is
really a bug, so I'm
asking you guys first.
Cheers,
David
Hardware: 0000:00:06.0 Multimedia audio controller: ALi Corporation
M5451 PCI AC-Link
Controller Audio Device (rev 02). The advertizing sheet for the laptop
says "The
exclusive vpr Matrix Sonopur audio system uses 24/192 upsampling to
provide vivid,
lifelike audiophile grade sound you can use with even the highest-end
headphones and
external audio components". The vendor is Best Buy, a US electronics chain.
None of the Linux users were able to figure out how to get this working
until recently
-- it was simply dead. However, by activating IEC958 and turning off the
volume on
IEC958 Playback AC97-SPSA, sound comes through just great. I can't tell
if it's really
upsampling or not, but the quality sounds better than from the built-in
speakers. Once
the values have been set correctly, I can use any player to play music
to the
headphones, but most can't regulate volume and none get the balance control.
Software: I'm currently running the 2.6.6 kernel from Debian sid, so
boot shows
Starting ALSA (version 1.0.4rc2):
ALSA appears to be compiled statically.
Restoring ALSA mixer settings ... done.
alsa-base and alsa-headers are 1.0.5a-1 and alsa-utils 1.0.5-3. In the
kernel I'm using
the modules snd snd_pcm_oss snd_mixer_oss snd-ali5451 snd_ac97_codec snd_pcm
snd_page_alloc snd_timer, which are loaded on boot.
I include the AC97 status and register dump below, along with PCM status.
AC97 status
:~# cat /proc/asound/card0/codec97#0/*
0-0/0: Analog Devices AD1981A
Capabilities : -headphone out-
DAC resolution : 20-bit
ADC resolution : 16-bit
3D enhancement : No 3D Stereo Enhancement
Current setup
Mic gain : +20dB [+20dB]
POP path : pre 3D
Sim. stereo : off
3D enhancement : off
Loudness : off
Mono output : MIX
Mic select : Mic1
ADC/DAC loopback : off
Extended ID : codec=0 rev=1 AMAP DSA=0 SPDIF VRA
Extended status : SPCV SPDIF=3/4 SPDIF VRA
PCM front DAC : 48000Hz
PCM ADC : 48000Hz
SPDIF Control : Consumer PCM Category=0x2 Generation=1 Rate=48kHz
Register dump
AD18XX configuration
Unchained : 0x1000,0x0000,0x0000
Chained : 0x0000,0x0000,0x0000
0:00 = 0090
0:02 = 0505
0:04 = 0000
0:06 = 0000
0:08 = 0000
0:0a = 0000
0:0c = 8000
0:0e = 0040
0:10 = 0101
0:12 = 0000
0:14 = 0000
0:16 = 0808
0:18 = 1010
0:1a = 0101
0:1c = 0b0b
0:1e = 0000
0:20 = 0000
0:22 = 0000
0:24 = 0000
0:26 = 800f
0:28 = 0605
0:2a = 0405
0:2c = bb80
0:2e = 0000
0:30 = 0000
0:32 = bb80
0:34 = 0000
0:36 = 0000
0:38 = 0000
0:3a = 2824
0:3c = 0000
0:3e = 0000
0:40 = 0000
0:42 = 0000
0:44 = 0000
0:46 = 0000
0:48 = 0000
0:4a = 0000
0:4c = 0000
0:4e = 0000
0:50 = 0000
0:52 = 0000
0:54 = 0000
0:56 = 0000
0:58 = 0000
0:5a = 0000
0:5c = 0000
0:5e = 0000
0:60 = 8080
0:62 = 0000
0:64 = 8000
0:66 = 0000
0:68 = 0000
0:6a = 0000
0:6c = 0000
0:6e = 0000
0:70 = 0000
0:72 = 0000
0:74 = 1005
0:76 = 2010
0:78 = 0000
0:7a = 0000
0:7c = 4144
0:7e = 5372
PCM status
:~# cat /proc/asound/card0/pcm0p/sub0/*
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 2048
buffer_size: 16384
tick_time: 1000
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: ALI 5451
name: ALI 5451
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 32
subdevices_avail: 30
64
state: PREPARED
trigger_time: 1091533083.351869000
tstamp : 1091534948.213148000
delay : 0
avail : 16384
avail_max : 2825
-----
hw_ptr : 0
appl_ptr : 0
tstamp_mode: NONE
period_step: 1
sleep_min: 0
avail_min: 2048
xfer_align: 1
start_threshold: 2048
stop_threshold: 16384
silence_threshold: 0
silence_size: 0
boundary: 1073741824
-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-08-03 12:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-03 12:40 IEC958 volume and balance control David Liontooth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.