Help Diagnosing audio device problem from Manjaro

This is my second time posting here, If I make an egregious etiquette error, please let me know, and I’ll try and update / edit my post.

Here’s the problem: My onboard audio controller doesn’t seem to be working. This is a pc I built maybe 6 ish years ago, and as far as I know it never has worked properly. I previously had windows on it (never activated), and I couldn’t really diagnose the issue. I tried taking the PC apart, but everything looked like it was wired properly. I’m hoping there’s some linux tool that can help me check for hardware faults, or something like that.

I’ve been having a slew of unrelated hardware and software issues, because I didn’t do the best job when I built this thing (I was 16 at the time), but I like to think that I know (mostly) what I’m doing now, after having worked with PC’s and Linux operating systems for a while, building my own arch and gentoo installs from scratch, etc. That said, any help / suggestions are welcome. I’m desperate here.

Here’s the output of inxi -Fazy:

System:
  Kernel: 6.6.8-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: hpet available: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=6f7f115f-be6f-4f1a-adec-4a9b404807de rw quiet splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11 wm: kwin_x11 vt: 2
    dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: ASRock model: X570 Phantom Gaming 4
    serial: <superuser required> UEFI-[Legacy]: American Megatrends v: P2.20
    date: 11/25/2019
CPU:
  Info: model: AMD Ryzen 3 3200G with Radeon Vega Graphics bits: 64 type: MCP
    arch: Zen/Zen+ note: check gen: 1 level: v3 note: check built: 2019
    process: GF 12nm family: 0x17 (23) model-id: 0x18 (24) stepping: 1
    microcode: 0x8108109
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 384 KiB
    desc: d-4x32 KiB; i-4x64 KiB L2: 2 MiB desc: 4x512 KiB L3: 4 MiB
    desc: 1x4 MiB
  Speed (MHz): avg: 2312 high: 2955 min/max: 1400/3600 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 2112 2: 2955
    3: 2949 4: 1235 bogomips: 28811
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  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: retbleed mitigation: untrained return thunk; SMT disabled
  Type: spec_rstack_overflow mitigation: SMT disabled
  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: Retpolines, IBPB: conditional, STIBP:
    disabled, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
    vendor: Micro-Star MSI driver: amdgpu v: kernel arch: GCN-4
    code: Arctic Islands process: GF 14nm built: 2016-20 pcie: gen: 3
    speed: 8 GT/s lanes: 8 link-max: lanes: 16 ports: active: DVI-D-1
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 01:00.0 chip-ID: 1002:67df
    class-ID: 0300 temp: 37.0 C
  Display: x11 server: X.Org v: 21.1.10 compositor: kwin_x11 driver: X:
    loaded: amdgpu unloaded: modesetting alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93") monitors: <missing: xrandr>
  Monitor-1: DVI-D-1 model: Acer X233H serial: <filter> built: 2009
    res: 1920x1080 dpi: 96 gamma: 1.2 size: 510x287mm (20.08x11.3")
    diag: 585mm (23") ratio: 16:9 modes: max: 1920x1080 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi x11: drv: radeonsi
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 580 Series (polaris10
    LLVM 16.0.6 DRM 3.54 6.6.8-2-MANJARO) device-ID: 1002:67df memory: 7.81 GiB
    unified: no
  API: Vulkan v: 1.3.274 layers: N/A device: 0 type: discrete-gpu name: AMD
    Radeon RX 580 Series (RADV POLARIS10) driver: mesa radv
    v: 23.1.9-manjaro1.1 device-ID: 1002:67df surfaces: xcb,xlib
Audio:
  Device-1: AMD Family 17h/19h HD Audio vendor: ASRock driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 08:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.6.8-2-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.0 status: off with: pipewire-media-session
    status: active tools: pw-cli
  Server-3: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
Network:
  Device-1: Intel I211 Gigabit Network vendor: ASRock driver: igb v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: e000 bus-ID: 04:00.0
    chip-ID: 8086:1539 class-ID: 0200
  IF: enp4s0 state: down mac: <filter>
  Device-2: TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS] driver: rtl8xxxu
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-4:2
    chip-ID: 2357:010c class-ID: 0000 serial: <filter>
  IF: wlp5s0f1u4 state: up mac: <filter>
Drives:
  Local Storage: total: 931.51 GiB used: 22.29 GiB (2.4%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: HD103SI size: 931.51 GiB
    block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s tech: N/A
    serial: <filter> fw-rev: 1118 scheme: MBR
Partition:
  ID-1: / raw-size: 441.07 GiB size: 433.08 GiB (98.19%) used: 22.29 GiB (5.1%)
    fs: ext4 dev: /dev/sda4 maj-min: 8:4
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 48.6 C mobo: N/A gpu: amdgpu temp: 35.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 1485
Info:
  Processes: 266 Uptime: 1h 9m wakeups: 0 Memory: total: 8 GiB
  available: 7.68 GiB used: 3.96 GiB (51.6%) Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: 1177 pm: pacman pkgs: 1164 libs: 341 tools: pamac pm: flatpak
  pkgs: 13 Shell: Zsh v: 5.9 default: Bash v: 5.2.21 running-in: konsole
  inxi: 3.3.31

Let me know if you have any questions, or if I can provide any additional info. Thanks!

First of all, you have a very, very outdated BIOS. There are more than ten later versions that solve bugs and improve compatibility with new hardware. Yours is v2.20, latest is v5.50. Reading v2.60 description says “2. Improve UAD-2 DUO audio card compatibility.” so updating Bios may be the solution to this problem.

https://pg.asrock.com/mb/AMD/X570%20Phantom%20Gaming%204/index.asp#BIOS

You need to enable pipewire and probably install wireplumber

Can you post pacmd list-sinks and the config of pulseaudio ?

pacmd list-sinks                                                                        ✔  4s  
1 sink(s) available.
  * index: 0
        name: <auto_null>
        driver: <module-null-sink.c>
        flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: SUSPENDED
        suspend cause: IDLE
        priority: 1000
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max request: 344 KiB
        max rewind: 344 KiB
        monitor source: 0
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 0
        linked by: 0
        configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
        module: 15
        properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"

And

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; enable-memfd = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = speex-float-1
; avoid-resampling = false
; enable-remixing = yes
; remixing-use-all-sink-channels = yes
; remixing-produce-lfe = no
; remixing-consume-lfe = no
; lfe-crossover-freq = 0

; flat-volumes = no

; rescue-streams = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31

Wow! I feel dumb. I should’ve realized that I’d need to update the BIOS after not turning this thing on for 4 years. Thank you! I’ll do that and if it solves my problem, I’ll edit this post to confirm.

Edit: My silly little sandisk flashdrive is not large enough for this. I’ll have to wait until I can buy a large enough flashdrive to update my BIOS.

1 Like

This is the output when I try to enable pipewire:

type or paste code herpipewire                                                                                    70 ✘ 
[E][11428.844342] mod.protocol-native | [module-protocol-:  760 lock_socket()] server 0x558d7f7b41b0: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Resource temporarily unavailable (maybe another daemon is running)
[E][11428.844593] pw.conf      | [          conf.c:  573 load_module()] 0x558d7f76cb80: could not load mandatory module "libpipewire-module-protocol-native": Resource temporarily unavailable
[E][11428.846405] default      | [      pipewire.c:  105 main()] failed to create context: Resource temporarily unavailable
e

Maybe I’m doing this wrong?

the command is
sudo systemctl enable --user --now pipewire

The output of

 sudo systemctl enable --user --now pipewire                                           1 ✘  4s  

is

Failed to connect to bus: No medium found

Can you post dmesg | grep audio ?

systemctl command with --user option does not work with sudo
I suggest check all systemd units for PipeWire

systemctl --user list-unit-files | grep wire

But dmesg does not work without sudo
and grep filter for ‘audio’ will show a limited amount of information

Dummy Output in PulseAudio or PipeWire is created if there are no hardware audio devices detected for audio playback

If audio devices are not working in ALSA, switching between PulseAudio and PipeWire will not help

I suggest check if audio devices detected in ALSA

sudo alsa-info.sh --with dmesg --upload

The output of

dmesg | grep audio

is

[   27.448676] snd_hda_codec_realtek hdaudioC0D0: ALCS1200A: SKU not ready 0x00000000
[   27.449315] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALCS1200A: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[   27.449320] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   27.449323] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   27.449326] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   27.449327] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   27.449329] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[   27.449332] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[   27.449334] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a

and

systemctl --user list-unit-files | grep wire

returns

pipewire-session-manager.service                           alias     -
pipewire.service                                           disabled  enabled
wireplumber.service                                        enabled   enabled
wireplumber@.service                                       disabled  enabled
pipewire.socket                                            enabled   enabled

When I actually try to enable and start pipewire and wireplumber, however, systemctl doesn’t seem to find them.

systemctl enable --user --now pipewire

To reiterate: do not use sudo when using --user.

[facepalm] We now have results:

systemctl enable --user --now pipewire                                                     127 ✘ 
Created symlink /home/beowulf/.config/systemd/user/default.target.wants/pipewire.service → /usr/lib/systemd/user/pipewire.service.
Created symlink /home/beowulf/.config/systemd/user/sockets.target.wants/pipewire.socket → /usr/lib/systemd/user/pipewire.socket.

and

pipewire-session-manager.service                             alias     -
pipewire.service                                             enabled   enabled
wireplumber.service                                          enabled   enabled
wireplumber@.service                                         disabled  enabled
pipewire.socket                                              enabled   enabled
1 Like

I would usually suggest checking all services before making changes
and if there is no pipewire-pulse.service, system may still be using PulseAudio:

systemctl --user -l --no-pager status pipewire wireplumber pulseaudio