linux icon indicating copy to clipboard operation
linux copied to clipboard

[Meteor Lake + Realtek ALC298? Samsung NP960XGK] Internal speakers silent on SOF; HDMI audio works

Open yamm1flux opened this issue 1 month ago • 6 comments

On Samsung Galaxy Book4 Pro (NP960XGK) with Meteor Lake-P HD Audio Controller and Realtek codec, PipeWire exposes Speaker/HDMI sinks under SOF, microphones work, HDMI audio works, but internal speakers are silent. ALSA mixers are unmuted, Auto-Mute disabled, and trying EAPD/pin widget enable via hda-verb does not restore speaker output. Legacy HDA (with SOF disabled) is untested/partial; HDMI is used as a workaround. Regression not confirmed; persists on latest Fedora kernel as of [date].

Hardware:

Laptop: Samsung Galaxy Book4 Pro 16 (NP960XGK) [adjust if different] CPU/Platform: Intel Meteor Lake-P Audio: Meteor Lake-P HD Audio Controller + Realtek codec (likely ALC298 family) Display/audio over HDMI: working Software:

Distro: Fedora 42 Kernel: uname -a: [paste] SOF firmware/topology: sof-logger -l /lib/firmware/intel/sof/ or sof-info output [see “Data to attach”] PipeWire: 1.4.9 WirePlumber: 1.4.9 ALSA utils: 1.2.14 Observed behavior:

wpctl status shows Speaker and HDMI sinks; selecting Speaker produces no sound in any app. HDMI sink plays audio normally. ALSA controls: Auto-Mute Mode: Disabled Speaker: 100% unmuted hda-verb attempts: hda-verb /dev/snd/hwC0D0 0x17 SET_EAPD_BTLENABLE 0x02 -> value=0x0 hda-verb /dev/snd/hwC0D0 0x21 SET_EAPD_BTLENABLE 0x02 -> value=0x0 hda-verb /dev/snd/hwC0D0 0x17 SET_PIN_WIDGET_CONTROL 0x40 -> value=0x0 No audio output afterward. speaker-test plays (no errors), but no audible output from speakers. Expected behavior:

Internal “Speaker” sink should produce sound. Steps to reproduce:

Boot Fedora 42 on Samsung NP960XGK with default SOF stack. Ensure card profile: pactl set-card-profile "HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)" Set default sink to Speaker and unmute: wpctl set-default <Speaker sink ID> wpctl set-mute <Speaker sink ID> 0 wpctl set-volume <Speaker sink ID> 1.0 Confirm ALSA mixers: amixer -c 0 set 'Auto-Mute Mode' Disabled amixer -c 0 set 'Speaker' 100% unmute Play test tone: speaker-test -D default -c 2 -t sine -f 440 -l 1 Observe: no sound from internal speakers; HDMI works if selected. Notes:

PipeWire previously showed only “Dummy Output” until card profile was reapplied; current kernels expose proper sinks. Looks like a SOF topology/codec-init quirk for this Samsung model—likely missing EAPD/amp enable or GPIO amp control in the topology/quirks. Willing to test patches or debug builds.

yamm1flux avatar Dec 17 '25 03:12 yamm1flux

daha@gamora:~$ sudo dmidecode | egrep -i 'product name|system product|system version|bios version|bios release|board name|manufacturer' [sudo] password for daha: Manufacturer: SAMSUNG ELECTRONICS CO., LTD. Product Name: 960XGK Manufacturer: SAMSUNG ELECTRONICS CO., LTD. Product Name: NP960XGK-KG5HK Manufacturer: SAMSUNG ELECTRONICS CO., LTD. Manufacturer: SAMSUNG ELECTRONICS CO., LTD. Manufacturer: Default string Manufacturer: INTEL Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Samsung Module Manufacturer ID: Bank 1, Hex 0xCE Memory Subsystem Controller Manufacturer ID: Unknown Manufacturer: Intel(R) Corporation daha@gamora:~$ uname -a Linux gamora 6.17.11-200.fc42.x86_64 thesofproject/sof#1 SMP PREEMPT_DYNAMIC Tue Dec 9 00:25:56 UTC 2025 x86_64 GNU/Linux daha@gamora:~$

yamm1flux avatar Dec 17 '25 03:12 yamm1flux

