Asus laptop internal microphone only working after rebooting from Windows

Hi, I have a strange issue with my Asus laptop internal microphone. I have a Windows-Garuda dual boot. If I boot into Windows, the microphone works normally. If I reboot from Windows to Garuda, it also works normally. But if I reboot again to Garuda then it stops working. It's still recognized but it doesn't catch any sound at all. If I plug in some headphones with integrated microphone they work fine. I noticed that as soon as I turn down the microphone sensitivity under 40% they start to work (but they are too quiet), but if I turn it up after 39% the level bar spikes and then nothing works anymore (this while in the anormal situation, after rebooting from windows they work excellent at any level). I really can't understand what the problem could be..

inxi -Fxxxza
System:    Kernel: 5.11.7-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 10.2.1
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
           root=UUID=c0729f37-3ac4-4dbc-bc06-63512a7c0f45 rw rootflags=subvol=@ quiet splash
           rd.udev.log_priority=3 vt.global_cursor_default=0 systemd.unified_cgroup_hierarchy=1
           loglevel=3
           Desktop: KDE Plasma 5.21.3 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 dm: SDDM
           Distro: Garuda Linux
Machine:   Type: Laptop System: ASUSTeK product: X550LD v: 1.0 serial: <filter>
           Mobo: ASUSTeK model: X550LD v: 1.0 serial: <filter> UEFI: American Megatrends
           v: X550LD.308 date: 04/17/2019
Battery:   ID-1: BAT0 charge: 29.5 Wh condition: 29.5/37.4 Wh (79%) volts: 14.4/14.4
           model: ASUSTeK X550A26 type: Li-ion serial: N/A status: Not charging cycles: 171
