10

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:

Photo here, since you can't take screenshots of a drop-down

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:

Pavucontrol shows the device

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: Analog Surround 4.0 Output + Multichannel 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

Zanna
  • 72,312

1 Answers1

8

For whatever reason, the interface isn't being seen as a source by PulseAudio. It needs to be manually configured via forced loading and detection. The steps are as follows:

  1. Use the command:

    arecord -l
    

    and note the card and device numbers.

  2. Open /etc/pulse/default.pa as root in a text editor.

  3. Add the line:

    load-module module-alsa-source device=hw:c,d
    

    where c is the card number and d is the device number.

  4. Below that line add:

    .ifexists module-udev-detect.so
    
  5. Save the file and reload PulseAudio. This can be done from command line with:

    pulseaudio -k ; pulseaudio -D
    

This should force detection as an input source. To see the process used to verify solution, see the comments under OP. To find out more info about troubleshooting issues in PulseAudio, see the Arch Linux Wiki for PulseAudio/Troubleshooting.

Nate T
  • 1,590