Bug 757431 - My internal microphone doesn't work
My internal microphone doesn't work
Status: NEW
Product: Fedora
Classification: Fedora
Component: alsa-lib (Show other bugs)
24
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jaroslav Kysela
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-26 20:48 EST by John Anderson
Modified: 2016-07-01 15:24 EDT (History)
17 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
screenshot of alsamixer (53.36 KB, image/png)
2011-11-26 20:48 EST, John Anderson
no flags Details
screenshot of pavucontrol (33.29 KB, image/png)
2011-11-26 20:49 EST, John Anderson
no flags Details
another pavucontrol screenshot (30.11 KB, image/png)
2011-11-26 20:49 EST, John Anderson
no flags Details
alsa-info.txt from my non-working Thinkpad T400 (21.76 KB, text/plain)
2011-11-28 09:37 EST, Tomasz Torcz
no flags Details
alsa-info.sh for my Lenovo T520 (40.04 KB, application/octet-stream)
2011-11-28 12:55 EST, John Anderson
no flags Details
alsa-info.sh Lenovo TP T520 (34.30 KB, text/plain)
2011-12-31 14:55 EST, Red Crayon
no flags Details
alsa-info output after workaround procedure applied (22.06 KB, text/plain)
2012-01-07 02:21 EST, Carlton Davis
no flags Details
alsa-info output before workaround applied (22.24 KB, application/octet-stream)
2012-01-07 02:26 EST, Carlton Davis
no flags Details
the asound.state file that I mentioned in my last comment (8.03 KB, text/plain)
2012-04-01 17:06 EDT, Red Crayon
no flags Details

  None (edit)
Description John Anderson 2011-11-26 20:48:58 EST
Created attachment 536959 [details]
screenshot of alsamixer

I have an Lenovo Thinkpad T520, the microphone worked in Fedora 15 and now it doesn't. Nothing is muted in alsamixer or pavucontrol

sontek@beast$  lspci -v
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0
	Capabilities: <access denied>

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: f2000000-f30fffff
	Prefetchable memory behind bridge: 00000000e0000000-00000000f1ffffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at f5325000 (64-bit, non-prefetchable) [size=16]
	Capabilities: <access denied>

00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04) (prog-if 02 [16550])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 19
	I/O ports at 6070 [size=8]
	Memory at f532c000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: serial

00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
	Subsystem: Lenovo Device 21ce
	Flags: bus master, fast devsel, latency 0, IRQ 43
	Memory at f5300000 (32-bit, non-prefetchable) [size=128K]
	Memory at f532b000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at 6040 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: e1000e
	Kernel modules: e1000e

00:1a.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, medium devsel, latency 0, IRQ 16
	Memory at f532a000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd

00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 45
	Memory at f5320000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	Memory behind bridge: f5200000-f52fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=05, subordinate=0c, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: f4a00000-f51fffff
	Prefetchable memory behind bridge: 00000000f3100000-00000000f38fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=0d, subordinate=0d, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: f4100000-f49fffff
	Prefetchable memory behind bridge: 00000000f3900000-00000000f40fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) (prog-if 20 [EHCI])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, medium devsel, latency 0, IRQ 23
	Memory at f5329000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd

00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset Family LPC Controller (rev 04)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, medium devsel, latency 0
	Capabilities: <access denied>
	Kernel modules: iTCO_wdt

00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04) (prog-if 01 [AHCI 1.0])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 41
	I/O ports at 6068 [size=8]
	I/O ports at 607c [size=4]
	I/O ports at 6060 [size=8]
	I/O ports at 6078 [size=4]
	I/O ports at 6020 [size=32]
	Memory at f5328000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
	Subsystem: Lenovo Device 21cf
	Flags: medium devsel, IRQ 18
	Memory at f5324000 (64-bit, non-prefetchable) [size=256]
	I/O ports at efa0 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c-i801

