Bug 217550 - [ALC294][Asus Ally] Audio not working
Summary: [ALC294][Asus Ally] Audio not working
Status: NEEDINFO
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-14 04:13 UTC by Matthew
Modified: 2023-07-11 18:27 UTC (History)
2 users (show)

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg (92.67 KB, text/plain)
2023-06-14 13:22 UTC, Matthew
Details
6.4 RC6 dmesg (91.82 KB, text/plain)
2023-06-14 13:24 UTC, Matthew
Details
RtHDump from Windows (1.38 MB, text/plain)
2023-06-15 00:10 UTC, Matthew
Details
RtHDDump from Windows with headphones (1.53 MB, text/plain)
2023-06-15 00:11 UTC, Matthew
Details
Linux codec dump (10.92 KB, text/plain)
2023-06-15 00:13 UTC, Matthew
Details
Linux codec dump with headphones (10.92 KB, text/plain)
2023-06-15 00:15 UTC, Matthew
Details
DSDT (533.64 KB, text/x-csrc)
2023-06-15 02:36 UTC, Matthew
Details

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.

Note You need to log in before you can comment on or make changes to this bug.