No sound from speakers on Samsung Book4 360 Pro

Hi there! I’ve been a long-time lurker and created my account for this post since I’ve been stuck on this problem for weeks now. It’s my first time installing Manjaro myself (been using it for years when a friend installed it but i got a new laptop after my old one gave out).

When first installing, even in the usb live-boot, I had no sound. running aplay -l I could see that alse detects my soundcard correctly, but using pavucontrol, it said “no cards available for configuration” and the output and input devices were dummy output and input.

After looking online for a bit, i found this tutorial on the forum. I had some issues running the ionsound.service, but when changing the shebang from #!/bin/bash to #!/bin/sh, systemctl status told me the exit status was 0, so as far as i know, everything is executed correctly. When I now open pavucontrol, everything seems correct:

  • I can select profiles in the configuration tab
  • correct output and input devices are listed
  • when playing a video on youtube, it no longer stops (because the audio used to be unable to go anywhere)
  • when looking at the speaker device, i can see the volume bar moving when playing a video, representing sound
  • the input device’s volume bar goes up and down, responding to sound

In amixer the correct card is selected and the volume on every bar is up, not exceeding 0dB gain, as stated in the afformentioned tutorial.

When I connect my headphones via bluetooth, using blueman-manager, I get audio though, so at least that isn’t broken.

Below is some output that might be relevant:

aplay:

[boterham@toast ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 0/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: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

pulseaudio.service status:

[boterham@toast ~]$ systemctl --user status pulseaudio.service
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; preset: enabled)
     Active: active (running) since Wed 2024-05-08 17:51:47 CEST; 38min ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 2233 (pulseaudio)
      Tasks: 12 (limit: 18649)
     Memory: 21.5M (peak: 23.5M)
        CPU: 3min 7.652s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             ├─2233 /usr/bin/pulseaudio --daemonize=no --log-target=journal
             └─2251 /usr/lib/pulse/gsettings-helper

May 08 17:51:46 toast systemd[2018]: Starting Sound Service...
May 08 17:51:47 toast systemd[2018]: Started Sound Service.
May 08 17:56:40 toast pulseaudio[2233]: [70B blob data]
May 08 17:56:41 toast pulseaudio[2233]: Battery Level: 70%

ionsound and ionsounsleep statuses from the tutorial:

[boterham@toast ~]$ systemctl status ionsound.service ionsoundsleep.service
○ ionsound.service - Custom Sound
     Loaded: loaded (/etc/systemd/system/ionsound.service; enabled; preset: disabled)
     Active: inactive (dead) since Wed 2024-05-08 17:49:31 CEST; 41min ago
   Duration: 8.562s
    Process: 670 ExecStart=/home/boterham/scripts/T0912.sh (code=exited, status=0/SUCCESS)
   Main PID: 670 (code=exited, status=0/SUCCESS)
        CPU: 3.304s

May 08 17:49:31 toast T0912.sh[2004]: nid = 0x20, verb = 0xc00, param = 0x0
May 08 17:49:31 toast T0912.sh[2004]: value = 0x7418
May 08 17:49:31 toast sudo[2002]: pam_unix(sudo:session): session closed for user root
May 08 17:49:31 toast sudo[2005]:     root : PWD=/ ; USER=root ; COMMAND=/usr/bin/hda-verb /dev/snd/hwC0D0 0x20 0x500 0x11
May 08 17:49:31 toast sudo[2005]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
May 08 17:49:31 toast T0912.sh[2007]: nid = 0x20, verb = 0x500, param = 0x11
May 08 17:49:31 toast T0912.sh[2007]: value = 0x0
May 08 17:49:31 toast sudo[2005]: pam_unix(sudo:session): session closed for user root
May 08 17:49:31 toast systemd[1]: ionsound.service: Deactivated successfully.
May 08 17:49:31 toast systemd[1]: ionsound.service: Consumed 3.304s CPU time.

