thesofproject / linux

Linux kernel source tree
Other
90 stars 129 forks source link

No sound with speakers but have with headphones : Laptop MSI Thin GF63 12UDX #4986

Open camzilla1050 opened 5 months ago

camzilla1050 commented 5 months ago

Hi, I'have no sound with speakers. Same issue like in this report:https://lore.kernel.org/lkml/20231223234430.GA11359@merlins.org/T/. It happen upgrading to 6.6.26-1-MANJARO. Initilally it works fine in 6.6.25.1. I and tryed downgrading my system it worked but now it doesn't work again. I'm stuck, if somone have an idea.. Tnx.

Here my laptop and system descriptions:

$ inxi -Fazy
 Kernel: 6.6.25-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    ...
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 info: frameworks
    v: 5.115.0 wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: Micro-Star product: Thin GF63 12UDX v: REV:1.0
...
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio vendor: Micro-Star MSI
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:51c8 class-ID: 0401
  Device-2: NVIDIA vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
    pcie: gen: 4 speed: 16 GT/s lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:2291 class-ID: 0403
  API: ALSA v: k6.6.25-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.3 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
$ cat '/proc/asound/card1/codec#0'                                                                                                                                           1 ✘ 
Codec: Realtek ALC256
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0256
Subsystem Id: 0x146213b6
Revision Id: 0x100002
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=3, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x43 0x43]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
$ sudo dmesg | grep pci-intel-tgl
[   14.243055] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[   14.243172] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   14.243183] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[   14.243412] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[   14.243499] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   14.249945] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[   14.278628] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[   14.278631] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   14.278634] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[   14.281349] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   14.281351] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[   14.281354] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[   14.375565] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[   14.375585] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[   14.399489] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
plbossart commented 5 months ago

This looks like a classic codec configuration issue. You will first need to disable SOF to see if the snd-hda-intel driver deals with the speakers, see https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html#disable-sof-on-pci-hdaudio-devices-to-test-audio-playback

camzilla1050 commented 4 months ago

Tnx. I reactivate ME on bios such purposed on link ... but I tryed by myself to switch "sof-hda-dsp" to default card in alsa.conf without save a copy and now this alsa.conf seems corrupted:

$  sudo systemctl status alsa-restore.service                                                                                                                                   ✔ 
● alsa-restore.service - Save/Restore Sound Card State
     Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static)
     Active: active (exited) since Fri 2024-05-10 12:35:43 CEST; 16min ago
   Main PID: 637 (code=exited, status=0/SUCCESS)
        CPU: 11ms

mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:2012:(_snd_config_load_with_include) _toplevel_:483:17:Unexpected char
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:4639:(snd_config_update_r) /usr/share/alsa/alsa.conf may be old or corrupted: consider to remove or fix it
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib parser.c:2830:(uc_mgr_import_master_config) card 'hw:1' is not valid
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -22
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:2012:(_snd_config_load_with_include) _toplevel_:483:17:Unexpected char
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:4639:(snd_config_update_r) /usr/share/alsa/alsa.conf may be old or corrupted: consider to remove or fix it
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:2012:(_snd_config_load_with_include) _toplevel_:483:17:Unexpected char
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: alsa-lib conf.c:4639:(snd_config_update_r) /usr/share/alsa/alsa.conf may be old or corrupted: consider to remove or fix it
mai 10 12:35:43 mnj1-thingf6312udx alsactl[637]: /usr/bin/alsactl: set_controls:1502: snd_ctl_open error: Invalid argument
mai 10 12:35:43 mnj1-thingf6312udx systemd[1]: Finished Save/Restore Sound Card State.
plbossart commented 4 months ago

"switch "sof-hda-dsp" to default card in alsa.conf "

That's not needed or even desired... The only way to switch is with options snd-intel-dspcfg dsp_driver=1

use your package manager to restore that file, e.g. with

$ dpkg -S /usr/share/alsa/alsa.conf
libasound2-data: /usr/share/alsa/alsa.conf
plbossart commented 4 months ago

FYI the ME is required indeed as it's used for the DSP firmware authentication, see https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html#make-sure-the-me-is-enabled