Ubuntu

sony vaio pro 13 internal microphone not working

Reported by Yuv on 2013-09-21
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Undecided
Unassigned

Bug Description

A number of people are reporting the same issue:
http://ubuntuforums.org/showthread.php?t=2172364

I have lived with it for a couple of months silently, but now audio recording is becoming a necessity. I don't have much to add, other than I have gone through the usual troubleshooting and I am willing to provide more info and troubleshoot more if you tell me exactly what you need.

Raymond (superquad-vortex2) wrote :
Changed in pulseaudio (Ubuntu):
status: New → Incomplete
Yuv (yuv) wrote :

Thank you for the quick reply.

Attached is the output of pactl list

however the two URLs that you pointed me to say "This page does not exist yet. You can create a new empty page, or use one of the page templates."

Changed in pulseaudio (Ubuntu):
status: Incomplete → New
Yuv (yuv) wrote :

Correction: the two URLs had a %E2%80%8E at the end when clicked. Once removed, I got to the inteded destinations and followed the instructions.

http://www.alsa-project.org/db/?f=cfb15d2374ed789c7543388ae242666a06488c51

log coming next.

Yuv (yuv) wrote :

I was following the instructions in https://wiki.ubuntu.com/PulseAudio/Log
at the killall command, the computer prompted that an error occured and asked me to report it. It also promted that /etc/xdg/autostart/pulseaudio.desktop has been modified
I am using Lubuntu 13.10

Yuv (yuv) wrote :

the information about the killall prompted error is in bug 1228759

Yuv (yuv) wrote :

Here is the log. Got the SIGABRT error again when pressing CTRL+C to terminate the logging.

Raymond (superquad-vortex2) wrote :

why do you overwrite pcm.default and ctl.default if you are running puseaudio server

pcm.!default {
   type hw
   card 1
}
ctl.!default {
   type hw
   card 1
}

the internal mic is not availbable when you plug the external mic ?

control.14 {
  iface CARD
  name 'Mic Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.15 {

Ports:
  analog-input-microphone-internal: Internal Microphone (priority: 8900, not available)
  analog-input-microphone: Microphone (priority: 8700, available)
 Active Port: analog-input-microphone-internal
 Formats:
  pcm

is there any reason to use module-combine when your hdmi is broken

Sink #2
 State: SUSPENDED
 Name: combined
 Description: Simultaneous output to Built-in Audio Digital Stereo (HDMI), Built-in Audio Analog Stereo
 Driver: module-combine-sink.c
 Sample Specification: s16le 2ch 44100Hz
 Channel Map: front-left,front-right
 Owner Module: 11
 Mute: no
 Volume: 0: 29% 1: 29%
         0: -32.31 dB 1: -32.31 dB
         balance 0.00
 Base Volume: 100%
              0.00 dB
 Monitor Source: combined.monitor
 Latency: 0 usec, configured 0 usec
 Flags: DECIBEL_VOLUME LATENCY
 Properties:
  device.class = "filter"
  device.description = "Simultaneous output to Built-in Audio Digital Stereo (HDMI), Built-in Audio Analog Stereo"
  device.icon_name = "audio-card"
 Formats:
  pcm

[ 9.043587] hda_codec: invalid CONNECT_LIST verb 5[1]:0
[ 9.043646] hda_codec: invalid CONNECT_LIST verb 6[1]:0
[ 9.043711] hda_codec: invalid CONNECT_LIST verb 7[1]:0

tate.MID {
 control.1 {
  iface CARD
  name 'HDMI/DP,pcm=3 Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.7 {
  iface CARD
  name 'HDMI/DP,pcm=7 Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.13 {
  iface CARD
  name 'HDMI/DP,pcm=8 Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.14 {

Raymond (superquad-vortex2) wrote :

is there any reason to enable ucm ?

( 0.017| 0.000) D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="pci-0000_00_03.0" card_name="alsa_card.pci-0000_00_03.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"'

Yuv (yuv) wrote :
Download full text (3.6 KiB)

Thank you for your continued help Raymond, it is very much appreciated. I'll try to answer your questions, but bear with me, I am a n00b as far as audio is concerned so there are more questions back to you than answers.

> why do you overwrite pcm.default and ctl.default if you are running puseaudio server

This is a Lubuntu install. IIRC, Lubuntu is the only 'buntu flavour that does not ship with pulseaudio (PA). There might be good reasons for that on low-end hardware which is Lubuntu's stated target, but I run Lubuntu on a very recent ultrabook for energy-efficiency reasons. I installed PA on top of it (sudo apt-get install pulseaudio). I do not recall if it was me to overwrite pcm.default and ctl.default. How do I reset them back?

The chipset exposes two audio cards to the system, a digital one and an anlogue one. How can I select which one to use?

> the internal mic is not availbable when you plug the external mic ?

Short answer: I do not know. Long answer: the notebook has a single plug for mic and headset. I have connected a cellphone headset. IIRC it worked on Windows (I could still dual boot to verify if you want me to). In Lubuntu I hear a continuous high pitch sound coming from the headset. When I start pavucontrol, the pitch sound changes. The indicators of both internal microphone and microphone are "saturated" until I bring them down from 0dB to silence.

> is there any reason to use module-combine when your hdmi is broken

This is a laptop. HDMI works fine when it is connected to a TV, but it is not connected at all times and it was not connected during diagnostic. I guess that with module-combine you refer to the simultaneous output that I have enabled in papref? I had done this on my previous laptop and it worked well then. It is the solution I found to make sure that I always have sound, no matter whether I am connected to the TV or not. Should I do this differently?

The laptop seems to expose *two* soundcards within the same chipset, 00:03.0 and 00:1b.0 in the lspci output below

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Device 0a0c (rev 09)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader ...

Read more...

Raymond (superquad-vortex2) wrote :

ALSA configuration files
!!-----------------------

!!System wide config file (/etc/asound.conf)

pcm.!default {
   type hw
   card 1
}
ctl.!default {
   type hw
   card 1
}

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/saucy/alsa-plugins/saucy/view/head:/pulse/99-pulseaudio-default.conf.example

do your Sony support headset (headphone with Mic) instead of headphone ?

Raymond (superquad-vortex2) wrote :

pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged
( 0.174| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Speaker Phantom Jack' is now plugged in
( 0.174| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged
( 0.174| 0.000) D: [pulseaudio] device-port.c: Setting port analog-output-headphones to status no
( 0.174| 0.000) D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
( 0.174| 0.000) D: [pulseaudio] module-switch-on-port-available.c: finding port analog-output-headphones
( 0.174| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Mic Jack' is now plugged in
( 0.174| 0.000) D: [pulseaudio] device-port.c: Setting port analog-input-microphone-internal to status no
( 0.174| 0.000) D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
( 0.174| 0.000) D: [pulseaudio] module-switch-on-port-available.c: finding port analog-input-microphone-internal
( 0.175| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Internal Mic Phantom Jack' is now plugged in
( 0.175| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'Mic Jack' is now plugged in

Yuv (yuv) wrote :

> /etc/asound.conf

Thanks for the link. Edited to the default configuration. I will be repeating the diagnostic steps requested in comment #1 and post the updated output.

Little apparent change so far. Audio output still works as expected. Microphone still not working, neither the internal one nor the one in the headset. Instead of continuous high pitch sound, the headset emits a low frequency pulsating sound.

> do your Sony support headset (headphone with Mic) instead of headphone ?

Yes.

I am trying to make sense of the log excerpt in comment #11.

What is a "Phantom Jack"?

I would be tempted to guess that the log means:
- speaker found
- no headphone found
- two microphones found, one on the Mic Jack (logged twice) and one on the Internal Mic Phantom Jack

AFAIK the SONY has two microphones onboard. Is it possible that one of them is wired to the Mic Jack and the other one to the Internal Mic Phantom Jack? And that the headset would be a third microphone?

When I run pavucontrol, I see two mics: Microphone and Internal Microphone. Connecting the headset does not add a third microphone.

I have a bluetooth headset (BTH) too. I have kept it off this report to focus on the basic microphone. I have spurious problems with the BTH too. But maybe this information about the BTH can help diagnose my problems.

~/.asoundrc:

pcm.btheadset {
        type bluetooth
        device XX:XX:XX:XX:XX:XX
        profile “auto”
}

When I connect the BTH, it shows up in pavucontrol, unlike the wired headset. However it is spurious:

Start from all devices off:
* Boot laptop
* Turn BTH on and it shows in pavucontrol
* Turn BTH off and it disappears in pavucontrol, as expected
* Turn BTH on again and it does not show in pavucontrol, against expectation

Start again from all devices off:
* Turn BTH on
* Boot laptop
* BTH does not show in pavucontrol, against expectation
* Turn BTH off and on again, tt does not show in pavucontrol, against expectation

Also, when the BTH is listed in pavucontrol, it does not work. Skype is muted when it would be expected to play and record to/from the BTH.

On the bluetooth end, I cannot connect to the audio sink (Stream setup failed). I recall that I was able to play music using VLC only once, after which I lost the functionality and did not care too much because I was not really using it.

I hope this does not make my report more confusing.

Raymond (superquad-vortex2) wrote :

https://launchpad.net/~diwic/+archive/hda

install snd-hday-tools

run and post the output of hda-jack-sense-test -a

when you plug and unplug the headset

Raymond (superquad-vortex2) wrote :

in patch_realtek.c

there is a snd_pci_quirk_vendor for all sony vaio to use ALC269_FIXUP_SONY_VAIO

static const struct hda_fixup alc269_fixups[] = {
 [ALC269_FIXUP_SONY_VAIO] = {
  .type = HDA_FIXUP_PINCTLS,
  .v.pins = (const struct hda_pintbl[]) {
   {0x19, PIN_VREFGRD},
   {}
  }
 },

 SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2),
 SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
 SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
 SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),

>> AFAIK the SONY has two microphones onboard.

do you mean the left and right channels are in inverted phase ?

if yes, try mute the right channel of Capture Switch

Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 127
  Front Left: Capture 127 [100%] [30.00dB] [on]
  Front Right: Capture 127 [100%] [30.00dB] [off]

usually the laptop use either pin sense of headphone jack or mic jack to detect the headset instead of both

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/log/sound/pci/hda?qt=grep&q=headset+mic

Yuv (yuv) wrote :

> https://launchpad.net/~diwic/+archive/hda

has no packages for Saucy. I downloaded the raring tarball and built it locally, but it does not work:

Traceback (most recent call last):
  File "/usr/bin/hda-jack-sense-test", line 47, in <module>
    codec = HDACodec(cardindex, codecindex)
  File "/usr/share/snd-hda-tools/hda_codec.py", line 1023, in __init__
    self.fd = os.open("/dev/snd/hwC%sD%s" % (card, device), os.O_RDWR)
OSError: [Errno 13] Permission denied: '/dev/snd/hwC0D0'

I also copeid it to my PPA: https://launchpad.net/~yuv/+archive/yuv-stuff

The package conflicts with alsa-tools

I did some web search and was not able to source a working hda-jack-sense-test from anywhere else, sorry. However I think I got a sense where you are going to. I started hdajackretask. It gives me two codecs to select from: Intel Haswell HDMI and Realtek ALC286, which is also reported by `cat /proc/asound/card*/codec* | grep Codec`

Intel Haswell HDMI is not what I am looking for. It shows three pins, all of them set to Digital Out, HDMI: 0x05, 0x06, 0x07.

Realteks ALC286 is more interesting, especially when showing also unconnected pins:

0x12 Internal Mic
0x13 Not Connected
0x14 Internal Speaker
0x17 Not connected
0x18 Black Mic, Right Side
0x19 Not connected
0x1a Not connected
0x1d Not connected
0x1e Not connected
0x21 Black Headphone, Right Side

Somebody more knowledgeable than me can tell me how to override those, but I did not see anywhere a headset listed.

I did not find any reference to ALC286 in https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt even though I found some post of a commit support ALC286

Also no luck in http://doc.ubuntu-fr.org/audio_intel_hda#sony

Now it is long past 4AM and tomorrow I have a full day in school, sorry I could not get further than this and thanks for your continued help and support.

Raymond (superquad-vortex2) wrote :

you need root privilege

sudo hda-Jack-sense-test -a -c1

Traceback (most recent call last):
   File "/usr/bin/hda-jack-sense-test", line 47, in <module>
     codec = HDACodec(cardindex, codecindex)
   File "/usr/share/snd-hda-tools/hda_codec.py", line 1023, in __init__
     self.fd = os.open("/dev/snd/hwC%sD%s" % (card, device), os.O_RDWR)
 OSError: [Errno 13] Permission denied: '/dev/snd/hwC0D0'

http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hda-verb/README;hb=HEAD

you can also use hda-verb GET_PIN_SENSE to find out whether the pin sense of the pin complex of HP or Mic is used by the headset

Raymond (superquad-vortex2) wrote :

seem there are vendor specific coefficient for the headset on those dell machines

but your alc286 is not in the patch

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_realtek.c?id=73bdd597823e2231dc882577dbbaf8df92fe1775

Yuv (yuv) wrote :

Thank you for the continued support and research on the issue.

sudo hda-jack-sense-test -a -c1
Pin 0x12 (Internal Mic): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Internal Speaker): present = No
Pin 0x17 (Not connected): present = No
Pin 0x18 (Black Mic): present = Yes
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x21 (Black HP Out): present = No

I tried hda-verb as well, working from the scant basic information link. I did not find any manual or other explanation how to use it, so I am not sure tha tmy usage below is correct, nor whether there is a better way to get the values for a whole range of pins other than a loop over a range of value for the pin:

sudo hda-verb /dev/snd/hwC1D0 0x18 GET_PIN_SENSE 0x0
nid = 0x18, verb = 0xf09, param = 0x0
value = 0x80000000

> seem there are vendor specific coefficient for the headset on those dell machines
> but your alc286 is not in the patch

ok, so next step is to pull a kernel source and start fiddling with snd_pci_quirk alc269_fixup_tbl ? I will need help.
0) I did build Intel's kernel when I first got the laptop because the WiFi card was not supported by Ubuntu's Kernel. In the meantime this has been fixed, but the knowledge is still fresh enough in my mind. Can you point me to which Kernel sources you recommend that I get/patch/build?
1) the first two values in snd_pci_quirk_alc269_fixup_tbl seem to be manufacturer / model. How do I identify my machine's manufacturer and model numbers?
2) the second value is just a string, for now it will just be SONY Vaio Pro 13, but I suspect that the issue affects its "cousin" Vaio Pro 11, and probably also the Duo 11 and Duo 13.
3) the third value seem to refer to the fixes listed in hda_fixup alc269_fixups. I can try to use one of the Dell fixups and see if it works, but if none of them does I am at the end of my toolbox. Can you guide me remotely to what I have to do to patch this?

> https://bugzilla.kernel.org/show_bug.cgi?id=48831#c2

do you recommend I use 'options snd-hda-intel index=1,0' in a file inside /etc/modprobe.d/ ?

Thanks again for keeping the ball rolling. I am not sure when I will be able to follow further up, I have exams coming up in three weeks, but I will try to look at this at least once per weekend and do what I can to help fix this issue.

Yuv (yuv) wrote :
Download full text (4.9 KiB)

$ sudo modinfo snd-hda-intel
filename: /lib/modules/3.11.0-8-generic/kernel/sound/pci/hda/snd-hda-intel.ko
description: Intel HDA driver
license: GPL
srcversion: 487D576FC93C49CD204AA81
alias: pci:v00001022d*sv*sd*bc04sc03i00*
alias: pci:v00001002d*sv*sd*bc04sc03i00*
alias: pci:v000015ADd00001977sv*sd*bc*sc*i*
alias: pci:v000017F3d00003010sv*sd*bc*sc*i*
alias: pci:v00001102d00000009sv*sd*bc*sc*i*
alias: pci:v00001102d00000012sv*sd*bc*sc*i*
alias: pci:v00001102d00000010sv*sd*bc*sc*i*
alias: pci:v00006549d00002200sv*sd*bc*sc*i*
alias: pci:v00006549d00001200sv*sd*bc*sc*i*
alias: pci:v000010DEd*sv*sd*bc04sc03i00*
alias: pci:v000010B9d00005461sv*sd*bc*sc*i*
alias: pci:v00001039d00007502sv*sd*bc*sc*i*
alias: pci:v00001106d00009140sv*sd*bc*sc*i*
alias: pci:v00001106d00009170sv*sd*bc*sc*i*
alias: pci:v00001106d00003288sv*sd*bc*sc*i*
alias: pci:v00001002d0000AAB0sv*sd*bc*sc*i*
alias: pci:v00001002d0000AAA8sv*sd*bc*sc*i*
alias: pci:v00001002d0000AAA0sv*sd*bc*sc*i*
alias: pci:v00001002d00009902sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA48sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA40sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA38sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA30sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA28sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA20sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA18sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA10sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA08sv*sd*bc*sc*i*
alias: pci:v00001002d0000AA00sv*sd*bc*sc*i*
alias: pci:v00001002d0000970Fsv*sd*bc*sc*i*
alias: pci:v00001002d0000960Fsv*sd*bc*sc*i*
alias: pci:v00001002d00007919sv*sd*bc*sc*i*
alias: pci:v00001002d0000793Bsv*sd*bc*sc*i*
alias: pci:v00001022d0000780Dsv*sd*bc*sc*i*
alias: pci:v00001002d00004383sv*sd*bc*sc*i*
alias: pci:v00001002d0000437Bsv*sd*bc*sc*i*
alias: pci:v00008086d*sv*sd*bc04sc03i00*
alias: pci:v00008086d00003A6Esv*sd*bc*sc*i*
alias: pci:v00008086d00003A3Esv*sd*bc*sc*i*
alias: pci:v00008086d0000293Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000293Esv*sd*bc*sc*i*
alias: pci:v00008086d0000284Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000269Asv*sd*bc*sc*i*
alias: pci:v00008086d000027D8sv*sd*bc*sc*i*
alias: pci:v00008086d00002668sv*sd*bc*sc*i*
alias: pci:v00008086d00000F04sv*sd*bc*sc*i*
alias: pci:v00008086d0000080Asv*sd*bc*sc*i*
alias: pci:v00008086d0000811Bsv*sd*bc*sc*i*
alias: pci:v00008086d00003B56sv*sd*bc*sc*i*
alias: pci:v00008086d00000D0Csv*sd*bc*sc*i*
alias: pci:v00008086d00000C0Csv*sd*bc*sc*i*
alias: pci:v00008086d00000A0Csv*sd*bc*sc*i*
alias: pci:v00008086d00009C21sv*sd*bc*sc*i*
alias: pci:v00008086d00009C20sv*sd*bc*sc*i*
alias: pci:v00008086d00008D21sv*sd*bc*sc*i*
alias: pci:v00008086d00008D20sv*sd*bc*sc*i*
alias: pci:v00008086d00008C20...

Read more...

Raymond (superquad-vortex2) wrote :

you have to ask the Co-author (realteak) of the patch or Sony support whether your alc268 have vendor specific coefficient to enable the headset Michael feature

Yuv (yuv) wrote :

I have sent an email, now let's hope for the best. Thank you for leading me so far.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Yuv (yuv) wrote :

Retested on David's request.

> 1) nothing connected

$ sudo hda-jack-sense-test -a -c1
Pin 0x12 (Internal Mic): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Internal Speaker): present = No
Pin 0x17 (Not connected): present = No
Pin 0x18 (Black Mic): present = Yes
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x21 (Black HP Out): present = No

> 2) headphone (without mic) connected

$ sudo hda-jack-sense-test -a -c1
Pin 0x12 (Internal Mic): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Internal Speaker): present = No
Pin 0x17 (Not connected): present = No
Pin 0x18 (Black Mic): present = Yes
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x21 (Black HP Out): present = Yes

> 3) headset (heaphone + mic combo) connected

$ sudo hda-jack-sense-test -a -c1
Pin 0x12 (Internal Mic): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Internal Speaker): present = No
Pin 0x17 (Not connected): present = No
Pin 0x18 (Black Mic): present = Yes
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x21 (Black HP Out): present = Yes

Raymond (superquad-vortex2) wrote :

if node 0x18 is alway present, you need to use hda-jack-retask to set Misc bit ( MISC = NO_PRESENCE)

reboot and use input source to test the selected mic ( internal mic or mic jack)

do your sony vaio pro13 have any headset provided ? ( seem no headset in accessory of sony web site)

you need to know whether your headset are CITA or OMTP

http://en.wikipedia.org/wiki/Phone_connector_%28audio%29

Standard Tip Ring 1 Ring 2 Sleeve Phones using this Standard

OMTP Left Audio Right Audio Microphone Ground old Nokia (and also Lumia starting from the 2nd gen[15]), old Samsung, old Sony Ericsson (2010 and 2011 Xperia's), old Wiko (2012-)

CTIA / AHJ Left Audio Right Audio Ground Microphone Apple, HTC, latest Nokia, latest Samsung, latest Sony (2012+), latest Wiko (2013+), most Android phones

Yuv (yuv) wrote :

Good news. David Henningsson replied to my comment to the people listed on the patch mentioned in comment #17. For completness, he did not just ask me to test the three scenarios in comment #18, he also asked me what driver is used on Windows for this hardware. Because it is a Microsoft driver, he said there is no need for input from Realtek nor Sony to make this hardware work in Linux.

I installed alsa-tools-gui and did the advance override with hdajackretask:
* selected codec Realtek ALC286
* clicked Advance override in the Options on the right hand side
* clicked Override under pins 0x18 and 0x21
* changed Jack detection from Present to Not present for both pins
* clicked Install boot override (Apply now did not work yet in Ubuntu because an upstream patch has not trickled down yet)
* rebooted

David wrote that now I should be able to set things up manually. I did not notice any difference in pavucontrol. I think there was a small difference in alsamixer, but I am not sure. Then, something really weird happened.

I booted the machine. General sound output (a sound recording in VLC) worked well. In pavucontrol -> Input Devices, the Internal Microphone indicator moved with sound as if it was functional. I fired up Skype. No *output*. I closed Skype. I plug in headset and there is a continuous high pitch sound. I plug in headphone, hear the VLC sound in the headphone AND over the loudspeakers simultaneously. Unplug headphone. Restart Skype. MAGIC: Skype has output AND input from the internal microphone. It all seems spurious, but it kind of works! There are still some unpolished details (such as the loudspeakers emitting sound while the headphones are plugged and the headset not working) but at this point the glass is more than half full.

With regard to the headset, I hope those manufacturers have a good reason to confuse consumers with OMTP/CTIA. I suspect my headset is OMTP. It is branded Nokia, came with a cheap pre-paid phone 2-3 years ago. Works with my chinese imported no-name Android phone and works with the SONY Vaio Pro 13 in Windows. No luck in Linux yet.

On 10/02/2013 04:13 AM, Yuval Levy wrote:
> On 10/01/2013 02:28 AM, David Henningsson wrote:
>> Ok. If things work without extra drivers from Sony or Realtek, then it
>> should be possible to get things working in Linux too without extra
>> information from these parties...
>
> I have added this information to the bug report
> <https://bugs.launchpad.net/bugs/1228689>
> where I also post my comments so that they are more persistent and
> available to other users with similar issues.
>
>
>> Ok - given that 0x21 works as expected you should only need to do this
>> for pin 0x18.
>
> All my testing was with doing this for both pins. I only noticed now
> that I do not need to do this for pin 0x18. I will try to o this only
> for pin 0x21 and reboot tomorrow.

Ok, cool. Notice that I wrote "do this for pin 0x18 only, not for pin
0x21", where as you replied "I'll do this for pin 0x21 only, not for pin
0x18".

0x18 is for input switching, 0x21 is for output switching. If you remove
jack detection, like you did, you will need to do this switching
manually, e g in pavucontrol or gnome sound settings. That is, when you
plug your headphone in, you need to manually select "Headphone" too, if
you don't, the result will probably be that you hear sound in both
headphones and speakers.

Anyway, let's guess that the high pitched sound, as well as the lack of
headset microphone input, is because your headset is OMTP and that the
Vaio only supports CTIA. That's my *guess*, but it could be wrong, and
it would be good to have this confirmed with a CTIA headset.

--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

> >
> > I have added this information to the bug report
> > <https://bugs.launchpad.net/bugs/1228689>
> > where I also post my comments so that they are more persistent and
> > available to other users with similar issues.
> >

http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=abdd8f510686da0a58e475bc0143d1069e5f53da

ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
We've applied a fix-up for ALC269 VAIO only for two models. But all Sony
VAIO models with ALC269 codec seem to require the similar fix.
Let's apply it with vendor-id mask.

Does it mean that the Fixup need to check whether node 0x19 must be valid
Mic pin if Sony Vaio pro 13 alc286 does not use node 0x19?

David Henningsson (diwic) wrote :

On 10/02/2013 07:09 AM, Raymond Yau wrote:
>>>
>>> I have added this information to the bug report
>>> <https://bugs.launchpad.net/bugs/1228689>
>>> where I also post my comments so that they are more persistent and
>>> available to other users with similar issues.
>>>
>
> http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=abdd8f510686da0a58e475bc0143d1069e5f53da
>
> ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
> We've applied a fix-up for ALC269 VAIO only for two models. But all Sony
> VAIO models with ALC269 codec seem to require the similar fix.
> Let's apply it with vendor-id mask.
>
> Does it mean that the Fixup need to check whether node 0x19 must be valid
> Mic pin if Sony Vaio pro 13 alc286 does not use node 0x19?

Yeah, that's a valid point - we should try different vref values for pin
0x18 to see if any of them works to enable headset mic (and possibly
also get rid of the noise in headphones).

--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_realtek.c?id=d240d1dcd5b42df4680e65f637e71bbc954e4d74

seem need to specify hint

parser_flag = 0x4 and change the sequencer number of mic jack to 0xc to get the "headset mic"

does it mean that the vendor coefficient can bypass the input selection at the Audio Input ?

Jakob (jmollerhoj) wrote :

On 10/02/2013 12:51 AM, David Henningsson wrote:
> Ok, cool. Notice that I wrote "do this for pin 0x18 only, not for pin
> 0x21", where as you replied "I'll do this for pin 0x21 only, not for pin
> 0x18".

My apology for the confusion. I did the right thing and wrote it wrong.

> 0x18 is for input switching, 0x21 is for output switching. If you remove
> jack detection, like you did, you will need to do this switching
> manually, e g in pavucontrol or gnome sound settings. That is, when you
> plug your headphone in, you need to manually select "Headphone" too, if
> you don't, the result will probably be that you hear sound in both
> headphones and speakers.

Thank you for the helpful background information, "input switching" and
"output switching" is much easier to encode in my brain and it helps me
understand what I was doing.

> Anyway, let's guess that the high pitched sound, as well as the lack of
> headset microphone input, is because your headset is OMTP and that the
> Vaio only supports CTIA. That's my *guess*, but it could be wrong, and
> it would be good to have this confirmed with a CTIA headset.

I hope your guess is right. I do not have another headset to test.

On my end, the major bug is solved: after overriding input switching to
manual and selecting the internal microphone in pavucontrol I got a
working microphone input. My son was happy to Skype with daddy who is
away on academic exchange until mid December.

My headset does not work, and it is probably because of the OMTP/CTIA
standard issue. I do not need/use a headset and when I do I have a
bluetooth one. Still, I wonder what is the manufacturer's rationale
behind multiple, incompatible and confusing (same plug!) headset
standards. I can't think of anything else but a repeat of the abuse
that lead to
<http://mobile.slashdot.org/story/13/09/28/1955211/eu-committee-votes-to-make-all-smartphone-vendors-utilize-a-standard-charger>

Thanks again for helping me configure my notebook properly. This bug
report can be closed as fixed from my perspective.

Yuv

Raymond (superquad-vortex2) wrote :

if the Mic and headphone of your headset works with the SONY Vaio Pro 13 in Windows , the alsa driver can use the presence detect of headphone node 0x21 to switch the Mic from int Mic node 0x12 to headset Mic node 0x18

Thijs (thijsbr) wrote :

This might be a handy workaround for Skype until the pulseaudio bug is completely fixed:

Create executable /usr/bin/skype-wrapper
with the following content:
PULSE_SERVER=127.0.0.1 /usr/bin/skype &
And now change the desktop file so that the new script will be called when using the menu:
sudo gedit /usr/share/applications/skype.desktop
and change
Exec=skype
to
Exec=skype-wrapper

When you open Skype, go to Options > Sound Devices, and select:
- Microphone: HDA Intel PCH, ALC286 Analog Default Audio Device (sysdefault:CARD=PCH)
- Speakers: HDA Intel PCH, ALC286 Analog Front speakers (front:CARD=PCH.DEV=0)
- Ringing: HDA Intel PCH, ALC286 Analog Front speakers (front:CARD=PCH.DEV=0)

Apply & Close or make a test call, and you'll notice everything (including the mic) works.

On 10/05/2013 11:13 AM, Raymond wrote:
> if the Mic and headphone of your headset works with the SONY Vaio Pro
> 13 in Windows , the alsa driver can use the presence detect of
> headphone node 0x21 to switch the Mic from int Mic node 0x12 to headset
> Mic node 0x18

Makes sense! I am really not using Windows at all these days, but yes,
it does support my headset so it can't be a hardware issue.

Yuv (yuv) wrote :

On 10/06/2013 12:54 PM, Thijs wrote:
> This might be a handy workaround for Skype until the pulseaudio bug is
> completely fixed:

Thanks Thijs, but I do not need the workaround that you are suggesting
and in my opinion it is bad practice to make a Skype-specific workaround
for an issue that affect all software that uses the microphone,
including Linphone.

David's solution, overriding pin 0x18 in hdajackretask, is simpler and
works for Skype, Linphone, and any other software that uses the microphone.

David Henningsson (diwic) wrote :

> if the Mic and headphone of your headset works with the SONY Vaio Pro 13 in Windows , the alsa driver can use the presence
> detect of headphone node 0x21 to switch the Mic from int Mic node 0x12 to headset Mic node 0x18

The problem with that solution, is that you can also plug in a headphone (not headset), and then you will no longer be able to use combination headphone + internal mic.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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