01:00.0 VGA compatible controller: nVidia Corporation Device 1057 (rev a1) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at f2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Memory at f0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 5000 [size=128]
	[virtual] Expansion ROM at f3080000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nvidia
	Kernel modules: nvidia, nouveau, nvidiafb

01:00.1 Audio device: nVidia Corporation HDMI Audio stub (rev a1)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at f3000000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel

03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 (rev 34)
	Subsystem: Intel Corporation Centrino Advanced-N 6205 AGN
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at f5200000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: <access denied>
	Kernel driver in use: iwlagn
	Kernel modules: iwlagn

0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 08) (prog-if 01)
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at f4101000 (32-bit, non-prefetchable) [size=256]
	Capabilities: <access denied>
	Kernel driver in use: sdhci-pci
	Kernel modules: sdhci-pci

0d:00.3 FireWire (IEEE 1394): Ricoh Co Ltd FireWire Host Controller (rev 04) (prog-if 10 [OHCI])
	Subsystem: Lenovo Device 21cf
	Flags: bus master, fast devsel, latency 0, IRQ 42
	Memory at f4100000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: firewire_ohci
	Kernel modules: firewire-ohci



sontek@beast$  lsmod
Module                  Size  Used by
ppdev                   7360  0 
parport_pc             19600  0 
lp                      9581  0 
parport                32310  3 ppdev,parport_pc,lp
fuse                   61671  3 
lockd                  70080  0 
rfcomm                 57023  4 
bnep                   14195  2 
nvidia              12112133  43 
snd_hda_codec_hdmi     23548  1 
snd_hda_codec_conexant    55283  1 
arc4                    1417  2 
uvcvideo               56989  0 
videodev               78689  1 uvcvideo
media                  11511  2 uvcvideo,videodev
v4l2_compat_ioctl32     7665  1 videodev
btusb                  14597  2 
bluetooth             202902  23 rfcomm,bnep,btusb
iwlagn                325170  0 
microcode              18539  0 
snd_seq                52186  0 
joydev                  9567  0 
snd_seq_device          5941  1 snd_seq
mac80211              251806  1 iwlagn
cfg80211              151125  2 iwlagn,mac80211
snd_hda_intel          24072  2 
snd_hda_codec          85462  3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
iTCO_wdt               12024  0 
iTCO_vendor_support     2578  1 iTCO_wdt
i2c_i801                9237  0 
e1000e                174876  0 
snd_hwdep               6264  1 snd_hda_codec
snd_pcm                78498  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
thinkpad_acpi          66302  0 
rfkill                 16336  5 bluetooth,cfg80211,thinkpad_acpi
snd_timer              19372  2 snd_seq,snd_pcm
snd                    63124  14 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_seq,snd_seq_device,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,thinkpad_acpi,snd_timer
soundcore               6267  1 snd
snd_page_alloc          7311  2 snd_hda_intel,snd_pcm
i2c_core               25728  3 nvidia,videodev,i2c_i801
sunrpc                201219  2 lockd
uinput                  7230  0 
firewire_ohci          26101  0 
sdhci_pci               9197  0 
sdhci                  22955  1 sdhci_pci
mmc_core               78447  1 sdhci
firewire_core          49303  1 firewire_ohci
crc_itu_t               1547  1 firewire_core
video                  12388  0 
wmi                     9049  0
Comment 1 John Anderson 2011-11-26 20:49:32 EST
Created attachment 536960 [details]
screenshot of pavucontrol
Comment 2 John Anderson 2011-11-26 20:49:54 EST
Created attachment 536961 [details]
another pavucontrol screenshot
Comment 3 John Anderson 2011-11-27 04:21:06 EST
sontek@beast$ (git::master) cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf5320000 irq 45
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xf3000000 irq 17
29 [ThinkPadEC     ]: ThinkPad EC - ThinkPad Console Audio Control
                      ThinkPad Console Audio Control at EC reg 0x30, fw unknown
Comment 4 Tomasz Torcz 2011-11-28 06:56:37 EST
Same problem on T400. F15 was fine, in F16 internal micrphone does not work.
Comment 5 Alessandro Lazarotti 2011-11-28 08:43:42 EST
The same with Fedora 15 on Lenovo T520 after updates:

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf2620000 irq 47
29 [ThinkPadEC     ]: ThinkPad EC - ThinkPad Console Audio Control
                      ThinkPad Console Audio Control at EC reg 0x30, fw unknown
Comment 6 Chuck Ebbert 2011-11-28 09:12:25 EST
For debugging sound problems we need to see the output of the alsa-info.sh script. (It's part of the alsa-utils package.) Also, please post large files as attachments, not inline.
Comment 7 Tomasz Torcz 2011-11-28 09:37:38 EST
Created attachment 537496 [details]
alsa-info.txt from my non-working Thinkpad T400
Comment 8 John Anderson 2011-11-28 12:55:43 EST
Created attachment 537578 [details]
alsa-info.sh for my Lenovo T520
Comment 9 Red Crayon 2011-12-16 00:51:07 EST
I have same problem.  Dashboard mic worked fine in F15.  Does not work in F16.  Thois is on a Lenovo T520.  Please advise what files I can upload here that will help (but it seems to me that the issue is well documented already... just casting my vote that this is not a one-off issue).

Thanks.
Comment 10 Red Crayon 2011-12-31 14:55:39 EST
Created attachment 550136 [details]
alsa-info.sh Lenovo TP T520
Comment 11 Carlton Davis 2012-01-06 19:31:20 EST
I had the same problem with my Lenovo Thinkpad t520 with a Conexant CX20590 chip, running Fedora 16. After too many hours of trial and error procedures, I managed to find a workaround for this problem. I outline the problem I had and the solution that worked for me in the steps listed below:

1) I was getting the following messages:
   "[42.290553] ALSA init.c:200 cannot find the slot for index -536870912  
    (range   0-0), error: -19
    [42.290555] thinkpad_acpi: Failed to create ALSA card structures: -19
    [42.290557] thinkpad_acpi: Could not create the ALSA mixer interface"
when the machine boots. I suspect that the reason for this was that there was I problem with the Thinkpad ACPI kernel module. I tried various potential fixes but nothing works; so I eventually decide to compile a custom kernel using the instruction available at http://fedoraproject.org/wiki/Building_a_custom_kernel.
If you don't get the above error or a similar one, you may not need to compile a custom kernel; in that case, you can do directly to step 3.
At the kernel configuration phase, I made the following changes to the original kernel .config file (using make menuconfig): I added Thinkpad ACPI support in the kernel rather than compiling it as a kernel module. To accomplish this, I had to do the following: (a) After executing the command "make menuconfig", in the GUI that appear, select "Networking support" then unselect "RF switch subsystem support", then press ESC to return to the original menu; (b) select "Device Drivers" then "X86 Platform Specific Device Drivers", then highlight "Thinkpad ACPI Laptop Extras" and type "y" to add this feature to the kernel. A "<*>" should appear in front of "Thinkpad ACPI Laptop Extras" instead of "<M>". I also selected the option "Allow control of important LEDs (unsafe)". I was hoping that it would have cause the microphone mute button to work, but it didn't. I suspect that this workaround will work without selecting this option, but I haven't tested it so I don't know for sure. (c) Press ESC ESC to go back to the main menu and return to "Networking support" then highlight "RF switch subsystem support" and type "y" to add this feature to the kernel, rather than it being compiled as a module. If you don't follow this sequence and you try to add Thinkpad ACPI support into the kernel, you will get a message saying "This feature depends on another which has been configured as a module. As a result this feature will be build as a module". After configuring the kernel, following the remaining instructions outlined at the link above to build and install the kernel. When you install the kernel, you may get a "Fatal grub error" but you can ignore it. Next edit /etc/modprobe.d/dist-alsa.conf and the following line at the end of the file
     options snd-hda-intel model=auto
