can you post the output of alsa-info.sh ?
Where can I find the script ? I've not it on my machine
http://git.alsa-project.org/?p=alsa-driver.git;a=history;hb=refs/heads/build...
9.337454] ALSA hda_codec.c:4877 autoconfig: line_outs=1
(0x24/0x0/0x0/0x0/0x0) type:speaker [ 9.337458] ALSA hda_codec.c:4881 speaker_outs=0
(0x0/0x0/0x0/0x0/0x0)
[ 9.337460] ALSA hda_codec.c:4885 hp_outs=1 (0x25/0x0/0x0/0x0/0x0) [ 9.337462] ALSA hda_codec.c:4886 mono: mono_out=0x0 [ 9.337464] ALSA hda_codec.c:4889 dig-out=0x2d/0x0 [ 9.337465] ALSA hda_codec.c:4890 inputs: [ 9.337467] ALSA hda_codec.c:4894 Internal Mic=0x29 [ 9.337469] ALSA hda_codec.c:4894 Mic=0x2b
it is the auto parser put the speaker to autocfg->lineout
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=90da78b...
mono pin complex are usually [Fixed] Speaker instead of [Jack] Line Out
Yep, if you look at above, this one was exactly the output before my 2
patches; the only difference
was line 24, marked as type=SPEAKER; no trace of mono pin 0x33. I guess the 0x33 is skipped because the parser don't find a path from it,
as it have a connection to
widget 0x3e with is out of range (widgets are reported to be from 0x08 to
0x0c).
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1045981
Node 0x33 [Pin Complex] wcaps 0x40050c: Mono Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00] Pincap 0x00000010: OUT Pin Default 0x501701f0: [N/A] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x3e
it is ignored by the auto parser because [N/A] instead of [Fixed]
We could also patch the returned widget number to be 2 widgets more, even
id 0x3d is NOT there.
The 0x3e is a stereo to mono mixer, connecting to 0x1c. As above, VT1802p reports to have widgets up to 0x3c.
do widge 0x3e has amp-out for subwoofer volume control ?
should the auto parser put it into autocfg->mono_out?
maybe.... I didn't try that one. With both patches the stuffs appears like a 4 channel one; the correct
would be 2+1, but
I didn't manage to get it right.
Node 0x2b [Pin Complex] wcaps 0x400481: Stereo Control: name="Mic Boost Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Control: name="Mic Jack", index=0, device=0 Pincap 0x00002324: IN Detect Vref caps: HIZ 50 100 Pin Default 0x01a1903e: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x3, Sequence = 0xe
as the mic jack cannot be retasked as output , No need to put hp in lineout
Resuming, without patches, the auto_parser report for asus :
0x24 Line out, type speaker 0x25 Hp out 0x33 is missing
Forcing the connection from 0x33 to 0x1c (skipping so 0x3e) the pin 0x33
don't appear
because bios marks it at none-connection. Forcing the connection to JACK, it puts as a mono speaker, so no sound
from it either.
Forcing to be a line out, sound only from it because then 0x24 takes the
speaker place (marked as speaker in bios).
Forcing both 0x24 and 0x33 to be line out gives 4 channel sound (with 2
rear channels output to 0x33 mono).
No idea on how to get the 2+1 behaviour, but at least now it sounds.
multiout.extra_out seem support multi stereo streams in snd_hda_multi_out_analog_prepare()
for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) if (!mout->no_share_stream && mout->extra_out_nid[i]) snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], stream_tag, 0, format);
how to put those internal speakers into multiout->extra_out in via_auto_create_speaker_ctls() when the auto parser put the speaker into autocfg->lineout ?
only two volume controls at 0x08 and 0x09, there are three pin complexes 0x24, 0x25 and 0x33