Blue Yeti USB microphone doesn't work after reboot on Fedora 37

I have a brand new Blue Yeti USB microphone and when I boot my PC the microphone doesn’t work. It works after I unplug the cable from it and plug it back in. I had the same issue on Ubuntu 20.10 through 22.10 and I thought I’d give Fedora a try since I read that it uses pipewire sound server but unfortunately no luck. I am not sure, though, what sound server Fedora actually uses. I have pavucontrolutility pre-installed which is Pulse Audio sound server. My mic is a bit “special” because it has both audio output device and input device and I want to use it as input device and use my external speakers as output device so I went ahead and configured Blue Yeti input device as Analog Stereo Input instead of Analog Stereo Duplex but it doesn’t work after I boot. It only works after I unplug the cable and plug it back in. I have already posted on issue on Pulse Audio Gitlab project but they don’t know how to fix it. Should I try pipewire and how do I do that?

Welcome Jedrzej to ask :fedora:

By default fedora uses pipewire and wireplumber for audio.
If the headset microphone works when it is plugged in, but fails to do so when booting with it already connected that seems to indicate a config issue. When the device is plugged in with the system already up it is configured by udev. I don’t know what is different if already connected at boot time.

Maybe you can do a bit of research to find out.

There are several commands that can give hints as to what is actually happening.
The first would be to run dmesg -w to wipe out the dmesg entries, then plug in the headhone and run dmesg so you could see what kernel messages are shown when the device is connected and configured.

You also could see a little more in-depth logging with plugging in the device then immediately running journalctl --since=-2minutes which will show all the journal entries in the last 2 minutes and should show the device being configured.

You can see the same with a boot while the device is already connected, but the logs will be larger and need more careful perusal to see and identify the related entries.
dmesg will show the kernel logs from the beginning of the boot, and journalctl -b 0 will show all the logs from the beginning of the current boot. They can be trimmed down if you know exactly what terms to look for.

Once you have the logs with the differences in how the device is configured then it should be possible to identify the cause and a potential fix.

In the meantime your workaround with unplugging then plugging it back in is one way to be able to use it.

I didn’t find anything special in the kernel logs. I see that it does detect my USB microphone.
This is what I have before I unplug my microphone and after I plug it back in.
Before:

arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Microphones [Blue Microphones], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
[jedrek@fedora ~]$ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
pipewire
    PipeWire Sound Server
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=C920
    HD Pro Webcam C920, USB Audio
    Default Audio Device
front:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Front output / input
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
    Front output / input
sysdefault:CARD=Microphones
    Blue Microphones, USB Audio
    Default Audio Device
front:CARD=Microphones,DEV=0
    Blue Microphones, USB Audio
    Front output / input

After:

arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Microphones [Blue Microphones], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
[jedrek@fedora ~]$ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
pipewire
    PipeWire Sound Server
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=C920
    HD Pro Webcam C920, USB Audio
    Default Audio Device
front:CARD=C920,DEV=0
    HD Pro Webcam C920, USB Audio
    Front output / input
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
    Front output / input
sysdefault:CARD=Microphones
    Blue Microphones, USB Audio
    Default Audio Device
front:CARD=Microphones,DEV=0
    Blue Microphones, USB Audio
    Front output / input

I also turned off my monitor audio device and webcam audio devices in pavucontrol

I have no idea what else can be done.

I tried unplugging all devices except my microphones from my PC to see what’d happen and nothing, the microphone still doesn’t work after reboot.

After rebooting my system I checked the status of piperwire service and I can see some errors

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
     Active: active (running) since Sun 2022-11-27 18:18:55 CET; 44s ago
TriggeredBy: ● pipewire.socket
   Main PID: 1252 (pipewire)
      Tasks: 2 (limit: 19056)
     Memory: 5.4M
        CPU: 31ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1252 /usr/bin/pipewire

Nov 27 18:18:55 fedora systemd[1166]: Started pipewire.service - PipeWire Multimedia Service.
Nov 27 18:18:55 fedora pipewire[1252]: mod.rt: Can't find xdg-portal: (null)
Nov 27 18:18:55 fedora pipewire[1252]: mod.rt: found session bus but no portal
Nov 27 18:18:55 fedora pipewire[1252]: mod.x11-bell: XOpenDisplay() failed

But xdg-desktop-portal shows as running

● xdg-desktop-portal.service - Portal service
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
     Active: active (running) since Sun 2022-11-27 18:18:59 CET; 15min ago
   Main PID: 1821 (xdg-desktop-por)
      Tasks: 6 (limit: 19056)
     Memory: 3.5M
        CPU: 50ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/xdg-desktop-portal.service
             └─1821 /usr/libexec/xdg-desktop-portal

Nov 27 18:18:58 fedora systemd[1166]: Starting xdg-desktop-portal.service - Portal service...
Nov 27 18:18:59 fedora systemd[1166]: Started xdg-desktop-portal.service - Portal service.

wireplumber seems to be having some issues as well

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sun 2022-11-27 18:18:55 CET; 14min ago
   Main PID: 1256 (wireplumber)
      Tasks: 4 (limit: 19056)
     Memory: 10.9M
        CPU: 232ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1256 /usr/bin/wireplumber

Nov 27 18:18:55 fedora systemd[1166]: Started wireplumber.service - Multimedia Service Session Manager.
Nov 27 18:18:55 fedora wireplumber[1256]: Can't find xdg-portal: (null)
Nov 27 18:18:55 fedora wireplumber[1256]: found session bus but no portal
Nov 27 18:18:55 fedora wireplumber[1256]: Failed to set scheduler settings: Operation not permitted
Nov 27 18:18:55 fedora wireplumber[1256]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Nov 27 18:18:55 fedora wireplumber[1256]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
Nov 27 18:18:55 fedora wireplumber[1256]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NameHasNoOwner

I don’t know why wireplumber is expecting some camera software to be installed…Very weird.

Have you by chance tried either sudo dnf distro-sync --refresh or sudo dnf upgrade --refresh just to make sure everything is up to date with the latest fixes and upgrades?

No, I have not. As I said already, I had the same issue on Ubuntu 20.10 through 22.10 on the most up-to-date software. I have a fresh install of Fedora 37 and everything is up-to-date.