Bug 192891

Summary: No audio from microphone (ALC3227)
Product: Drivers Reporter: Artem S. Tashkinov (aros)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED OBSOLETE    
Severity: blocking CC: tiwai
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.9.3 4.8.16 4.10.5 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: 5 seconds of audio
alsa-info

Description Artem S. Tashkinov 2017-01-18 09:59:49 UTC
Created attachment 252311 [details]
5 seconds of audio

I've got a laptop with 

[   15.257879] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3227: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[   15.257881] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   15.257882] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   15.257883] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   15.257884] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   15.257885] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
[   15.257886] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
[   15.296600] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input14
[   15.296734] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15
[   15.296819] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17
[   15.296902] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18
[   15.296983] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input19

However since some kernel 4.8.x version I cannot record any sound - it records empty sound.

$ arecord -vv -fdat foo.wav
Recording WAVE 'foo.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Plug PCM: Linear conversion PCM (S32_LE)
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Slave: Soft volume PCM
Control: Digital Capture Volume
min_dB: -30
max_dB: 30
resolution: 121
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 16384
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Slave: Direct Snoop PCM
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 16384
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Hardware PCM card 0 'HDA Intel PCH' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 16384
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : ENABLE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 4611686018427387904
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0

All controls are set to their maximum/enabled values.
Comment 1 Artem S. Tashkinov 2017-01-18 10:04:09 UTC
Created attachment 252321 [details]
alsa-info
Comment 2 Artem S. Tashkinov 2017-01-18 10:09:24 UTC
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
	Subsystem: Hewlett-Packard Company Device [103c:80d1]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 295
	Region 0: Memory at a1628000 (64-bit, non-prefetchable) [size=16K]
	Region 4: Memory at a1610000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee003b8  Data: 0000
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_soc_skl
Comment 3 Artem S. Tashkinov 2017-02-02 14:38:58 UTC
Any updates on this bug? Any information you might need from me? It's been two weeks since I filed it.
Comment 4 Artem S. Tashkinov 2017-02-15 10:53:58 UTC
Any updates on this bug? Any information you might need from me? It's been four weeks since I filed it.
Comment 5 Artem S. Tashkinov 2017-02-23 19:15:04 UTC
Another week with no microphone input.
Comment 6 Takashi Iwai 2017-02-28 16:26:50 UTC
Unfortunately, it's a thing only the hardware owner can figure out.  Just do trial-and-error of some more model options or apply the quirk line manually that may match with yours.  Pinging on the bugzilla won't help.
Comment 7 Artem S. Tashkinov 2017-02-28 16:43:58 UTC
(In reply to Takashi Iwai from comment #6)
> Unfortunately, it's a thing only the hardware owner can figure out.  Just do
> trial-and-error of some more model options or apply the quirk line manually
> that may match with yours.  Pinging on the bugzilla won't help.

Where's the list of these quirks? How can the be applied?
Comment 8 Takashi Iwai 2017-02-28 16:50:47 UTC
Take a look at sound/pci/hda/patch_realtek.c.  There are lots of quirks, matching with PCI SSID.
Comment 9 Artem S. Tashkinov 2017-03-23 08:27:43 UTC
patch_realtek.c weighs over 200KB and I don't think of myself as a programmer to understand how to work with this file to get the microphone back.

Is there an utility to configure the HDA codec parameters in real time without recompilation? I remember you had something like that in the past.
Comment 10 Artem S. Tashkinov 2017-08-18 20:26:23 UTC
The plot thickens.

I tried using PulseAudio for a change and it actually detected two inputs while `arecord -l` sees just one.

And one of those two inputs actually work just fine. However when I run plain ALSA there are no controls to switch between different inputs. It seems like PulseAudio sees (and manages to control) something other mixer applications (alsamixer/xfce4-mixer) don't see.

I'm utterly confused. Please tell me what I'm overlooking.
Comment 11 Artem S. Tashkinov 2018-12-18 01:11:40 UTC
I've fully switched to PA, so let's close this bug report as it's no longer relevant.