Bug 82911 - Mic doesn't work on Compaq Presario CQ60
Summary: Mic doesn't work on Compaq Presario CQ60
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-20 20:58 UTC by Ricardo Almeida
Modified: 2014-09-01 11:40 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.13.0-24-generic #47-Ubuntu SMP
Subsystem:
Regression: No
Bisected commit-id:


Attachments
alsa-info.sh output (working kernel - 2.6.39) (24.45 KB, text/plain)
2014-08-23 13:53 UTC, Ricardo Almeida
Details
alsa-info.sh output (non-working kernel - 3.17.0rc1) (25.57 KB, text/plain)
2014-08-23 13:54 UTC, Ricardo Almeida
Details

Description Ricardo Almeida 2014-08-20 20:58:38 UTC
The microphone on Compaq Presario CQ60 doesn't work on 3.X kernels. Installing kernel 2.6.39-02063904-generic fixes the issue with the Mic.

(Sorry if the wrong product/component was selected, but I didn't know how mic should be categorised).
Comment 1 Takashi Iwai 2014-08-21 06:59:38 UTC
First off, please try the latest kernel (3.16.x or 3.17-rc1) to see whether the problem is still present.  If yes, give alsa-info.sh outputs on both working (3.x) and non-working (2.6.39) kernels.  Run the script with --no-upload option, and attach (don't paste) the generated files to Bugzilla.
Comment 2 Ricardo Almeida 2014-08-23 13:53:38 UTC
Created attachment 147851 [details]
alsa-info.sh output (working kernel - 2.6.39)
Comment 3 Ricardo Almeida 2014-08-23 13:54:13 UTC
Created attachment 147861 [details]
alsa-info.sh output (non-working kernel - 3.17.0rc1)
Comment 4 Raymond 2014-08-23 15:19:50 UTC
are all the switches really work in 2.6 since mute=0 for amp in and amp out cap of all nodes ?


https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda?id=1812e67c7410c8d0d57f14a3dc81a99bd5b30e3e

seem still have docking mic

Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Internal Mic Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Mic Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Device: name="CONEXANT Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
  Amp-In vals:  [0x4d 0x4d] [0x00 0x00]
  Converter: stream=1, 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
  Power: setting=D0, actual=D0
  Connection: 2
     0x1d* 0x17
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Docking Mic Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Docking Mic Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
  Amp-In vals:  [0x44 0x44]
  Converter: stream=0, 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
  Power: setting=D0, actual=D0
  Connection: 1
     0x18


Mic boost and internal Mic boost should be cvolume instead of volume since there  is no loopback mixer 


Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

Simple mixer control 'Capture',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 77 [96%] [3.00dB]
  Front Right: Capture 77 [96%] [3.00dB]

Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 [100%] [40.00dB]
  Front Right: 4 [100%] [40.00dB]
Comment 5 Raymond 2014-08-23 15:25:07 UTC
does auto mute work as driver seem set pin ctl of headphone to zero

Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x01214040: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=37, enabled=1
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Comment 6 Raymond 2014-08-25 08:37:27 UTC
diff of your working and non working is the audio input is connected to different pins node 0x1d and 0x17

try hda analyzer to change the volume slider of those nodes to find out which node is internal mic and external Mic jack or hda verb get_pin_sense to find the external mic
Comment 7 Takashi Iwai 2014-08-25 14:21:19 UTC
I suppose you're testing with the internal mic, right?  If so, could you check whether the input from the mic jack works?  Don't forget to raise 'Mic Boost' volume beforehand.

Also, it'd be helpful to get alsa-info.sh outputs during recording from the mic (at best both cases with internal or external mics).
Comment 8 Ricardo Almeida 2014-08-31 18:19:21 UTC
I don't know the hda verb, etc... Can you please specify the exact commands you want me to run?

I'm testing with the internal mic only. I don't have an external mic, but I can try to get one next week.
Comment 9 Raymond 2014-09-01 11:40:44 UTC
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Internal Mic Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Mic Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Device: name="CONEXANT Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
  Amp-In vals:  [0x4d 0x4d] [0x00 0x00]
  Converter: stream=1, 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
  Power: setting=D0, actual=D0
  Connection: 2
     0x1d* 0x17

Node 0x1d [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-In vals:  [0x03 0x03]
  Pincap 0x00000020: IN
  Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0


stream=1 mean this adc is recording and this imply node 0x1d is internal Mic, 

the workaround is use hda-jack-retask to set node 0x1d to internal Mic, and retask other Mic as not connected if you don't have any external mic for testing


http://voices.canonical.com/david.henningsson/2011/11/29/turn-your-mic-jack-into-a-headphone-jack/

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