○ ionsoundsleep.service - Custom Sound Sleep Fix
     Loaded: loaded (/etc/systemd/system/ionsoundsleep.service; enabled; preset: disabled)
     Active: inactive (dead)

alsa-info.sh output: output

Any help is greatly appreciated since exams are coming up and I really need audio for online exams (otherwise I have to boot into Windows :frowning:)

Hi @boterham
I have no such a device and perhaps overlooked something.
Check this

which hardware ? drivers installed ? please provide us with the informations of the mandatory inxi-infos first

inxi --admin --verbosity=7 --filter --no-host --width

apologies for not providing this first, I put some of this info in my rpofile but apparently that doesn’t show while posting.

The output of the provided command:

[boterham@toast ~]$ inxi --adminxi --admin --verbosity=7 --filter --no-host --width
System:
  Kernel: 6.6.26-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
    root=UUID=0c525cd5-4975-457a-80fe-cee334fd6785 rw quiet apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: i3 v: 4.23 with: i3bar tools: xautolock avail: i3lock vt: 7
    dm: LightDM v: 1.32.0 Distro: Manjaro base: Arch Linux
Machine:
  Type: Convertible System: SAMSUNG product: 960QGK v: P07RHB
    serial: <superuser required> Chassis: type: 31 serial: <superuser required>
  Mobo: SAMSUNG model: NP960QGK-KG2BE v: SGLB595A0W-C01-G001-S0006+10.0.22631
    serial: <superuser required> part-nu: SCAI-PROT-A5A5-MTLH-PRHB
    uuid: <superuser required> UEFI: American Megatrends LLC.
    v: P07RHB.270.240105.03 date: 01/05/2024
Battery:
  ID-1: BAT1 charge: 60.8 Wh (80.0%) condition: 76.0/73.8 Wh (102.9%)
    volts: 17.2 min: 15.5 model: SAMSUNG Electronics SR Real Battery type: Li-ion
    serial: <filter> status: charging cycles: 24
Memory:
  System RAM: total: 16 GiB available: 15.2 GiB used: 4.2 GiB (27.6%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 16 GiB slots: 8 modules: 8 EC: None
    max-module-size: 2 GiB note: est.
  Device-1: Controller0-ChannelA type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-2: Controller0-ChannelB type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-3: Controller0-ChannelC type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-4: Controller0-ChannelD type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-5: Controller1-ChannelA type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-6: Controller1-ChannelB type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-7: Controller1-ChannelC type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
  Device-8: Controller1-ChannelD type: LPDDR5 detail: synchronous size: 2 GiB
    speed: 7467 MT/s volts: curr: 0.5 min: 0.5 max: 0.5 width (bits): data: 16
    total: 16 manufacturer: Samsung part-no: K3KL8L80CM-MGCT serial: N/A
CPU:
  Info: model: Intel Core Ultra 7 155H bits: 64 type: MST AMCP
    arch: Meteor Lake level: v3 note: check built: 2023+ process: Intel 4 (7nm)
    family: 6 model-id: 0xAA (170) stepping: 4 microcode: 0x1A
  Topology: cpus: 1x cores: 16 mt: 6 tpc: 2 st: 10 threads: 22 smt: enabled
    cache: 24 MiB note: check
  Speed (MHz): avg: 400 min/max: 400/4800:4500:3800:2500 scaling:
    driver: intel_pstate governor: powersave cores: 1: 400 2: 400 3: 400 4: 400
    5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400 13: 400 14: 400
    15: 400 16: 400 17: 400 18: 400 19: 400 20: 400 21: 400 22: 400
    bogomips: 131824
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_lbr arch_perfmon art avx avx2 avx_vnni bmi1 bmi2
    bts bus_lock_detect clflush clflushopt clwb cmov constant_tsc cpuid
    cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est
    f16c flexpriority flush_l1d fma fpu fsgsbase fsrm fxsr gfni hfi ht hwp
    hwp_act_window hwp_epp hwp_notify hwp_pkg_req ibpb ibrs ibrs_enhanced ibt
    ida intel_pt invpcid lahf_lm lm mca mce md_clear mmx monitor movbe
    movdir64b movdiri msr mtrr nonstop_tsc nopl nx ospke pae pat pbe pcid
    pclmulqdq pdcm pdpe1gb pebs pge pku pln pni popcnt pse pse36 pts rdpid
    rdrand rdseed rdtscp rep_good sdbg sep serialize sha_ni smap smep smx
    split_lock_detect ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm
    tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer tsc_known_freq umip
    user_shstk vaes vme vmx vnmi vpclmulqdq vpid waitpkg x2apic xgetbv1 xsave
    xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional;
    RSB filling; PBRSB-eIBRS: Not affected; BHI: BHI_DIS_S
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] vendor: Samsung Co
    driver: i915 v: kernel arch: Gen-13 process: Intel 4 (7nm+) built: 2023+
    ports: active: eDP-1 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:7d55 class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.12 compositor: Picom v: git-e5210
    driver: X: loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2880x1800 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: Samsung 0x4187 built: 2023 res: 2880x1800 hz: 120
    dpi: 213 gamma: 1.2 size: 344x215mm (13.54x8.46") diag: 406mm (16")
    ratio: 16:10 modes: 2880x1800
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.0.2-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel Arc Graphics (MTL)
    device-ID: 8086:7d55 memory: 14.84 GiB unified: yes