then reboot the system.

2) After I install the custom kernel I built and reboot, xorg refuse to start because of nouveau (nvidia) modules in the new kernel. To solve this problem, I followed the instructions outline at http://www.if-not-true-then-false.com/2011/fedora-16-nvidia-drivers-install-guide-disable-nouveau-driver to install nVidia proprietary drivers on Fedora 16 and disable Nouveau driver. After doing this, I was able to boot the system into xwindows.

3) After I installing the custom kernel and rebooted the system, the microphone still didn't work. To get it to work I did the following: (a) I edited /var/lib/alsa/asound.state by executing the following command "sudo vim /var/lib/alsa/asound.state" and changed it such that relevant portion of this file is as indicated below. Here is what the relevant portion of the file looks like before I edit it.

Before editing
--------------
        control.8 {
                iface MIXER
                name 'Mic Capture Switch'
                value.0 false
                value.1 false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 2
                }
        }
        control.9 {
                iface MIXER
                name 'Internal Mic Boost Volume'
                value.0 3
                value.1 3
                comment {
                        access 'read write'
                        type INTEGER
                        count 2
                        range '0 - 4'
                        dbmin 0
                        dbmax 4800
                        dbvalue.0 3600
                        dbvalue.1 3600
                }
        }
        control.10 {
                iface MIXER
                name 'Internal Mic Capture Volume'
                value.0 0
                value.1 0
                comment {
                        access 'read write'
                        type INTEGER
                        count 2
                        range '0 - 80'
                        dbmin -7400
                        dbmax 600
                        dbvalue.0 -7400
                        dbvalue.1 -7400
                }
        }
        control.11 {
                iface MIXER
                name 'Internal Mic Capture Switch'
                value.0 false
                value.1 false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 2
                }
        }

After editing
-------------
        control.8 {
                iface MIXER
                name 'Mic Capture Switch'
                value.0 true
                value.1 true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 2
                }
        }
        control.9 {
                iface MIXER
                name 'Internal Mic Boost Volume'
                value.0 4
                value.1 4
                comment {
                        access 'read write'
                        type INTEGER
                        count 2
                        range '0 - 4'
                        dbmin 0
                        dbmax 4800
                        dbvalue.0 4800
                        dbvalue.1 4800
                }
        }
        control.10 {
                iface MIXER
                name 'Internal Mic Capture Volume'
                value.0 80
                value.1 80
                comment {
                        access 'read write'
                        type INTEGER
                        count 2
                        range '0 - 80'
                        dbmin -7400
                        dbmax 600
                        dbvalue.0 600
                        dbvalue.1 600
              }
        }
        control.11 {
                iface MIXER
                name 'Internal Mic Capture Switch'
                value.0 true
                value.1 true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 2
                }
        }

The changes were to change the value associated with "value.0" and "value.1" from "false" to "true" and to change the value assigned to these variables from "0" to "80".

4) After editing /var/lib/also/asound.state, the next step is to get alsa to load the file and consequently change the state of microphone control. I performed this by executing the command "sudo alsactl restore". After doing this, the microphone works!!

5) However, each time I reboot, the microphone again refuse to function. It seems as if ALSA mute the microphone each time the system boots. So after each reboot, I have to execute the command "sudo alsactl restore" to get the microphone to work.

I hope that the ALSA guys will find a permanent fix for this problem, but in the meantime you can use this workaround to get your microphone to work.
Comment 12 Red Crayon 2012-01-07 01:00:00 EST
Some of that worked for me.

This is on a Lenovo ThipPad T520.

I skipped to step 3 in comment #11 (no new kernel etc.)

I changed the boolean values to true and also changed 0 to 80 

(I am experimenting with values other than 80)

then I executed "alsactl restore"

the mic then works.

it sounds very "tinny" and bad.  (this is why I am experimenting with values other than 80)

but it works.  better than nothing.

I also have to re-run alsactl after reboot (and, it seems, re-do the edits as well)

