Subject: port-i386/29842: auich sound card detected but no sound (very very very low) and unable to change with audioctl/mixerctl
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <eau@phear.org>
List: netbsd-bugs
Date: 03/31/2005 00:20:00
>Number:         29842
>Category:       port-i386
>Synopsis:       auich sound card detected but no sound (very very very low) and unable to change with audioctl/mixerctl
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 31 00:20:00 +0000 2005
>Originator:     Eric AUGE
>Release:        2.0.1
>Organization:
-
>Environment:
NetBSD mubutu.no.phear.org 2.0.1 NetBSD 2.0.1 (MUBUTU) #0: Mon Mar 21 09:55:03 CET 2005 root@mubutu.no.phear.org:/usr/src/sys/arch/i386/compile/MUBUTU i386
>Description:
I got some VAIO S1VP laptop running netbsd 2.0,
sound card seems to be correctly detected but no sound (extremly low low low) get out of it (either laptop speakers or headphones output)

auich0 at pci0 dev 31 function 5: i82801DB/DBM (ICH4/ICH4M) AC-97 Audio
auich0: interrupting at irq 9
auich0: ac97: Analog Devices AD1981B codec; headphone, 20 bit DAC, no 3D stereo
auich0: ac97: ext id 601<AC97_22,AMAP,VRA>
auich0: measured ac97 link rate at 48002 Hz, will use 48000 Hz
audio0 at auich0: full duplex, mmap, independent

I already made a post about it, which Tamura Kent answered with this patch for current :

Index: ac97.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/ac97.c,v
retrieving revision 1.65
diff -u -r1.65 ac97.c
--- ac97.c      8 Nov 2004 14:24:17 -0000       1.65
+++ ac97.c      17 Dec 2004 15:18:32 -0000
@@ -980,7 +980,7 @@
        }

        host_if->write(host_if->arg, AC97_REG_RESET, 0);
-       host_if->write(host_if->arg, AC97_REG_POWER, 0);
+       host_if->write(host_if->arg, AC97_REG_POWER, 0x8000);

        if (host_if->flags)
                as->host_flags = host_if->flags(host_if->arg);

I Modified it a bit to fit in my 2.0 (ac97.c 1.52.2.3) :

924         host_if->write(host_if->arg, AC97_REG_RESET, 0);
925         host_if->write(host_if->arg, AC97_REG_POWER, 0x8000);

but still no sound the mixer is at max (255,255 and no mute), but very very very low sound is "hearable" using some external preamplifier and headphones connected to it.

and the normal laptop speaker are just silent, no sound.

http://www.hadess.net/vaio.php3, speak about some amixer settings
additionnaly to the "Inverted EAPD support":
[...]
Sound
Works with the snd-intel8x0 driver, after having disabled the external amplifier:
amixer set 'External Amplifier' mute
A bug has been filed to see this problem fixed in ALSA directly.
[...] 

my auich thread on port-i386 mailing list :
Subject: "auich support weirdness"
http://thread.gmane.org/gmane.os.netbsd.ports.i386/7636



>How-To-Repeat:
just try to play mp3 or movies whatever has sounds in it,
using some VAIO S1VP laptop running NetBSD 2.0

>Fix: