Audio interface microphone inputs missing in GNOME Control Center

Hi! This is my first post here. After a recent update on Fedora 35, GNOME no longer lists input devices related to my audio interface in the sound settings.
This confuses me, because pavucontrol and alsamixer show me that all inputs are detected. Other DEs, such as Xfce or Plasma, don’t exhibit the same behaviour as GNOME does, and the inputs are shown.

Even after a fresh installation of Fedora 35, GNOME refuses to acknowledge it for some reason. I do not know why.

The interface is a Behringer UMC22 connected by USB - it uses a TI PCM2902 audio chip.
My laptop exhibits the same behaviour - the system knows it is there, but refuses to acknowledge the input devices.

I really hope it can be fixed somehow. Thank you in advance for any replies.

Hi, would you like to double check with pavucontrol tab configuration and on device UMC22 are using “Profile” mentioning Output + Input?

For my UMC202 the profile is Analog Stereo Output + Analog Stereo Input.

Can you check if this helps ?

Hi,

I’m not sure what to do with this. Am I supposed to build the latest version of Pipewire?

lets see what version you have in :

sudo dnf info pipewire-libs
This should contain the SPA plugins already compiled.

Mine is pipewire-0.3.43-3.fc35.src.rpm if yours are older just try to do an update.

With the link I just wanted to show that your problem seams to be recognized.

Ah, I see.

As for the version of pipewire and pipewire-libs, it’s the same as yours, pipewire-0.3.43-3.fc35.src.rpm.

Would you like to plug in your UMC22 device and run arecord -l (lowercase L) to showing your devices?

Here for an example:

[testcase@fedora ~]$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic [HD-Audio Generic], device 0: ALC236 Analog [ALC236 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: U192k [UMC202HD 192k], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Here’s the output of arecord -l for my system:

vaelfonia@Cerberus:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 2: ALC1220 Alt Analog [ALC1220 Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Look like above are your UMC22. You can do simple check with unplug the usb and run again with arecord -l. If above card gone that is good.

Since your device by alsa default profile should be already present in /usr/share/alsa-card-profile/mixer/profile-sets with name behringer-umc22.conf, I think there no need any custom configuration. But we could reset it to default.

Plug again your device, close all windows except your terminal and run:

alsactl init
systemctl --user restart pipewire
systemctl --user restart wireplumber

Check again with Gnome settings.

No luck, unfortunately.

I assumed until above part are right that when you run arecord -l the device gone and back again when you plug in.

I also assume that the result of arecord -l still exactly the same as before (let me know if it changed). Then you can create custom profile with:

mkdir -p ~/.config/pipewire
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/pipewire.conf

# Edit ~/.config/pipewire/pipewire.conf
nano ~/.config/pipewire/pipewire.conf

On very bottom file, find part as bellow:

    # This creates a single PCM source device for the given
    # alsa device path hw:0. You can change source to sink
    # to make a sink in the same way.
    #{ factory = adapter
    #    args = {
    #        factory.name           = api.alsa.pcm.source
    #        node.name              = "alsa-source"
    #        node.description       = "PCM Source"
    #        media.class            = "Audio/Source"
    #        api.alsa.path          = "hw:0"
    #        api.alsa.period-size   = 1024
    #        api.alsa.headroom      = 0
    #        api.alsa.disable-mmap  = false
    #        api.alsa.disable-batch = false
    #        audio.format           = "S16LE"
    #        audio.rate             = 48000
    #        audio.channels         = 2
    #        audio.position         = "FL,FR"
    #    }
    #}

Change it to:

    # This creates a single PCM source device for the given
    # alsa device path hw:0. You can change source to sink
    # to make a sink in the same way.
    { factory = adapter
        args = {
            factory.name           = api.alsa.pcm.source
            node.name              = "Behringer UMC22"
            node.description       = "UMC22"
            media.class            = "Audio/Source"
            api.alsa.path          = "hw:2,0"
            audio.channels         = 2
            audio.position         = "FL,FR"
        }
    }

Close all windows (important) except terminal and run:

systemctl --user restart pipewire
systemctl --user restart wireplumber

Check again with Gnome Setting. If found it, test if it work or not when recording.

2 Likes

Thank you, it works! And yes, it disappeared when unplugged and came back when I plugged it back in.

I have the same issue with an UMC2 and this helped @oprizal Thanks a lot! I spent like 3 hours searching but i couldn’t find anything. :+1:t3: I had to use the default PMC Source included in the pipewire.conf because the IMC22 settings won’t work after restarting.