I have an audio interface, a UMC404HD, that I use both for my speakers and for my microphone. It's plugged in via USB cable. This used to work under Ubuntu 20.10. However something seems to have gone wrong as I updated to 21.04.
The main problem is that I can't select the interface as microphone input any more. The only available input is from my webcam, where previously it allowed me to select the UMC404HD as microphone as well:
404 not found, as they say.
However the device is plugged-in and somehow working. Pavucontrol does show me the device and its volume levels:
These levels peak as I tap on the microphone. It's actually getting input from it. But it's somehow not allowing it to be chosen as a microphone. Note also that the "Port:" drop-down is missing from the UMC404HD device.
In the Configuration tab of Pavucontrol, the device is configured as output+input:
Do you know why the device is not available as microphone input?
EDIT: As requested, here is the output of some commands related to audio hardware and software:
trin@Trinity:~$ uname -a
Linux Trinity 5.11.0-18-generic #19-Ubuntu SMP Fri May 7 14:22:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
trin@Trinity:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
Subdevices: 1/1
Subdevice #0: subdevice #0
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 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 2: U192k [UMC404HD 192k], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
trin@Trinity:~$ 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: U192k [UMC404HD 192k], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 3: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
trin@Trinity:~$ inxi -SA
System: Host: Trinity Kernel: 5.11.0-18-generic x86_64 bits: 64 Desktop: GNOME 3.38.4 Distro: Ubuntu 21.04 (Hirsute Hippo)
Audio: Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio driver: snd_hda_intel
Device-3: Logitech OrbiCam type: USB driver: snd-usb-audio,uvcvideo
Device-4: BEHRINGER UMC404HD 192k type: USB driver: snd-usb-audio
Sound Server: ALSA v: k5.11.0-18-generic
trin@Trinity:~$ lspci -nnk | grep -A 1 Audio
2d:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd TU106 High Definition Audio Controller [1458:37c2]
Kernel driver in use: snd_hda_intel
--
2f:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
Subsystem: Micro-Star International Co., Ltd. [MSI] X570-A PRO motherboard [1462:9c37]
trin@Trinity:~$ cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf7080000 irq 72
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf7900000 irq 74
2 [U192k ]: USB-Audio - UMC404HD 192k
BEHRINGER UMC404HD 192k at usb-0000:2a:00.1-2, high speed
3 [C920 ]: USB-Audio - HD Pro Webcam C920
HD Pro Webcam C920 at usb-0000:2a:00.1-6.1.4, high speed
trin@Trinity:~$ sudo lshw -C multimedia
-usb:1
description: Audio device
product: UMC404HD 192k
vendor: BEHRINGER
physical id: 2
bus info: usb@1:2
version: 1.12
capabilities: usb-2.00 audio-control
configuration: driver=snd-usb-audio maxpower=500mA speed=480Mbit/s
-usb:3
description: Video
product: HD Pro Webcam C920
vendor: Logitech, Inc.
physical id: 4
bus info: usb@1:6.1.4
version: 0.19
serial: 47963BFF
capabilities: usb-2.00
configuration: driver=snd-usb-audio maxpower=500mA speed=480Mbit/s
-multimedia
description: Audio device
product: TU106 High Definition Audio Controller
vendor: NVIDIA Corporation
physical id: 0.1
bus info: pci@0000:2d:00.1
version: a1
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:72 memory:f7080000-f7083fff
-multimedia
description: Audio device
product: Starship/Matisse HD Audio Controller
vendor: Advanced Micro Devices, Inc. [AMD]
physical id: 0.4
bus info: pci@0000:2f:00.4
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:74 memory:f7900000-f7907fff
trin@Trinity:~$ dpkg -l | grep alsa
ii alsa-base 1.0.25+dfsg-0ubuntu7 all ALSA driver configuration files
ii alsa-firmware-loaders 1.2.2-1 amd64 ALSA software loaders for specific hardware
ii alsa-source 1.0.25+dfsg-0ubuntu7 all ALSA driver sources
ii alsa-topology-conf 1.2.4-1 all ALSA topology configuration files
ii alsa-ucm-conf 1.2.4-2ubuntu1.1 all ALSA Use Case Manager configuration files
ii alsa-utils 1.2.4-1ubuntu3 amd64 Utilities for configuring and using ALSA
ii alsamixergui 0.9.0rc2-1-10ubuntu1 amd64 graphical soundcard mixer for ALSA soundcard driver
ii gstreamer1.0-alsa:amd64 1.18.4-1 amd64 GStreamer plugin for ALSA
ii libalsaplayer-dev 0.99.81-2build2 amd64 alsaplayer plugin library (development files)
ii libalsaplayer0:amd64 0.99.81-2build2 amd64 alsaplayer plugin library
ii libclalsadrv-dev 2.0.0-3.1 all ALSA driver C++ access library (development files)
ii libclalsadrv2 2.0.0-3.1 amd64 ALSA
trin@Trinity:~$ cat /etc/pulse/default.pa
#!/usr/bin/pulseaudio -nF
This file is part of PulseAudio.
PulseAudio is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PulseAudio is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
This startup script is used only if PulseAudio is started per-user
(i.e. not in system mode)
.fail
Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
Automatically augment property information from .desktop files
stored in /usr/share/application
load-module module-augment-properties
Should be after module--restore but before module--detect
load-module module-switch-on-port-available
Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794)
.ifexists module-switch-on-connect.so
load-module module-switch-on-connect
.endif
Load audio drivers statically
(it's probably better to not load these drivers manually, but instead
use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
Network access (may be configured with paprefs, so leave this commented
here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv
Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor
Load additional modules from GSettings. This can be configured with the paprefs tool.
Please keep in mind that the modules configured by paprefs might conflict with manually
loaded modules.
.ifexists module-gsettings.so
.nofail
load-module module-gsettings
.fail
.endif
Automatically restore the default sink/source when changed by the user
during runtime
NOTE: This should be loaded as early as possible so that subsequent modules
that look up the default sink/source get the right value
load-module module-default-device-restore
Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
Honour intended role device property
load-module module-intended-roles
Automatically suspend sinks/sources that become idle for too long
Uitgecommentarieerd om te voorkomen dat mijn speakers klikken
#load-module module-suspend-on-idle
If autoexit on idle is enabled we want to make sure we only quit
when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
Enable positioned event sounds
load-module module-position-event-sounds
Cork music/video streams when a phone stream is active
load-module module-role-cork
Block audio recording for snap confined packages unless they have
the "pulseaudio" or "audio-record" interfaces plugged.
.ifexists module-snap-policy.so
load-module module-snap-policy
.endif
Modules to allow autoloading of filters (such as echo cancellation)
on demand. module-filter-heuristics tries to determine what filters
make sense, and module-filter-apply does the heavy-lifting of
loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
Make some devices default
#set-default-sink output
#set-default-source input
arecord -l
this should show you which capture devices alsa sees. aplay only shows playback devices. If you configure as recording device only (assuming you have the option) does it show on the dropdown? – Nate T Jun 19 '21 at 09:03arecord -l
to the main post, but Alsa does detect it according to that yes. Setting it as input device only doesn't make a difference. – Ghostkeeper Jun 19 '21 at 15:04cat /etc/pulse/default.pa
should output the contents of this file. Add the following lines in whatever editor you useload-modulemodule-alsa-source device=hw:2,0
the first line should be somewhere before the second line
– Nate T Jun 19 '21 at 17:25.ifexists module-udev-detect.so
~/.config
instead of in /etc, to separate it more nicely, but this works as a solution for me. Would you like to formulate it as an answer to get the glory and the bounty? Raffa's answer is similar but Nate was first. – Ghostkeeper Jun 19 '21 at 21:59