[SATELLITE C50-B, Realtek ALC233, Mic, Internal] No autoswitch

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

Bug Description

It is a Toshiba Satellite C50-B-15N to be precise. It has a single combo plug, and Ubuntu fails to switch to the headset microphone when a combo jack is plugged in.
Sometimes even the output fails switching to phones, but it only happens very seldom, and after a reboot it works fine again. But the mic just never ever switches, only the laptop's built-in one is always working.

I am using an up to date Ubuntu 15.04 Vivid Vervet with Unity and standard audio set-up. I haven't (yet) change anything audio-related. I have started this bug with apport, so I believe most of these details are reported there.

Probably a different bug, but it could be related: The built-in mic is stereo, but only its left side is actually working, as a normal single-channel mic. The right side is deaf.

Let me know if you need other info.

Thanks!

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: alsa-base 1.0.25+dfsg-0ubuntu4
ProcVersionSignature: Ubuntu 3.19.0-26.28-generic 3.19.8-ckt4
Uname: Linux 3.19.0-26-generic x86_64
ApportVersion: 2.17.2-0ubuntu1.2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: franko 1631 F.... pulseaudio
CurrentDesktop: Unity
Date: Sat Aug 22 13:28:51 2015
InstallationDate: Installed on 2015-04-24 (119 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
PackageArchitecture: all
SourcePackage: alsa-driver
Symptom: audio
Symptom_Card: Ugrađeni zvuk - HDA Intel PCH
Symptom_Jack: Mic, Internal
Symptom_Type: No auto-switch between inputs
Title: [SATELLITE C50-B, Realtek ALC233, Mic, Internal] No autoswitch
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/11/2014
dmi.bios.vendor: TOSHIBA
dmi.bios.version: 1.30
dmi.board.asset.tag: *
dmi.board.name: ZBWAA
dmi.board.vendor: TOSHIBA
dmi.board.version: 1.00
dmi.chassis.asset.tag: *
dmi.chassis.type: 10
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnTOSHIBA:bvr1.30:bd06/11/2014:svnTOSHIBA:pnSATELLITEC50-B:pvrPSCMNE-01G009Y4:rvnTOSHIBA:rnZBWAA:rvr1.00:cvnToBeFilledByO.E.M.:ct10:cvrToBeFilledByO.E.M.:
dmi.product.name: SATELLITE C50-B
dmi.product.version: PSCMNE-01G009Y4
dmi.sys.vendor: TOSHIBA

Revision history for this message
Franko Burolo (fburolo) wrote :
Revision history for this message
Franko Burolo (fburolo) wrote :

I have tried adding "options snd-hda-intel model=dell-headset-multi" to /etc/modprobe.d/alsa-base.conf. Sound settings seem to recognize a headset is plugged with that option, but the headset's mic itself remains deaf, no matter how much boost I give it. I guess the option isn't working correctly, because, obviously, I am not running a Dell laptop, but also because I am running the Realtek ALC233 codec, and that option model is only listed as working on codecs ALC269/270/275/276/28x/29x and ALC66x/67x/892.
I am talking about this list: http://git.alsa-project.org/?p=alsa-kernel.git;a=blob;f=Documentation/sound/alsa/HD-Audio-Models.txt;hb=HEAD
Funny thing is that ALC233 is not listed there at all... Anyway, it seems like, for now, the closest I could get to make a headset working was with that Dell-related option. I hope that helps.

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

10.207966] sound hdaudioC0D0: autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 10.207973] sound hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 10.207976] sound hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 10.207979] sound hdaudioC0D0: mono: mono_out=0x0
[ 10.207981] sound hdaudioC0D0: inputs:
[ 10.207984] sound hdaudioC0D0: Mic=0x12

only has internal mic node 0x12

no headeset mic pin

Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Revision history for this message
Franko Burolo (fburolo) wrote :

We don't understand each other, Raymond. I AM trying to use a headset (headphones + microphone) with a combo TRRS jack on a combo plug, but Ubuntu never switches to the mic when the headset is plugged, and just uses the laptop's integrated one instead.
I mentioned dell-headset-multi, because adding that option model was the only way I could see a headset and mic actually recognized. However, it still keeps the mic deaf, so there is no use of it for an end user.

I don't think I entirely understand you when you are talking about hex-coded nodes and pins, I am just an end-user, so you will have to use plain English with me. And I am not even a native English speaker, while we are at it...

If you think my bug report is incomplete, I would like you to be so kind to explain to me how to make it complete. I reported, because I would really like to see this solved.

Thanks.

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

the driver use capture source to change the jack type

internal mic -> headphone
headset mic -> headset
headphone mic -> mic

since the codec cannot differentitate the jack type

Revision history for this message
Franko Burolo (fburolo) wrote :

...all right. Switching status back to new, as there has been no suggestion on why is this report incomplete or what more information should I give to make it complete.

Changed in alsa-driver (Ubuntu):
status: Incomplete → New
Revision history for this message
Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/patch/sound/pci/hda?id=b016951e897b5bd06abfb732012f67b461fb1e2e

if none of those headset model work, you have to compile the driver in debug mode since only the debug version show headset type

static void alc_determine_headset_type(struct hda_codec *codec)
{
 int val;
 bool is_ctia = false;
 struct alc_spec *spec = codec->spec;

 switch (codec->core.vendor_id) {

 case 0x10ec0233:
 case 0x10ec0283:
  alc_write_coef_idx(codec, 0x45, 0xd029);
  msleep(300);
  val = alc_read_coef_idx(codec, 0x46);
  is_ctia = (val & 0x0070) == 0x0070;
  break;

 }

 codec_dbg(codec, "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;
}

Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Revision history for this message
Raymond (superquad-vortex2) wrote :

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

alternative is use dump_coef to dump the value of proc coef 0x46

after specify model=dell-headset-multi

plug headset

select headset mic as capture source using alsamixer

obtaion output of alsa-info.sh which have the proc coef dump

Revision history for this message
Franko Burolo (fburolo) wrote :

I hate repeating myself, but: "I am just an end-user, so you will have to use plain English with me", as stated before. Your posts are mostly gibberish to me. I don't understand much of what you are trying to say, if anything. And I still don't understand why do you insist this report is incomplete.
Please, keep in mind that I am obviously NOT AN ALSA DEVELOPER, so explain what you are talking about at all, and what exactly do you expect me to do, and give me precise instructions in how to do it, and what's the risk factor, and what exact info you need, etc. You are not talking to your colleague at work, nor to your pals at a hack meeting, I am just a guy who'd like to use his headset with his laptop, that's all.

That said, I guess I understood (the only thing I did!) you wanted to see what alsa-info.txt looks like with dell-headset-multi enabled, and headset plugged-in, so there you are, see attachment.
It seems to me that this option is getting me somewhere, but not quite there. It adds the ability to choose a headset as a capture source, but the mic remains deaf. Could it be that Alsa is not yet having full support for the ALC233 codec?

And once again: English, please!

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

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

Codec: Realtek ALC233
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0235
Subsystem Id: 0x1179f916
Revision Id: 0x100002

your codec vendor id is 0x10ec0235 but the support headset mode patch check id must be 0x10ec0233

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

the only way is add 0x10ec0235 similar to the above patch and recompile driver

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

you better send email to the author as the description of the patch is different from the code

ALSA: hda/realtek - New vendor ID for ALC233
This is compatible with ALC255.
It is use for Lenovo.

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.