On 3/5/23 13:36, Peter Hessler wrote:
On 2023 Mar 05 (Sun) at 09:03:01 +0100 (+0100), Alexandre Ratchov wrote:
:On Sat, Mar 04, 2023 at 04:12:22PM +0100, Andreas Bartelt wrote:
:> On 2/27/23 6:41 PM, Andreas Bartelt wrote:
:> > On 2/27/23 2:40 PM, Alexandre Ratchov wrote:
:> > > On Sat, Feb 25, 2023 at 05:20:53PM +0100, Andreas Bartelt wrote:
:> > > > Hi,
:> > > >
:> > > > I've tested a recent OpenBSD snapshot of CURRENT on an ASUS ProArt
:> > > > X670E-CREATOR WIFI mainboard. According to the information
:> > > > provided by ASUS,
:> > > > this mainboard features a "Realtek S1220A CODEC" which attaches
:> > > > as Realtek
:> > > > ALC1220 on OpenBSD -- however, audio output (tested with
:> > > > headphones on the
:> > > > line out connector) doesn't work there yet. Applications (e.g.,
mplayer,
:> > > > mpg123) hang and I can hear no sound.
:> > > >
:> > > > [I don't know if this helps but I previously also had access to
:> > > > an ASUS ROG
:> > > > STRIX B550-E GAMING mainboard which, according to ASUS, also features
an
:> > > > S1220A CODEC which also attaches as Realtek ALC1220 on OpenBSD -- audio
:> > > > output (tested on the line out connector) works there without
problems.]
:> > > >
:> > > > In order to verify that the new mainboard doesn't have a physical
defect
:> > > > with regard to the line out audio connector, I've also tested a
:> > > > FreeBSD 13.2
:> > > > BETA3 snapshot on the ASUS ProArt X670E-CREATOR WIFI mainboard.
:> > > > Audio output
:> > > > worked there out-of-the-box, so this might be a fixable problem
:> > > > on OpenBSD.
:> > > >
:> > > > I've found some info with regard to audio debugging at
:> > > > https://www.openbsd.org/faq/faq13.html#audioprob . While running
:> > > > # cat > /dev/audio0 < /dev/zero
:> > > > play.bytes doesn't increase at all:
:> > > > # audioctl play.{bytes,errors}
:> > > > play.bytes=0
:> > > > play.errors=0
:> > > >
:> > >
:> > > mixerctl shows that the host manages communicate with the codec, but
:> > > above lines suggest that DMA doesn't start. Could you check if there
:> > > are any audio-related options in the BIOS? Especially, if there's an
:> > > option to disable the microphone (or "recording" or alike), please
:> > > enable it.
:> >
:> > There's no microphone or recording specific options available. I could
:> > only identify a single audio related configuration option. Under
:> > Advanced\Onboard Devices Configuration: enable/disable "HD Audio
:> > Controller" (description says Enable/Disable Azalia HD Audio). It does
:> > exactly that, i.e., disabling this option removes the azalia1 device
:> > from OpenBSD's dmesg.
:> >
:> > With this option enabled again, mp3 playback works with FreeBSD but
:> > hangs with OpenBSD -- same BIOS config.
:> >
:>
:> I've made audio work on the ASUS ProArt X670E-CREATOR WIFI mainboard, simply
:> by enabling msi.
:>
:> azalia1 at pci21 dev 0 function 6 "AMD 17h/1xh HD Audio" rev 0x00: msi
:> azalia1: codecs: Realtek ALC1220
:> audio0 at azalia1
:>
:> The following diff fixes the problem:
:> Index: src/sys/dev/pci/azalia.c
:> ===================================================================
:> RCS file: /cvs/src/sys/dev/pci/azalia.c,v
:> retrieving revision 1.283
:> diff -u -p -r1.283 azalia.c
:> --- src/sys/dev/pci/azalia.c 21 Feb 2023 13:42:59 -0000 1.283
:> +++ src/sys/dev/pci/azalia.c 4 Mar 2023 15:02:31 -0000
:> @@ -554,7 +554,6 @@ azalia_pci_attach(struct device *parent,
:> if (PCI_VENDOR(sc->pciid) == PCI_VENDOR_AMD) {
:> switch (PCI_PRODUCT(sc->pciid)) {
:> case PCI_PRODUCT_AMD_17_HDA:
:> - case PCI_PRODUCT_AMD_17_1X_HDA:
:> case PCI_PRODUCT_AMD_HUDSON2_HDA:
:> pa->pa_flags &= ~PCI_FLAGS_MSI_ENABLED;
:> }
:>
:> OK?
:>
:
:IIRC MSI was disabled to fix lock ups. Please run with your diff for
:few days and pay attention on lock ups that require a reboot of the
:system to get audio working again.
:
:I've forwarded your mail to tech@ to try to reach other users
:of AMD 17h/1xh HDA.
:
After running with this patch for an hour, my audio locked up. It
started looping, then all programs that want to run audio hang for a few
seconds, then continue playing but without any audio.
Restarting sndiod doesn't help, and I have to reboot to get my audio back.
Thanks for testing this.
On my system, audio playback worked without problems for multiple hours
distributed over multiple sessions. Unfortunately, today, I've also
encountered the same audio lock up problem after ~6 hours of audio
playback. Restarting sndiod didn't help but audio was working again
after reboot.
For the time being, I'll keep this patch on my system since it at least
makes audio work at all.
I'd be happy to test patches in case someone has an idea how audio could
be reliably enabled on the ASUS ProArt X670E-CREATOR WIFI (i.e., without
msi).