Audio:
  Device-1: Intel vendor: Samsung Co driver: N/A bus-ID: 00:05.0
    chip-ID: 8086:7d19 class-ID: 0480
  Device-2: Intel Meteor Lake-P HD Audio vendor: Samsung Co
    driver: sof-audio-pci-intel-mtl
    alternate: snd_hda_intel,snd_sof_pci_intel_mtl bus-ID: 00:1f.3
    chip-ID: 8086:7e28 class-ID: 0401
  API: ALSA v: k6.6.26-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: PulseAudio v: 17.0 status: active with: 1: pulseaudio-alsa
    type: plugin 2: pulseaudio-jack type: module
    tools: pacat,pactl,pavucontrol,pulsemixer
Network:
  Device-1: Intel driver: iwlwifi v: kernel port: N/A bus-ID: 00:14.3
    chip-ID: 8086:7e40 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  WAN IP: <filter>
Bluetooth:
  Device-1: Intel AX211 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:3 chip-ID: 8087:0033
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 status: discoverable: no pairing: no class-ID: 6c0000
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 476.94 GiB used: 30.76 GiB (6.4%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WDSN740-SDDPNQD-512G-1004 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 73100004 temp: 24.9 C scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 323.13 GiB size: 316.99 GiB (98.10%) used: 30.73 GiB (9.7%)
    fs: ext4 dev: /dev/nvme0n1p7 maj-min: 259:7 label: N/A
    uuid: 0c525cd5-4975-457a-80fe-cee334fd6785
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 26.9 MiB (10.5%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
    label: SYSTEM uuid: 08DF-A48E
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 18.62 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p8 maj-min: 259:8 label: N/A
    uuid: 3776a794-9ff0-424e-a266-924dd6e0e6ed
Unmounted:
  ID-1: /dev/nvme0n1p2 maj-min: 259:2 size: 16 MiB fs: <superuser required>
    label: N/A uuid: N/A
  ID-2: /dev/nvme0n1p3 maj-min: 259:3 size: 116.3 GiB fs: ntfs label: N/A
    uuid: 56368FEB368FCB07
  ID-3: /dev/nvme0n1p4 maj-min: 259:4 size: 850 MiB fs: ntfs
    label: Windows RE tools uuid: 02A0F33EA0F336AF
  ID-4: /dev/nvme0n1p5 maj-min: 259:5 size: 16.78 GiB fs: ntfs
    label: SAMSUNG_REC2 uuid: 1A40E61740E5F981
  ID-5: /dev/nvme0n1p6 maj-min: 259:6 size: 1024 MiB fs: vfat
    label: SAMSUNG_REC uuid: DE47-0914
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 1 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 2-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 20 Gb/s (2.33 GiB/s) lanes: 2 mode: 3.2 gen-2x2 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 3-0:1 info: hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 3-5:2 info: LighTuning ETU905A80-E type: <vendor specific>
    driver: N/A interfaces: 1 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 100mA chip-ID: 1c7a:05a1 class-ID: ff00 serial: <filter>
  Device-2: 3-10:3 info: Intel AX211 Bluetooth type: bluetooth driver: btusb
    interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 100mA chip-ID: 8087:0033 class-ID: e001
  Hub-4: 4-0:1 info: super-speed hub ports: 2 rev: 3.1
    speed: 20 Gb/s (2.33 GiB/s) lanes: 2 mode: 3.2 gen-2x2 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  Src: /sys System Temperatures: cpu: 38.0 C mobo: N/A
  Fan Speeds (rpm): N/A
  Power: 12v: N/A 5v: 5 3.3v: N/A vbat: N/A
Info:
  Processes: 418 Power: uptime: 21h 49m states: freeze,mem,disk suspend: s2idle
    wakeups: 1 hibernate: platform avail: shutdown, reboot, suspend, test_resume
    image: 6.07 GiB services: upowerd,xfce4-power-manager Init: systemd v: 255
    default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1398 libs: 374 tools: pamac,yay Compilers:
    clang: 16.0.6 gcc: 13.2.1 Shell: Bash v: 5.2.26 running-in: alacritty
    inxi: 3.3.34

that’s the tutorial that i followed and doesn’t work. I’m trying to find the correct HDA verbs now, since I think that’s why the script doesn’t work.

I’m trying to find the correct HDA verbs

[HowTo] set up the audio card in Samsung Galaxy Book

…the original method developed by Connor McAdams
Setup and usage of the program · Conmanx360/QemuHDADump Wiki · GitHub

…revised and improved instructions here
How to sniff verbs from a Windows sound driver · ryanprescott/realtek-verb-tools Wiki · GitHub

I’ve tried both these links but when running make, I get the following errors, which I don’t know how to fix:

block/gluster.c: In function ‘qemu_gluster_do_truncate’:
block/gluster.c:1026:13: error: too few arguments to function ‘glfs_ftruncate’
 1026 |         if (glfs_ftruncate(fd, offset)) {
      |             ^~~~~~~~~~~~~~
/usr/include/glusterfs/api/glfs.h:797:1: note: declared here
  797 | glfs_ftruncate(glfs_fd_t *fd, off_t length, struct glfs_stat *prestat,
      | ^~~~~~~~~~~~~~
block/gluster.c:1037:13: error: too few arguments to function ‘glfs_ftruncate’
 1037 |         if (glfs_ftruncate(fd, offset)) {
      |             ^~~~~~~~~~~~~~

A bug report has been created for this laptop 2024-05-20

218862 – [Samsung Galaxy Book4 Pro - 940XGK] No sound from internal speakers

I have a thread on the Sound Open Firmware issue tracker documenting my progress troubleshooting the issue: Samsung Galaxy Book4 Pro 14" (NP940XGK) - speakers do not work · Issue #5002 · thesofproject/linux · GitHub

I got as far as attempting to reverse engineer the pin configuration and HDA verbs for the Realtek ALC298 on the board. I have a GitHub repository with my findings, but I’ll post the output of RtHDDump.exe as well as the linux codec dump.

My notes on trying the RE process myself: GitHub - dgunay/galaxy-book4-pro-reverse-engineering: Documenting my attempts to get the internal speakers of the Galaxy Book4 Pro working on Linux