[Lenovo X201 3323DAG, Conexant CX20585, Pink Mic, Right] Wrong input routing

Bug #1132780 reported by gcc
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Hardware: Lenovo X201, Intel 5 Series/3400 Series Chipset High Definition Audio

On this laptop, PulseAudio detects three jacks:

chris@lap-x201:~/Dropbox/projects/ischool/network-scripts$ pacmd list-sources | grep analog-input-microphone
  analog-input-microphone-internal: Internal Microphone (priority 8900, available: no)
  analog-input-microphone-dock: Dock Microphone (priority 7800, available: no)
  analog-input-microphone: Microphone (priority 8700, available: yes)
 active port: <analog-input-microphone>

The analog-input-microphone input does nothing as far as I can tell. I have to manually switch the input to -dock to use the external mic.

The status above (available: no/no/yes) is when an external mic is plugged in. When I unplug it, I get this instead:

  analog-input-microphone-internal: Internal Microphone (priority 8900, available: unknown)
  analog-input-microphone-dock: Dock Microphone (priority 7800, available: no)
  analog-input-microphone: Microphone (priority 8700, available: no)
 active port: <analog-input-microphone-internal>

I think the jack input routing is messed up: analog-input-microphone-dock and analog-input-microphone are the wrong way around for audio input, but not for jack selection (connection of a mic is correctly detected on analog-input-microphone, but this input does not receive sound from the external microphone)

I also think something is wrong with detection of -internal: it goes to "unknown" when no external mic is plugged in. (but it's still selected as the correct input in this case, so it does function).

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: alsa-base 1.0.25+dfsg-0ubuntu1
Uname: Linux 3.6.0-030600rc6-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.25.
ApportVersion: 2.0.1-0ubuntu17.1
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 0/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: chris 5478 F.... pulseaudio
 /dev/snd/pcmC0D0c: chris 5478 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2520000 irq 45'
   Mixer name : 'Intel IbexPeak HDMI'
   Components : 'HDA:14f15069,17aa2155,00100302 HDA:80862804,17aa21b5,00100000'
   Controls : 28
   Simple ctrls : 11
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6QHT31WW-1.12'
   Mixer name : 'ThinkPad EC 6QHT31WW-1.12'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Mon Feb 25 12:27:00 2013
EcryptfsInUse: Yes
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: alsa-driver
Symptom: audio
Symptom_Card: Built-in Audio - HDA Intel
Symptom_Jack: Pink Mic, Right
Symptom_Type: No auto-switch between inputs
Title: [3323DAG, Conexant CX20585, Pink Mic, Right] No autoswitch
UpgradeStatus: Upgraded to precise on 2012-08-25 (184 days ago)
dmi.bios.date: 12/17/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6QET62WW (1.32 )
dmi.board.name: 3323DAG
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6QET62WW(1.32):bd12/17/2010:svnLENOVO:pn3323DAG:pvrThinkPadX201:rvnLENOVO:rn3323DAG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 3323DAG
dmi.product.version: ThinkPad X201
dmi.sys.vendor: LENOVO
mtime.conffile..etc.modprobe.d.alsa.base.conf: 2011-04-01T22:01:13.092794

Revision history for this message
gcc (chris+ubuntu-qwirx) wrote :
Revision history for this message
Raymond (superquad-vortex2) wrote :

if there is really four amp-in for different input source, only one of them should be unmuted and the other should be muted

Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Dock Mic Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Dock Mic Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Internal Mic Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Device: name="CONEXANT Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals: [0x80 0x80] [0x4a 0x4a] [0x80 0x80] [0x4a 0x4a]
  Converter: stream=4, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states: D0 D1 D2 D3 D3cold
  Power: setting=D0, actual=D0
  Connection: 4
     0x17* 0x18 0x23 0x24

Revision history for this message
gcc (chris+ubuntu-qwirx) wrote :

Sorry, I don't know how to interpret that comment. Do you want me to do something?

I notice Volume+Switch for 2 inputs, but I think there should be 3 inputs (Dock, External Mic and Internal Mic). I'm not sure where the names come from - hardcoded in the kernel driver? ACPI?

Revision history for this message
aFoP (peter-nagy-001) wrote :

I have a Lenovo x201 with Conexant CX20585 (learned it from <code>cat /proc/asound/card0/codec#* | grep Codec</code>
I have struggled for days to have my internal mic working, everything else worked (external mic, audio, HDMI audio) though.
Here is what I did, which finally solved my problem (Ubuntu 14.10, alsa driver)

1. Installed the nightly alsa drivers for my distribution following this guide
https://wiki.ubuntu.com/Audio/UpgradingAlsa/DKMS

2. ran "alsamixer" command from terminal to make sure my mic is not muted (press "m" to mute/onmute on the device; also I disabled "automute" here (up/down arrow)

3. After I looked up all entries matching my hardware Connexant by scrolling over alsa docu file on my laptop:

<code>zless /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz</code>

I've tried adding different entries to alsa-base.conf file with command

<code>vi /etc/modprobe.d/alsa-base.conf</code>

Finally this one was what I needed (but only turned out after step 4...):

<code>options snd-hda-intel model=ideapad</code>

4. !!! Most important!!!

None of the "tricks" worked until I have re-checked whether my internal mic is enabled or disabled in BIOS.
It was ENABLED of course, but I've changed it to disable, then enabled again, and saved with F10.

Then not only rebooted, but SHUT DOWN completely the laptop (the BIOS help says to shutdown with AC power removed (!) to enable internal mic.
Then after power on again: mic worked!

(Tested and confimed in Skype as well, by calling Echo / Sound Test service.)

Revision history for this message
Raymond (superquad-vortex2) wrote :

you can try hda-analyzer to change

Amp-In vals: [0x80 0x80] [0x4a 0x4a] [0x80 0x80] [0x4a 0x4a]

and

 Connection: 4
      0x17* 0x18 0x23 0x24

as node 0x24 is connected to audio output, this allow you record what is playing

Node 0x24 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
  Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-In vals: [0x00 0x00] [0x00 0x00]
  Power states: D0 D1 D2 D3 D3cold
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11

Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CONEXANT Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals: [0x80 0x80]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states: D0 D1 D2 D3 D3cold
  Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals: [0x4a 0x4a]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states: D0 D1 D2 D3 D3cold
  Power: setting=D0, actual=D0

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

This release of Ubuntu is no longer receiving maintenance updates. If this is still an issue on a maintained version of Ubuntu please let us know.

Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for alsa-driver (Ubuntu) because there has been no activity for 60 days.]

Changed in alsa-driver (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.