if you cannot use debug version, you can modify hdajacksense.c or use hda verb 
to check whether the codec can differentitate cita or  omtp headset


static void alc_determine_headset_type(struct hda_codec *codec)
+{
+       int val;
+       bool is_ctia = false;
+       struct alc_spec *spec = codec->spec;
+
+       switch (codec->vendor_id) {
+       case 0x10ec0283:
+               alc_write_coef_idx(codec, 0x45, 0xd029);
+               msleep(300);
+               val = alc_read_coef_idx(codec, 0x46);
+               is_ctia = (val & 0x0070) == 0x0070;
+               break;
+       case 0x10ec0292:
+               alc_write_coef_idx(codec, 0x6b, 0xd429);
+               msleep(300);
+               val = alc_read_coef_idx(codec, 0x6c);
+               is_ctia = (val & 0x001c) == 0x001c;
+               break;
+       case 0x10ec0668:
+               alc_write_coef_idx(codec, 0x11, 0x0001);
+               alc_write_coef_idx(codec, 0xb7, 0x802b);
+               alc_write_coef_idx(codec, 0x15, 0x0d60);
+               alc_write_coef_idx(codec, 0xc3, 0x0c00);
+               msleep(300);
+               val = alc_read_coef_idx(codec, 0xbe);
+               is_ctia = (val & 0x1c02) == 0x1c02;
+               break;
+       }
+
+       snd_printdd("Headset jack detected iPhone-style headset: %s\n",
+                   is_ctia ? "yes" : "no");
+       spec->current_headset_type = is_ctia ? ALC_HEADSET_TYPE_CTIA : 
ALC_HEADSET_TYPE_OMTP;

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1414706

Title:
  [20ALCTO1WW, Realtek ALC292, Black Mic, Left][Lenovo ThinkPad X240]
  external mic has no sound at all

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1414706/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to