daha@gamora:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 () [] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog () [] Subdevices: 1/1 Subdevice #0: subdevice #0 daha@gamora:~$ arecord -l **** List of CAPTURE Hardware Devices **** card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC Raw () [] Subdevices: 1/1 Subdevice #0: subdevice #0 daha@gamora:~$ cat /proc/asound/cards 0 [sofhdadsp ]: sof-hda-dsp - sof-hda-dsp SAMSUNGELECTRONICSCO.LTD.-960XGK-P10RHA-NP960XGK_KG5HK daha@gamora:~$ sudo cat /proc/asound/card0/codec#0 2>/dev/null || sudo cat /proc/asound/card0/codec* 2>/dev/null Codec: Realtek ALC298 Address: 0 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x10ec0298 Subsystem Id: 0x144dc890 Revision Id: 0x100103 No Modem Function Group found Default PCM: rates [0x60]: 44100 48000 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=8, 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 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out Control: name="Headphone Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x01, mute=0 Amp-Out vals: [0x7f 0x7f] Converter: stream=0, channel=0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x03 [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=0x7f, nsteps=0x7f, stepsize=0x01, mute=0 Amp-Out vals: [0x7f 0x7f] Converter: stream=0, channel=0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x06 [Audio Output] wcaps 0x411: Stereo Converter: stream=0, channel=0 PCM: rates [0x40]: 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In Control: name="Capture Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Control: name="Capture Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Amp-In caps: ofs=0x43, nsteps=0x7f, stepsize=0x01, mute=1 Amp-In vals: [0x7f 0x7f] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x23 Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In Amp-In caps: ofs=0x43, nsteps=0x7f, stepsize=0x01, mute=1 Amp-In vals: [0xc3 0xc3] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x22 Node 0x0a [Audio Input] wcaps 0x100511: Stereo Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x40]: 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x25 Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Control: name="Mic Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Control: name="Mic Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x9c 0x9c] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 4 0x18 0x19 0x1a 0x1d Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] Connection: 2 0x02 0x0b Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] Connection: 1 0x03 Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x11 [Audio Input] wcaps 0x10051b: Stereo Amp-In Amp-In caps: ofs=0x43, nsteps=0x7f, stepsize=0x01, mute=1 Amp-In vals: [0xc3 0xc3] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x24 Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x40000000: [N/A] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0x0 Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x14 [Pin Complex] wcaps 0x40050d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x00010010: OUT EAPD EAPD 0x2: EAPD Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 2 0x0c 0x0d Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out Control: name="Speaker Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0001001c: OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 3 0x0c 0x0d* 0x06 Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Control: name="Mic Boost Volume", index=0, device=0 ControlAmp: chs=3, dir=In, idx=0, ofs=0 Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x03 0x03] Pincap 0x00003724: IN Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x04a11020: [Jack] Mic at Ext Right Conn = 1/8, Color = Black DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=02, enabled=1 Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Pincap 0x00003724: IN Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0001373c: IN OUT HP EAPD Detect Vref caps: HIZ 50 GRD 80 100 EAPD 0x2: EAPD Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 2 0x0c* 0x0d Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1d [Pin Complex] wcaps 0x400400: Mono Pincap 0x00000020: IN Pin Default 0x40630245: [N/A] Modem Line at Ext N/A Conn = ATAPI, Color = Unknown DefAssociation = 0x4, Sequence = 0x5 Pin-ctls: 0x20: IN Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x1e [Pin Complex] wcaps 0x400501: Stereo Pincap 0x00000014: OUT Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 1 0x06 Node 0x1f [Pin Complex] wcaps 0x400401: Stereo Pincap 0x00000024: IN Detect Pin Default 0x411111f0: [N/A] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono Processing caps: benign=0, ncoeff=150 Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out Control: name="Headphone Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000001c: OUT HP Detect Pin Default 0x04211050: [Jack] HP Out at Ext Right Conn = 1/8, Color = Black DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP Unsolicited: tag=01, enabled=1 Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Connection: 2 0x0c* 0x0d Node 0x22 [Audio Selector] wcaps 0x300101: Stereo Connection: 6 0x18* 0x19 0x1a 0x1d 0x0b 0x12 Node 0x23 [Audio Selector] wcaps 0x300101: Stereo Connection: 6 0x18* 0x19 0x1a 0x1d 0x0b 0x13 Node 0x24 [Audio Selector] wcaps 0x300101: Stereo Connection: 2 0x12* 0x13 Node 0x25 [Audio Selector] wcaps 0x300101: Stereo Connection: 1 0x1f daha@gamora:~$

yamm1flux avatar Dec 17 '25 03:12 yamm1flux

@shumingfan could this be a missing HDA verb ?

lgirdwood avatar Dec 17 '25 16:12 lgirdwood

@KailangYang Do you have any idea?

shumingfan avatar Dec 23 '25 09:12 shumingfan

Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out Control: name="Speaker Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0001001c: OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT

This platform also has speaker Amp. It's not own by Realtek. Please report to Samsung or Amp vendor directly.

KailangYang avatar Dec 24 '25 02:12 KailangYang