[alsa-devel] Mic detection on Mackbook Pro 12,1 (CS4208)

Paulo Fidalgo paulo.fidalgo.pt at gmail.com
Mon Nov 14 23:21:58 CET 2016


Thanks Takashi for point out, but that document is overwhelming.
I understand that developing drivers for unknown hardware should be
like running in the woods with our eyes covered, but I don't feel I
have the enough knowledge and time to be able to do it.

If helps, when I connect the headset running hda-analyzer tool in
monitor mode I only have events related to the OUTPUT:

Watching 2 cards
======================================
Diff for codec 1/0 (0x10134208):
---
+++
@@ -7,17 +7,17 @@
 No Modem Function Group found
 Default PCM:
     rates [0x0]:
     bits [0x0]:
     formats [0x0]:
 Default Amp-In caps: N/A
 Default Amp-Out caps: N/A
 GPIO: io=6, o=2, i=0, unsolicited=1, wake=1
-  IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0
+  IO[0]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0
   IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
   IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
   IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
   IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
   IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
 Node 0x02 [Audio Output] wcaps 0xd043d: Stereo Amp-Out Stripe
   Control: name="Headphone Playback Volume", index=0, device=0
     ControlAmp: chs=3, dir=1, idx=0, ofs=0
@@ -225,26 +225,24 @@
   Power: setting=D3, actual=D3
   Connection: 1
      0x02
 Node 0x12 [Pin Complex] wcaps 0x400501: Stereo
   Pincap 0x00000050: OUT Balance
   Pin Default 0x90170011: [Fixed] Speaker at Int N/A
     Conn = Analog, Color = Unknown
     DefAssociation = 0x1, Sequence = 0x1
-  Pin-ctls: 0x40: OUT
   Power: setting=D3, actual=D3
   Connection: 1
      0x03
 Node 0x13 [Pin Complex] wcaps 0x400501: Stereo
   Pincap 0x00000050: OUT Balance
   Pin Default 0x90170012: [Fixed] Speaker at Int N/A
     Conn = Analog, Color = Unknown
     DefAssociation = 0x1, Sequence = 0x2
-  Pin-ctls: 0x40: OUT
   Power: setting=D3, actual=D3
   Connection: 1
      0x04
 Node 0x14 [Pin Complex] wcaps 0x400501: Stereo
   Pincap 0x00000050: OUT Balance
   Pin Default 0x90170014: [Fixed] Speaker at Int N/A
     Conn = Analog, Color = Unknown
     DefAssociation = 0x1, Sequence = 0x4


Is there any other info I can provide to help?

Kind regards,

Paulo Fidalgo

On 11 November 2016 at 20:34, Takashi Iwai <tiwai at suse.de> wrote:
> On Thu, 10 Nov 2016 22:52:52 +0100,
> Paulo Fidalgo wrote:
>>
>> Hi,
>>
>> After reporting the issue on bugzilla
>> (https://bugzilla.kernel.org/show_bug.cgi?id=155601) I felt I could do
>> more in order to try to get a patch to fix the issue.
>>
>> Basically when I plug an headset(mic+headphone), it only detects the
>> headphone not the mic.
>>
>> Since I assumed the "memory address" of the 0x18 pin is wrong, I've
>> tried to change some values in order to get it working.
>
> The value you're referring to isn't a "memory address" at all.
> It's a "pin configuration" value, containing the information like
> the location, purpose, sequence number of the given pin, and it's
> encoded in 32bit integer.  Basically it's merely a hint for drivers to
> configure the system properly.
>
> Refer to the HD-audio specification document for more details.
>
>
> Takashi


More information about the Alsa-devel mailing list