Bug 220152
Summary: | Sound Issue on Asus Zephyrus G16 (2025) (GU605CR) – ALC285 / CS35L56 Speakers Extremely Quiet | ||
---|---|---|---|
Product: | Drivers | Reporter: | Nikolaos Karaolidis (nick) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | NEW --- | ||
Severity: | normal | CC: | andreas, nick, patches, richard.fitzgerald, xecho |
Priority: | P3 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 6.14.8 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
dmesg
acpidump alsa-info Experimental SSDT overlay for SPI cs-gpios ALC285_FIXUP |
Created attachment 308167 [details]
acpidump
Created attachment 308168 [details]
alsa-info
I checked with the information we have on this model, and it uses a GPIO for the second SPI CS. It should have a cs-gpios property on the SPI controller to configure this but it is missing. We've had similar problems on some models with CS35L41 and there is a workaround in that driver. However, I am having some trouble getting that workaround to actually work for me. When I have a potential workaround I'll post it here for you to try. If you are willing to try installing a ACPI SSDT you could try the attached gu605c-spi-cs-gpio.asl to see if it fixes the SPI chipselect problem. It must be installed as an initrd: https://docs.kernel.org/admin-guide/acpi/ssdt-overlays.html DISCLAIMER: Use at your own risk. Only do this if you are comfortable with installing SSDT overlays on your laptop. The file gu605c-spi-cs-gpio.asl is experimental - I don't have a GU605CR to test it on so it is based on reverse-engineering the ACPI dump you attached to this ticket. If you do this and it fixes the SPI issue, you might still have quiet speakers. We suspect you may also need the ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1 quirk in sound/pci/hda/patch_realtek.c, like the GU605M. Created attachment 308177 [details]
Experimental SSDT overlay for SPI cs-gpios
Testing on kernel 6.14.8 on NixOS, using the SSDT overlay allowed the speakers/amps to power up and produce clear sound, but I did not have volume control. Adding the following quirk fixes that issue, too: ``` SND_PCI_QUIRK(0x1043, 0x1034, "ASUS GU605C", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1), ``` Let me know if you need more logs or tests before upstreaming, and thanks a lot for the help! :) Created attachment 308178 [details]
ALC285_FIXUP
I've sent the patch for the Realtek quirk: https://lore.kernel.org/linux-sound/20250609102125.63196-1-rf@opensource.cirrus.com/T/#u The SPI issue is a more difficult problem and we're still working on that. Hello, thanks for your good work on this issue. I have the same model and am experiencing the same issue with sound. I applied the SSDT patch and the kernel patch listed in the thread thus far (using kernel version 6.15.1) but I am still having the problem (only tweeters are active, causing the sound to act as if it's going through a very extreme high-pass filter). I believe the SSDT patch was applied correctly, since when I run sudo dmesg | grep -i acpi I get the following relevant output: [ 0.004126] ACPI: SSDT ACPI table found in initrd [kernel/firmware/acpi/605snd.aml][0x97] [ 0.004133] modified: [mem 0x000000005a97d000-0x000000005a97d096] ACPI NVS [ 0.004134] modified: [mem 0x0000000067dc2000-0x0000000067f08fff] ACPI NVS [ 0.004135] modified: [mem 0x0000000067f09000-0x0000000067ffefff] ACPI data Additionally, my output for sudo dmesg | grep -i snd_hda is the following: [ 49.450813] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915]) [ 49.451645] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002) [ 49.452446] snd_hda_intel 0000:01:00.1: Disabling MSI [ 49.452461] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client [ 49.627703] snd_hda_codec_realtek hdaudioC0D0: ALC285: picked fixup for PCI SSID 1043:1034 [ 49.627824] snd_hda_codec_realtek hdaudioC0D0: Found 2 CSC3556 on spi (-%s:00-cs35l56-hda.%d) [ 49.628536] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker [ 49.628541] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 49.628542] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0) [ 49.628543] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 49.628544] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 49.628545] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 [ 49.628545] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x13 [ 49.628546] snd_hda_codec_realtek hdaudioC0D0: Mic=0x19 [ 49.628546] snd_hda_codec_realtek hdaudioC0D0: Mic=0x1b This seems to me to indicate the SSDT patch is applied and active, but I don't know if I should be looking for something else in the output that could indicate otherwise (or give further hints as to what is going wrong). I also don't know if the following is relevant, but here it is just in case: I am applying the SSDT patch by putting the resulting .cpio file (with the correct file hierarchy: kernel/firmware/acpi/605snd.aml) in /boot, and pointing to it in /etc/default/grub via the config line: GRUB_EARLY_INITRD_LINUX_CUSTOM="605snd.cpio" (I ran update-grub and confirmed the config was reflected in /boot/grub/grub.cfg). I am running PipeWire + WirePlumber, and I'm booting from an EFI stub + initramfs generated by dracut. Any help with this would be very much appreciated; I am open to giving any further info that would be necessary, or trying out experimental patches. Thank you! |
Created attachment 308166 [details] dmesg I'm testing Linux (kernel 6.14.8) on the 2025 Asus Zephyrus G16 (GU605CR), which uses a Realtek ALC285 codec paired with two Cirrus Logic CS35L56 amps. The speakers are recognized and do output sound, but volume is extremely low - even at 100%. Headphones over 3.5mm work fine. Based on `dmesg`, the CS35L56 are detected and firmware loads, but there are some errors related to SPI device instantiation. ``` [ 9.820555] cs35l56-hda spi0-CSC3556:00-cs35l56-hda.0: DSP system name: '10431034-spkid1', amp name: 'AMP1' [ 9.821829] pxa2xx-spi pxa2xx-spi.3: cs1 >= max 1 [ 9.822074] spi_master spi0: error -EINVAL: failed to add SPI device CSC3556:00 from ACPI [ 9.829055] Serial bus multi instantiate pseudo device driver CSC3556:00: probe with driver Serial bus multi instantiate pseudo device driver failed with error -22 ``` I’m happy to test patches or provide additional logs. Let me know what would be most helpful for debugging this. Thanks!