TransWikia.com

Unable to record audio even with all working amixer controls | thinkpad t430

Ask Ubuntu Asked by zeekhuge on January 2, 2021

I have a T430 thinkpad, and it is unable to record audio. Details follow :

What I am trying to do:

All I am trying to do is, get my laptop’s microphone in working state. I am trying this with the default-system-microphone, as well as with the headset that I have (single 3.5mm jack with a working microphone and earplugs).

The thinkpad has a button to mute/un-mute the microphone with an LED on it, which indicates it’s status. On pressing the button, the LED did not toggle (and remains off, permanently). So I tried to start their. Further in research I discovered that even acpi_listen is not receiving the microphone button presses (it is receiving others). Turns out, this was a problem in older kernel as well. In one of the answers, the script being used is ultimately using amixer to toggle the mute/unmute state of the microphone. So I tried to first directly use that, but no success.
The details of my attempts are given below.

So, finally, what is going on ? Is it a hardware problem ? I don’t think its the problem of the microphone, because then, the headset should have worked. Is it the card itself or what ? Is their a better and more concrete way to debug this issue further ?

Attempts:

The system settings show the following :

enter image description here

NOTE: The device changes to Internal Microphone - Built-in Audio when I unplug the headset.

For testing purposes, I tried recording audio using the default Audio Recorder application :

enter image description here

  • Using Audio Output as the Source, I am able to record music that is being played.
  • Using Microphone as the Source in the Audio Recorder, with headset inserted, the recorded audio has nothing but white-noise.
  • Using Microphone as the Source in the Audio Recorder, with headset not inserted hence the system-microphone, its again just the white noise. The difference, this time being, that the white-noise is a bit more louder.

The following were the amixer settngs while I was trying to record audio.

  • amixer -c 0 scontrols output
zeekhuge ● amixer -c 0 scontrols
Simple mixer control 'Master',0
Simple mixer control 'Headphone',0
Simple mixer control 'Headphone',1
Simple mixer control 'Speaker',0
Simple mixer control 'PCM',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'Mic Mute-LED Mode',0
Simple mixer control 'Beep',0
Simple mixer control 'Capture',0
Simple mixer control 'Auto-Mute Mode',0
Simple mixer control 'Digital',0
Simple mixer control 'Dock Mic',0
Simple mixer control 'Dock Mic Boost',0
Simple mixer control 'Internal Mic Boost',0
Simple mixer control 'Loopback Mixing',0
  • Parameters of seemingly relevant controls:
zeekhuge ● amixer -c 0 sget 'Master',0
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 59 [68%] [-21.00dB] [on]

zeekhuge ● amixer -c 0 sget 'Mic',0
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]

zeekhuge ● amixer -c 0 sget 'Mic Boost',0
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%] [20.00dB]
  Front Right: 2 [67%] [20.00dB]

zeekhuge ● amixer -c 0 sget 'Mic Mute-LED Mode',0
Simple mixer control 'Mic Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
  Item0: 'Follow Mute'

zeekhuge ● amixer -c 0 sget 'Capture',0
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]

zeekhuge ● amixer -c 0 sget 'Auto-Mute Mode',0
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'

zeekhuge ● amixer -c 0 sget 'Digital',0
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 120 [100%] [30.00dB]
  Front Right: Capture 120 [100%] [30.00dB]

zeekhuge ● amixer -c 0 sget 'Dock Mic',0
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]

zeekhuge ● amixer -c 0 sget 'Dock Mic Boost',0
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

zeekhuge ● amixer -c 0 sget 'Internal Mic Boost',0
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

So, initially, the Dock Mic Boost and Internal Mic Boost were both at 0%. I Tried sset-ing the Dock Mic Boost and Internal Mic Boost to 100%.

zeekhuge ● amixer -c 0 sget 'Dock Mic Boost',0 && amixer -c 0 sget 'Internal Mic Boost',0
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%] [20.00dB]
  Front Right: 2 [67%] [20.00dB]

Recording audio even with these parameters gave the same results as before i.e. white-noise.

  • Further, these are the controls on card 1. They don’t seem to be important, but just in case if they are required:
zeekhuge ● amixer -c 1
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

System Details:

Linux kernel and Ubuntu version:

zeekhuge ● uname -a
Linux zeekhuge 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

lspci output:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 7 Series/C210 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
02:00.0 System peripheral: Ricoh Co Ltd MMC/SD Host Controller (rev 07)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)

One Answer

OK. Turns out, the microphone was disabled in the BIOS itself. NOTE that once you change the setting in the BIOS, you need to shutdown the system completely, and remove the power supply and let it wait for just a few seconds.

IF anyone has more details to add, better ways to debug or anything, feel free to add them as answers. Till then, I'll make this one as the correct one.

Correct answer by zeekhuge on January 2, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP