When plugging USB-A Blue Yeti Nano to Debian 13 GNOME Framework 13, the sound volume (for the laptop speaker) is turned to 0, but the sound output device does not change. How to avoid such volume being turned to 0?
Oct 3, 2:33pm

Let me check the WirePlumber settings documentation and look for the exact mechanism.

The blue Yeti Nano issue is well-documented. Let me check how to present the fix steps properly.

What's actually happening

The Blue Yeti Nano is a duplex USB device: besides the microphone it registers a playback card (its headphone/monitor jack), so Linux sees it as both a mic and a sound output (Ask Ubuntu). On Debian 13 (GNOME), audio is managed by PipeWire + WirePlumber, which stores and restores profiles, routes and their volumes per device whenever the device graph changes (WirePlumber docs). When the Yeti Nano appears, WirePlumber churns profiles/routes around its output, and that's what gets your laptop speakers' route volume re-applied at 0 — even though the default output device itself correctly stays on the speakers. This is a well-known Yeti trait: multiple users report other outputs stopping or dropping to zero whenever the mic is plugged in, and the fix that worked was configuring the Yeti as mic-only instead of duplex (r/linuxaudio, r/linuxmint). The Nano in particular has a reputation for being flaky with PipeWire (r/archlinux).

Stop the Yeti Nano from zeroing the Framework speakers

  • Set the Yeti Nano to an input-only profile
    • pactl list cards short (find the Yeti card)
    • pactl list cards | grep -i yeti -A30 (list its profiles)
    • pactl set-card-profile <card-name> input:analog-stereo
    • Or graphically: pavucontrol → Configuration → Yeti Nano
  • Wipe stale saved volume state and restart WirePlumber
    • systemctl --user stop wireplumber
    • rm -rf ~/.local/state/wireplumber
    • systemctl --user start wireplumber
  • Set speaker volume once, then replug the Yeti and verify it holds
  • Optional: add a WirePlumber rule to keep the Yeti output permanently disabled

Why this works

  • Setting the profile to input-only makes WirePlumber's device.restore-profile remember your choice and re-apply it on every replug/reboot, so the Yeti never creates an output sink again — no output churn, so the speakers' volume is never touched (WirePlumber docs).
  • Wiping ~/.local/state/wireplumber removes the stale saved route record that may already contain volume 0 for the speakers (this state file is exactly where WirePlumber persists per-route volumes). You lose saved per-device volumes and default-device memory once, then they re-save normally (Unix.SE).

You can confirm the diagnosis before/after: wpctl get-volume @DEFAULT_AUDIO_SINK@ while plugging the Yeti in, and grep -i -A4 speaker ~/.local/state/wireplumber/default-routes to see if a 0-volume entry is stored.

Extra hardening (optional)

If you want the Yeti's output blocked even if state gets wiped again, create ~/.config/wireplumber/wireplumber.conf.d/51-yeti-input-only.conf:

text
monitor.alsa.rules = [
  {
    matches = [ { node.name = "~alsa_output.usb-Blue_Microphones.*" } ]
    actions = { update-props = { node.disabled = true } }
  }
]

Then systemctl --user restart wireplumber.

One more note: GNOME's login screen runs its own PipeWire/WirePlumber instance, and a greeter's WirePlumber can reset stored volumes which then gets picked up by your session. If you notice volume resets around the login/lock screen too (with the Yeti still plugged), mask those units for the greeter user: sudo systemctl --user --machine Debian-gdm@ mask pipewire.service pipewire.socket wireplumber.service (Unix.SE).

Oct 3, 2:33pm

This is a shared conversation and may include unverified content that doesn't reflect Mistral AI's views. Login to resume chatting.

Vibe can make mistakes. Check answers. Learn more