CPU:       Info: Dual Core model: Intel Core i7-4500U bits: 64 type: MT MCP arch: Haswell
           family: 6 model-id: 45 (69) stepping: 1 microcode: 26 L2 cache: 4 MiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19156
           Speed: 1796 MHz min/max: 800/3000 MHz Core speeds (MHz): 1: 1796 2: 1819 3: 1979
           4: 1796
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass
           mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW,
           STIBP: conditional, RSB filling
           Type: srbds mitigation: Microcode
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel Haswell-ULT Integrated Graphics vendor: ASUSTeK driver: i915
           v: kernel bus ID: 00:02.0 chip ID: 8086:0a16 class ID: 0300
           Device-2: NVIDIA GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]
           driver: N/A alternate: nouveau, nvidia_drm, nvidia bus ID: 04:00.0 chip ID: 10de:1140
           class ID: 0302
           Device-3: Chicony USB2.0 HD UVC WebCam type: USB driver: uvcvideo bus ID: 2-5:2
           chip ID: 04f2:b40a class ID: 0e02 serial: <filter>
           Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: loaded: intel
           display ID: :0 screens: 1
           Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0")
           s-diag: 414mm (16.3")
           Monitor-1: eDP1 res: 1366x768 hz: 60 dpi: 102 size: 340x190mm (13.4x7.5")
           diag: 389mm (15.3")
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4400 (HSW GT2) v: 4.5 Mesa 20.3.4
           compat-v: 3.0 direct render: Yes
Audio:     Device-1: Intel Haswell-ULT HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
           bus ID: 00:03.0 chip ID: 8086:0a0c class ID: 0403
           Device-2: Intel 8 Series HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
           bus ID: 00:1b.0 chip ID: 8086:9c20 class ID: 0403
           Sound Server: ALSA v: k5.11.7-zen1-1-zen
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK
           driver: r8169 v: kernel port: e000 bus ID: 02:00.1 chip ID: 10ec:8168 class ID: 0200
           IF: enp2s0f1 state: down mac: <filter>
           Device-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
           vendor: AzureWave driver: ath9k v: kernel port: e000 bus ID: 03:00.0
           chip ID: 168c:0036 class ID: 0280
           IF: wlp3s0 state: up mac: <filter>
Bluetooth: Device-1: IMC Networks type: USB driver: btusb v: 0.8 bus ID: 2-6:4
           chip ID: 13d3:3408 class ID: e001
           Message: Required tool hciconfig not installed. Check --recommends
Drives:    Local Storage: total: 931.52 GiB used: 13.58 GiB (1.5%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB
           block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s rotation: SSD
           serial: <filter> rev: 4B6Q scheme: GPT
           ID-2: /dev/sdb maj-min: 8:16 vendor: Toshiba model: MQ01ABF050 size: 465.76 GiB
           block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s rotation: 5400 rpm
           serial: <filter> rev: 1J scheme: GPT
Partition: ID-1: / raw size: 100 GiB size: 100 GiB (100.00%) used: 13.56 GiB (13.6%) fs: btrfs
           dev: /dev/sda5 maj-min: 8:5
           ID-2: /boot/efi raw size: 100 MiB size: 96 MiB (96.00%) used: 25.5 MiB (26.5%)
           fs: vfat dev: /dev/sda1 maj-min: 8:1
           ID-3: /home raw size: 100 GiB size: 100 GiB (100.00%) used: 13.56 GiB (13.6%)
           fs: btrfs dev: /dev/sda5 maj-min: 8:5
           ID-4: /var/log raw size: 100 GiB size: 100 GiB (100.00%) used: 13.56 GiB (13.6%)
           fs: btrfs dev: /dev/sda5 maj-min: 8:5
           ID-5: /var/tmp raw size: 100 GiB size: 100 GiB (100.00%) used: 13.56 GiB (13.6%)
           fs: btrfs dev: /dev/sda5 maj-min: 8:5
Swap:      Kernel: swappiness: 10 (default 60) cache pressure: 75 (default 100)
           ID-1: swap-1 type: zram size: 1.91 GiB used: 0 KiB (0.0%) priority: 32767
           dev: /dev/zram0
           ID-2: swap-2 type: zram size: 1.91 GiB used: 0 KiB (0.0%) priority: 32767
           dev: /dev/zram1
           ID-3: swap-3 type: zram size: 1.91 GiB used: 0 KiB (0.0%) priority: 32767
           dev: /dev/zram2
           ID-4: swap-4 type: zram size: 1.91 GiB used: 0 KiB (0.0%) priority: 32767
           dev: /dev/zram3
Sensors:   System Temperatures: cpu: 49.0 C mobo: N/A
           Fan Speeds (RPM): cpu: 2600
Info:      Processes: 237 Uptime: 1h 02m wakeups: 1 Memory: 7.65 GiB used: 4.06 GiB (53.1%)
           Init: systemd v: 247 Compilers: gcc: 10.2.0 clang: 11.1.0 Packages: pacman: 1449
           lib: 355 Shell: fish v: 3.2.0 running in: alacritty inxi: 3.3.01
pacmd list-sources
3 source(s) available.
    index: 0
	name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
	driver: <module-alsa-card.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 1030
	volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
	        balance 0,00
	base volume: 65536 / 100% / 0,00 dB
	volume steps: 65537
	muted: no
	current latency: 0,00 ms
	max rewind: 0 KiB
	sample spec: s16le ch 2 48000 Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
	monitor_of: 0
	card: 1 <alsa_card.pci-0000_00_1b.0>
	module: 7
	properties:
		device.description = "Monitor of Audio interno Stereo analogico"
		device.class = "monitor"
		alsa.card = "1"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xf7a18000 irq 50"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9c20"
		device.product.name = "8 Series HD Audio Controller"
		device.form_factor = "internal"
		device.string = "1"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
  * index: 1
	name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9039
	volume: front-left: 65540 / 100% / 0,00 dB,   front-right: 65540 / 100% / 0,00 dB
	        balance 0,00
	base volume: 5206 /   8% / -66,00 dB
	volume steps: 65537
	muted: no
	current latency: 0,00 ms
	max rewind: 0 KiB
	sample spec: s16le ch 2 48000 Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
	card: 1 <alsa_card.pci-0000_00_1b.0>
	module: 7
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC3236 Analog"
		alsa.id = "ALC3236 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "1"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xf7a18000 irq 50"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9c20"
		device.product.name = "8 Series HD Audio Controller"
		device.form_factor = "internal"
		device.string = "front:1"
		device.buffering.buffer_size = "384000"
		device.buffering.fragment_size = "192000"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Stereo analogico"
		device.description = "Audio interno Stereo analogico"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-input-microphone"
	active port: <analog-input-internal-mic>
    index: 2
	name: <ladspa_output.mbeq_1197.mbeq.monitor>
	driver: <module-ladspa-sink.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 1000
	volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
	        balance 0,00
	base volume: 65536 / 100% / 0,00 dB
	volume steps: 65537
	muted: no
	current latency: 0,00 ms
	max rewind: 0 KiB
	sample spec: float32le ch 2 48000 Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
	monitor_of: 1
	module: 25
	properties:
		device.description = "Monitor of LADSPA Plugin Multiband EQ on Audio interno Stereo analogico"
		device.class = "monitor"
		device.icon_name = "audio-input-microphone"
1 Like

I would check inside the Windows device manager and see if your microphone has an advanced tab that contains any power saving options. If so change the default settings. If power saving is enabled then disable it. Windows has a way of messing with devices in Linux on a hardware level. M$ Windows, the gift that keep on giving, kind of like an STD. :rofl:

1 Like

I searched but I couldn't find nothing. I even tried to disable fast boot in power management settings but I didn't work either. The strange fact is that (I just discovered), as long as I only reboot (starting from Windows) the microphone always works fine, but if I power off and on the laptop, then it stops working...

Example steps:

  1. Boot Windows: working
  2. Reboot from Windows to Garuda: working
  3. Reboot from Garuda to Garuda: working
  4. Power off from Garuda and power on to Garuda: not working

This is a common scenario for many pieces of hardware when using a dual boot with Windows. Windows tends to commandeer the hardware functionalities and often disables the hardware at the bios or firmware level.

Off the top of my head I can only suggest to test different kernel such as the mainline or LTS kernels in the hope they are affected differently than the one you are currently using.

3 Likes

Ok so apparently it's a thing with my Realtek chip (after wandering for a while in the internet). If I keep the mic boost <=39% it actually works fine (tried with a Discord call), so that's it, I guess

Check your BIOS for relevant settings.

3 Likes