This is progress.
Comment 13 John Anderson 2012-01-07 01:51:19 EST
What would I change mine to? This is what I currently have:

state.AK5370 {
	control.1 {
		iface MIXER
		name 'Mic Capture Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'Mic Capture Volume'
		value 78
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 78'
			dbmin -5800
			dbmax 2000
			dbvalue.0 2000
		}
	}
}
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 4
		value.1 4
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 4000
			dbvalue.1 4000
		}
	}
	control.7 {
		iface MIXER
		name 'Mic Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.8 {
		iface MIXER
		name 'Mic Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4800
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.10 {
		iface MIXER
		name 'Internal Mic Capture Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 -7400
			dbvalue.1 -7400
		}
	}
	control.11 {
		iface MIXER
		name 'Internal Mic Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.12 {
		iface MIXER
		name 'Master Playback Volume'
		value 41
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -3300
		}
	}
	control.13 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'Beep Playback Volume'
		value 1
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -2800
			dbmax 0
			dbvalue.0 -2400
		}
	}
	control.15 {
		iface MIXER
		name 'Beep Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
state.ThinkPadEC {
	control.1 {
		iface MIXER
		name 'Console Playback Switch'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
}
state.NVidia {
	control.1 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.6 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.7 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.12 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
}
state.Pro {
	control.1 {
		iface MIXER
		name 'Mic Capture Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'Mic Capture Volume'
		value.0 94
		value.1 94
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 94'
			dbmin -6400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.3 {
		iface MIXER
		name 'PCM Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 50
		value.1 50
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1400
			dbvalue.1 -1400
		}
	}
}
Comment 14 Carlton Davis 2012-01-07 02:21:36 EST
Created attachment 551339 [details]
alsa-info output after workaround procedure applied

With regards to my previous post, I found out after that the alsa configuration file (/var/lib/alsa/asound.state) is overwritten each time the system boots and the value associated with value.0 and value.1 is change from "true" to "false". Therefore, after /var/lib/alsa/asound.state is edited as outline in my previous post, a copy of the file needs to be saved. I saved this file as /var/lib/alsa/asound.state-good. Then I added the following line at the end of /etc/rc.d/rc.local
           cp /var/lib/alsa/asound.state-good /var/lib/alsa/asound.state
then I added the line
          /usr/sbin/alsactl restore
to ~/.bashrc. This avoids the need of having to manually editing the alsa config file and executing alsactl each time that the system boots. Note that sudo (ie root) is not required for the alsactl command (as I had indicated in my previous post. I tried put the "/usr/sbin/alsactl restore" command in /etc/rc.d/rc.local and in /etc/init.d/alsasound but this didn't resolve the issue; however, it works when I place this command in ~/.bashrc. I attached the alsa-info output I got after I applied the workaround procedure and got the microphone to work. I will also attach the alsa-info output I got before I applied the workaround procedure. If the "ALSA/HDA dmesg" section of the alsa-info report (the last section) is like my first attachment then you don't need to compile a custom kernel. If however, it is similar to that of my second attachment, you most likely need to compile a custom kernel. If so, then follow the instruction given in my previous post.
Comment 15 Carlton Davis 2012-01-07 02:26:18 EST
Created attachment 551340 [details]
alsa-info output before workaround applied

Here is the alsa-info output before I applied the workaround, ie before I got the microphone to work.
Comment 16 Carlton Davis 2012-01-07 02:43:02 EST
Red Crayon,

After editing /var/lib/alsa/asound.state and running alsactl, you can also use alsamixer to adjust the microphone control by running
  alsamixer -c0 -Vcapture
and scroll through the different controls with TAB and use the UP and DOWN key to adjust the controls.
Comment 17 Carlton Davis 2012-01-07 02:58:53 EST
John,

In control.9, you can change the value associated with value.0 and value.1 from 0 to 4; in control.10, you can change value of these variables from 0 to 80; and in control 11, change the boolean value associated with these variables from false to true.
Comment 18 John Anderson 2012-01-07 04:47:01 EST
Carlton, that worked, my internal mic works again!
Comment 19 John Anderson 2012-02-18 15:11:30 EST
Any word on when a fix could be rolled out since we have found the cause and solution of the bug?
Comment 20 Kayvan Sylvan 2012-03-30 00:40:00 EDT
I am also experiencing this after the latest updates on a T410 Lenovo Thinkpad on F16.
Comment 21 Red Crayon 2012-04-01 17:02:55 EDT
Kayvan:

I run the following shell script, as root, once per boot:

/start shell script/

#!/bin/bash
/bin/cp -cf /var/lib/alsa/asound.state /var/lib/alsa/asound.stat_b
/bin/cp -cf /root/asound.state /var/lib/alsa/asound.state
/sbin/alsactl restore
alsamixer -c0 -Vcapture

/end shell script/

then when the mixer pops up I reduce "mic boost" to 59, "internal mic" to 56 and "internal mic boost" to 56.  then exit (Esc)

It's a bit of a kludge, but it DOES WORK, every time

The file /root/asound.state referred to in the script is the original 
/var/lib/alsa/asound.state but edited as described in the above comments
(comment #11 in particular)

HTH
Comment 22 Red Crayon 2012-04-01 17:06:16 EDT
Created attachment 574368 [details]
the asound.state file that I mentioned in my last comment

this is the asound.state file that I mentioned in my last comment
Comment 23 Ricky Zhou 2012-04-13 04:32:23 EDT
Ping?

Any thoughts from the maintainers?  It looks like a fair amount of investigation into this has been done, so hopefully that's a good point for somebody more knowledgeable about ALSA to start from.
Comment 24 kaspro 2012-04-25 06:03:36 EDT
I can confirm this on my Lenovo X201:
Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
	Subsystem: Lenovo Device 215e
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at f2520000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [130] Root Complex Link
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel

Setting the /var/lib/alsa/asound.state values:
control.6 {
                iface MIXER
                name 'Mic Boost Volume'
                value.0 0 --> 2
                value.1 0 --> 2
                ........
        control.7 {
                iface MIXER
                name 'Mic Capture Volume'
               	value.0 0 --> 80
                value.1 0 --> 80
                ........
	control.8 {
                iface MIXER
                name 'Mic Capture Switch'
                value.0 false --> true
                value.1 false --> true
                ........
	control.9 {
                iface MIXER
                name 'Internal Mic Boost Volume'
                value.0 0 --> 2
                value.1 0 --> 2
                ........
... followed by 'alsactl restore' makes it work fine again (no tinny sound, a boost of 4 is too much ;)
Please... can this be resolved quickly? November, honestly?! It's not the first "after-update-clash" I had with F16 and F15. F14 was way more stable with these things... :( is there a way the community can help? 
Thanks anyway's and good luck with fixing your issues ;)
Chris
Comment 25 Wade Mealing 2012-05-14 20:40:36 EDT
I can't take this bug (I don't know enough about it), but i'm wondering if this is a a bug in the alsa code, or the kernel drivers itself.  I think that the config is generated by alsactl store but the defaults are generated is from the driver.
Comment 26 John Anderson 2012-05-14 22:56:25 EDT
This is still a bug in Fedora 17 with the latest updates:

Linux beast 3.3.4-5.fc17.i686 #1 SMP Mon May 7 17:45:26 UTC 2012 i686 i686 i386 GNU/Linux

I think this should be moved to being a blocker, there is no excuse to have 2 releases in a row with broken microphones for some of the most popular laptops for Linux users.
Comment 27 Johannes Postler 2012-05-15 02:28:41 EDT
Could this be related?

https://bugzilla.redhat.com/show_bug.cgi?id=752610
Comment 28 Johannes Postler 2012-06-02 08:25:04 EDT
Seems to be fixed for me in F17.
Comment 29 John Anderson 2012-06-02 12:06:33 EDT
Working for me with latest updated F17 as well. Wasn't working in RC2 so it is fixed :)
Comment 30 Red Crayon 2012-06-25 01:50:17 EDT
I can confirm that it's working for me too, on F17, on similar equipment (Lenovo x220), but the exact equipment on which I had the problem in F16 (T520), is still running F16.
Comment 31 Fedora End Of Life 2013-01-16 16:42:18 EST
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 32 Tomasz Torcz 2013-01-19 11:46:21 EST
Still doesn't work with 3.7.2-201.fc18.x86_64
Comment 33 Fedora End Of Life 2013-12-21 03:31:11 EST
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 34 Tomasz Torcz 2013-12-21 10:38:36 EST
Still does not work, with kernel-3.12.5-302.fc20.x86_64 and alsa-lib-1.0.27.2-2.fc20.x86_64
Comment 35 John Anderson 2013-12-21 14:59:51 EST
My microphone on my T530 in F20 and  T520 on F19 are both working.  So its been fixed for me at least
Comment 36 Tomasz Torcz 2013-12-21 16:59:33 EST
I have T400.
Comment 37 Johannes Postler 2013-12-22 03:01:39 EST
I'm running F19 on a T400 and it's working fine for me. As far as I remember it has been working for ages (at least F18 though).
Comment 38 Tomasz Torcz 2014-03-31 14:07:19 EDT
Well, it's not working for me. Two and a half year later, with kernel-3.14.0-0.rc5.git2.1.fc21.x86_64, the mic is still silent during recording.
Comment 39 Wade Mealing 2014-03-31 23:33:26 EDT
Tomasz: as this bug is closed, might be worthwhile raising another.
Comment 40 Tom McKay 2014-04-23 11:08:47 EDT
Mic not working for me:
After suspend, no input devices work. Had to hand-edit /var/lib/alsa/asound.state as described here https://ask.fedoraproject.org/en/question/7591/internal-mic-not-working-thinkpad-t520-f16-x64/

f19 lenovo T520

kernel-3.13.9-100.fc19.x86_64
alsa-firmware-1.0.27-1.fc19.noarch
alsa-lib-1.0.27.2-1.fc19.x86_64
alsa-utils-1.0.27.2-3.fc19.x86_64
alsa-tools-firmware-1.0.27-2.fc19.x86_64
alsa-plugins-pulseaudio-1.0.27-1.fc19.x86_64
Comment 41 Tomasz Torcz 2014-12-25 15:06:04 EST
Still doesn't work, kernel-3.18.1-2.fc22.x86_64
Comment 42 Johannes Postler 2014-12-25 15:12:40 EST
As mentioned in earlier comments, it used to work for me with kernel up to 3.16. Now I'm using 3.17.6-200.fc20.x86_64 and it stopped working again. 

alsa-firmware: 1.0.27-2.fc20.x86_64
alsa-lib-1.0.27.2-2.fc20.x86_64
alsa-utils-1.0.27.2-4.fc20.x86_64
alsa-tools-firmware-1.0.27-3.fc20.x86_64
alsa-plugins-pulseaudio-1.0.27-2.fc20.x86_64

I assume the kernel is to blame, because it used to work on F20 with earlier kernels.
Comment 43 Jan Kurik 2015-07-15 11:12:33 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora23
Comment 44 Tomasz Torcz 2016-03-06 09:35:56 EST
Still no sound with 4.4.3-300.fc23.x86_64
Comment 45 Tomasz Torcz 2016-07-01 15:24:26 EDT
Still no working microphone:

alsa-lib-1.1.1-1.fc24.x86_64
Linux sandworm.pipebreaker.pl 4.6.3-300.fc24.x86_64 #1 SMP Fri Jun 24 20:52:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I don't want to push, but it has been 5 years. Jaroslav, what should I do to provide useful debugging info?

Note You need to log in before you can comment on or make changes to this bug.