monitor-udev-detect not able to detect microphone

Hello everyone!

I was having an issue in which pulseaudio would not detect my microphone, and while troubleshooting following the wiki page I found that statically loading module module-alsa-source would fix it.

But this got me curious to why the module-udev-detect would not do this automatically. I attempted a test in which I unloaded module-alsa-source by using pacmd, and then I tried loading module-udev-detect manually, and indeed no input devices were available, but after loading module module-detect (which I found commented in the config file) the microphone would be actually available for pulseaudio.

My question is why can't udev module detect the microphone, and is there a fix to this?
I've tried searching for this but I couldn't find anything, and I don't have much knowledge on the subject to explore further.

please post system information inxi -Fxxz

what is make/model of microphone ?

how is it connected to system ?

It's a built-in microphone from a Dell Precision notebook.

System:    Host: manjaro Kernel: 5.3.11-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.2.0 Desktop: i3 4.17.1 dm: LightDM 
           Distro: Manjaro Linux 
Machine:   Type: Laptop System: Dell product: Precision 5520 v: N/A serial: <filter> Chassis: type: 10 serial: <filter> 
           Mobo: Dell model: 080VVT v: A00 serial: <filter> UEFI: Dell v: 1.14.3 date: 05/09/2019 
Battery:   ID-1: BAT0 charge: 51.8 Wh condition: 51.8/56.0 Wh (92%) volts: 13.0/11.4 model: BYD DELL CP6DF8C serial: <filter> 
           status: Full 
CPU:       Topology: Quad Core model: Intel Core i7-6820HQ bits: 64 type: MT MCP arch: Skylake-S rev: 3 L2 cache: 8192 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 43214 
           Speed: 900 MHz min/max: 800/3600 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 4: 900 5: 900 6: 900 7: 900 8: 900 
Graphics:  Device-1: Intel HD Graphics 530 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:191b 
           Device-2: NVIDIA GM107GLM [Quadro M1200 Mobile] vendor: Dell driver: N/A bus ID: 01:00.0 chip ID: 10de:13b6 
           Display: x11 server: X.org 1.20.5 driver: modesetting compositor: compton resolution: <xdpyinfo missing> 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 530 (Skylake GT2) v: 4.5 Mesa 19.2.4 compat-v: 3.0 direct render: Yes 
Audio:     Device-1: Intel CM238 HD Audio vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a171 
           Sound Server: ALSA v: k5.3.11-1-MANJARO 
Network:   Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter vendor: Dell driver: ath10k_pci v: kernel 
           port: e000 bus ID: 02:00.0 chip ID: 168c:003e 
           IF: wlp2s0 state: down mac: <filter> 
           Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB driver: r8152 bus ID: 1-2.2:10 chip ID: 0bda:8153 
           IF: enp0s20f0u2u2 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           Device-3: Qualcomm Atheros type: USB driver: btusb bus ID: 1-4:4 chip ID: 0cf3:e007 
           IF-ID-1: br-0564e4a904e9 state: down mac: <filter> 
           IF-ID-2: br-07b302f8a315 state: down mac: <filter> 
           IF-ID-3: br-0ce864a4f2dc state: down mac: <filter> 
           IF-ID-4: br-2c18a42f7e4e state: down mac: <filter> 
           IF-ID-5: br-42054f7aa6d3 state: down mac: <filter> 
           IF-ID-6: br-5d8bc75c0c56 state: down mac: <filter> 
           IF-ID-7: br-936fdc273994 state: down mac: <filter> 
           IF-ID-8: br-d61243ecca52 state: down mac: <filter> 
           IF-ID-9: br-e24a31ea017b state: down mac: <filter> 
           IF-ID-10: br-e33f6d62c828 state: up speed: N/A duplex: N/A mac: <filter> 
           IF-ID-11: docker0 state: down mac: <filter> 
           IF-ID-12: veth552d370 state: up speed: 10000 Mbps duplex: full mac: <filter> 
           IF-ID-13: veth6696da0 state: up speed: 10000 Mbps duplex: full mac: <filter> 
           IF-ID-14: veth8b888a9 state: up speed: 10000 Mbps duplex: full mac: <filter> 
           IF-ID-15: vethacb1239 state: up speed: 10000 Mbps duplex: full mac: <filter> 
           IF-ID-16: vethe737c6b state: up speed: 10000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 238.47 GiB used: 99.01 GiB (41.5%) 
           ID-1: /dev/sda vendor: SK Hynix model: SC311 SATA 256GB size: 238.47 GiB speed: 6.0 Gb/s serial: <filter> 
Partition: ID-1: / size: 233.23 GiB used: 99.00 GiB (42.4%) fs: ext4 dev: /dev/dm-0 
Sensors:   System Temperatures: cpu: 49.0 C mobo: N/A 
           Fan Speeds (RPM): cpu: 2488 fan-2: 2501 
Info:      Processes: 299 Uptime: 1d 18h 39m Memory: 31.22 GiB used: 7.33 GiB (23.5%) Init: systemd v: 242 Compilers: 
           gcc: 9.2.0 Shell: zsh v: 5.7.1 running in: terminator inxi: 3.0.36

from Pulseaudio documentation
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules

This module is deprecated on systems where udev is available. Please use module-udev-detect instead.

Do not use this together with module-udev-detect!

module-udev-detect is not commented out in /etc/pulse/default.pa
configuration first looks for module-udev-detect
if module-udev-detect is not detected, the '.else' conditional loads load legacy module-detect
pulseaudio will only load one detection module at any time

suggest check udev services:

sudo systemctl status systemd-udevd.service systemd-udev-trigger.service

and check udev detection audio device:

udevadm info -q all -p /sys/class/sound/card0/

also check what is detected in ALSA for audio device

alsa-info.sh --upload (only need url link to data posted here)

Sorry, I said that it was commented but I meant that it was not being used because the conditional is true. I tried removing the if clause and just loading the module-detect and it works.

Output of sudo systemctl status systemd-udevd.service systemd-udev-trigger.service

● systemd-udevd.service - udev Kernel Device Manager
   Loaded: loaded (/usr/lib/systemd/system/systemd-udevd.service; static; vendor preset: disabled)
   Active: active (running) since Fri 2019-11-22 11:21:08 -03; 3min 57s ago
     Docs: man:systemd-udevd.service(8)
           man:udev(7)
 Main PID: 397 (systemd-udevd)
   Status: "Processing with 72 children at max"
    Tasks: 1
   Memory: 39.1M
   CGroup: /system.slice/systemd-udevd.service
           └─397 /usr/lib/systemd/systemd-udevd

Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>
Nov 22 11:21:22 manjaro systemd-udevd[1086]: link_config: autonegotiation is unset or enabled, the speed and duple>

● systemd-udev-trigger.service - udev Coldplug all Devices
   Loaded: loaded (/usr/lib/systemd/system/systemd-udev-trigger.service; static; vendor preset: disabled)
   Active: active (exited) since Fri 2019-11-22 11:21:07 -03; 3min 58s ago
     Docs: man:udev(7)
           man:systemd-udevd.service(8)
  Process: 387 ExecStart=/usr/bin/udevadm trigger --type=subsystems --action=add (code=exited, status=0/SUCCESS)
  Process: 394 ExecStart=/usr/bin/udevadm trigger --type=devices --action=add (code=exited, status=0/SUCCESS)
 Main PID: 394 (code=exited, status=0/SUCCESS)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
lines 1-33/33 (END)

Output udevadm info -q all -p /sys/class/sound/card0/

P: /devices/pci0000:00/0000:00:1f.3/sound/card0
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:1f.3/sound/card0
E: SUBSYSTEM=sound
E: USEC_INITIALIZED=8014441
E: ID_PATH=pci-0000:00:1f.3
E: ID_PATH_TAG=pci-0000_00_1f_3
E: ID_FOR_SEAT=sound-pci-0000_00_1f_3
E: SOUND_INITIALIZED=1
E: ID_PCI_CLASS_FROM_DATABASE=Multimedia controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Audio device
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=CM238 HD Audio Controller
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0xa171
E: SOUND_FORM_FACTOR=internal
E: SYSTEMD_WANTS=sound.target
E: TAGS=:systemd:seat:

Link to alsa-info.sh: http://alsa-project.org/db/?f=20f40971784caef53d9b7e54d1c722294b7f3e8b

Forum kindly sponsored by