I have tried the patch on clean (unpatched) patch_via.c. dmesg prints out ***PATCH 08/07/10 as expected, but the surround does not work. Surround and cen/lfe controls are also not created for alsamixer without other patches. What does work is specifying -Dsurround40 for speaker-test but there is no sound from rear speakers. If you want, I can post the whole patched patch_via.c somewhere or we can work on new patches starting with this one.
On Thu, 08 Jul 2010 08:33:34 +0200, Clemens Ladisch clemens@ladisch.de wrote:
Viliam Kubis wrote:
Hello, for quite some time the "Smart 5.1" function in alsa is not working properly when motherboard has only 3 audio jacks.
speaker-test -c 4 -t wav -Dsurround40
Channels count (4) not available for playbacks: Invalid argument
Please try the patch below.
(This function uses 0x12 and 0x13 as the NIDs for the center/LFE and side DACs. Shouldn't these be 0x24 and 0x25, as per the datasheet?)
--- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c @@ -2265,6 +2265,13 @@ static int vt1708_auto_fill_dac_nids(str } }
- /* for Smart 5.1, line/mic inputs double as output pins */
- if (cfg->line_outs == 1) {
spec->multiout.num_dacs = 3;
spec->multiout.dac_nids[AUTO_SEQ_SURROUND] = 0x11;
spec->multiout.dac_nids[AUTO_SEQ_CENLFE] = 0x12;
- }
- return 0;
}