Bug 217550

Summary: [ALC294][Asus Ally] Audio not working
Product: Drivers Reporter: Matthew (ruinairas1992)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: NEEDINFO ---    
Severity: normal CC: mpagano, tiwai
Priority: P3    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg
6.4 RC6 dmesg
RtHDump from Windows
RtHDDump from Windows with headphones
Linux codec dump
Linux codec dump with headphones
DSDT

Description Matthew 2023-06-14 04:13:20 UTC
The newly released Asus Ally uses the ALC294 and is currently not working or is not supported on Linux. I get this from my dmesg output.

    7.298197] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC294: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    7.298200] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    7.298201] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    7.298202] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0

This is my first time reporting on new hardware when it comes to audio so I'll be happy to assist with this given the proper guidance to do so. I saw that other Asus devices have quirks that can get the sound working and I've tried the values others used and it did not work.
Comment 1 Artem S. Tashkinov 2023-06-14 09:31:29 UTC
Please confirm that this is still an issue with 6.4-rc5.

If it is, please attach alsa-info.sh output.
Comment 2 Takashi Iwai 2023-06-14 11:14:59 UTC
Also, please elaborate what is the exact problem.  "Audio not working" doesn't say anything useful.  Please list up what you've tested, what worked as expected and what not.
Comment 3 Matthew 2023-06-14 13:22:01 UTC
(In reply to Takashi Iwai from comment #2)
> Also, please elaborate what is the exact problem.  "Audio not working"
> doesn't say anything useful.  Please list up what you've tested, what worked
> as expected and what not.

Ah, sorry. So the devices for the audio show up in Gnome and in Steam's gamepadui mode and there is no audio output. I'm getting a reading from the mic because I see activity when I'm talking in the sound settings.

I upgraded to 6.4 RC6 kernel and there is no difference.

I ran the alsa-info script and had it upload the results here http://alsa-project.org/db/?f=72fac7a736a5d4709545b119bbde5254ed1f168b

I see this in the dmesg as well,

Error: ACPI _DSD Properties are missing for HID CSC3551.

To elaborate:

- Audio devices show but there is no sound
- Mic appears to be working
- Headset is not tested using Aux port. (I have Type C USB Pixel Buds that work, but I'm not sure if that counts)
Comment 4 Matthew 2023-06-14 13:22:41 UTC
Created attachment 304421 [details]
dmesg
Comment 5 Matthew 2023-06-14 13:24:39 UTC
Created attachment 304422 [details]
6.4 RC6 dmesg
Comment 6 Takashi Iwai 2023-06-14 13:29:19 UTC
The ACPI CSC3551 _DSD error implies that it's a BIOS problem, and typically found on ASUS devices.

BIOS has to provide a proper entry for initializing the speaker amplifier, and without that info, CS35L41 sub-codec driver skips the initialization.

You can try to override the ACPI table manually, but it's all at your own risk.

If you have an analog headset connection, try with it at first.  I guess this will work.
Comment 7 Takashi Iwai 2023-06-14 13:38:20 UTC
... and yet, we may need the HD-audio quirk to bind with CS35L41 codec, too.
But it requires the BIOS fix at first.
Comment 8 Matthew 2023-06-14 13:40:44 UTC
(In reply to Takashi Iwai from comment #6)
> The ACPI CSC3551 _DSD error implies that it's a BIOS problem, and typically
> found on ASUS devices.
> 
> BIOS has to provide a proper entry for initializing the speaker amplifier,
> and without that info, CS35L41 sub-codec driver skips the initialization.
> 
> You can try to override the ACPI table manually, but it's all at your own
> risk.
> 
> If you have an analog headset connection, try with it at first.  I guess
> this will work.

I'm not afraid of DSDT overrides I've had to do this before on Aya Products. Also, I found some 3.5mm headphones and plugged them in and the audio works.

If I need to install Windows to get any needed information I'm willing to do this.

Before installing ChimeraOS I dumped all the OEM drivers and uploaded them to GD as well just in case they were useful in any way.
Comment 9 Matthew 2023-06-15 00:10:11 UTC
Created attachment 304425 [details]
RtHDump from Windows

Headphones disconnected during this dump
Comment 10 Matthew 2023-06-15 00:11:02 UTC
Created attachment 304426 [details]
RtHDDump from Windows with headphones

Dump with headphones connected.
Comment 11 Matthew 2023-06-15 00:13:06 UTC
Created attachment 304427 [details]
Linux codec dump

Dump without headphones connected using Linux.
Comment 12 Matthew 2023-06-15 00:15:11 UTC
Created attachment 304428 [details]
Linux codec dump with headphones

Dump with headphones connected using Linux
Comment 13 Matthew 2023-06-15 02:36:20 UTC
Created attachment 304430 [details]
DSDT

Asus has a missing _DSD table for the Cirrus amp.