When I'm speaking with my internal microphone and I connect my headset, it's not detecting the microphone on it. Thing that does not happen in Windows, also didn't happen in Ubuntu 18.04
Any suggestion to fix it?
When I'm speaking with my internal microphone and I connect my headset, it's not detecting the microphone on it. Thing that does not happen in Windows, also didn't happen in Ubuntu 18.04
Any suggestion to fix it?
So, trying various stuff I am not sure which step was effective. Ubuntu 20.0.4 using Cinnamon (no Gnome/KDE) on Dell XPS 9340:
rm -rf ~/.config/pulse/Headphones start working...
So after having this issue with beautiful, but already annoying, 20.04, I found a solution in another post at SuperUser. In my case what helped me was:
Use the following command to get the Audio Codec for your machine's model:
cat /proc/asound/card*/codec* | grep Codec
In my case I saw the following audio and video codecs:
Codec: Realtek ALC233
Codec: Nvidia GPU 94 HDMI/DP
Go to www.kernel.org, look up the version of the codec, and get the full name of it. In my case, for Realtek ALC233 it's alc233-eapd.
Create/update the /etc/modprobe.d/alsa-base.conf file, and add this line, replacing the model with your own:
options snd-hda-intel model=alc233-eapd
Reboot the machine.
I am using Ubuntu 20.04 on my Sony Vaio VPCEH28FN with intel-hda-sound card.
Output of cat /proc/asound/card*/codec* | grep Codec is
Codec: Conexant CX20590
Codec: Nvidia GPU 1c HDMI/DP .
What worked for me was --
sudo apt install alsa-tools-gui on my terminal.hdajackretask on my terminal.
My laptop is ACER E5-573G-74Q5. My codec is Realtek ALC255.
I did Yurii S’s solution, but it didn’t work. Then Soundar gave me the idea of putting more than one codec in /etc/modprobe.d/alsa-base.conf, where I added the following line:
options snd-hda-intel model=alc255-acer,dell-headset-multi
Putting just one or the other didn't work, but putting both worked. Strange, but putting Dell codec on my Acer worked.
I have Dell Inspiron E7250 with PopOS 20.04 installed. I had same problem and it got resolved after adding following lines to /etc/modprobe.d/alsa-base.conf and rebooting.
options snd-hda-intel position fix=1
options snd-hda-intel index=0 model=dell-headset-multi,dell-e7x
Following is codec available in laptop
# cat /proc/asound/card*/codec* | grep Codec
Codec: Intel Broadwell HDMI
Codec: Realtek ALC3235
Install the alsa-tools-gui package:
sudo apt install alsa-tools-gui
Then run:
hdajackretask
Select the appropriate sound card up top in Select a codec, then make the Black Mic (headphone jack) override, and set to Not connected
In the lower right corner, select Install boot override.
Reboot and pray.
(Worked for me.)
This answer is to a question provided via a separate user's bounty of this question. As the question will disappear along with the bounty, I will include it, word for word, below, in hopes that it can be somewhat useful to users in the future.
On my computer, the microphone sound is correctly detected in pavucontrol, but it's marked as unplugged and not present in audio parameters. I tried this: wiki.archlinux.org/title/PulseAudio/… but Alsamixer interface is obscure. Provided answers do not fix my issue. Any hing how to progress on this? What's the respective roles of pulseaudio, pavucontrol, alsamixer?
-Eric Burel
As for the answer,
I do not believe that alsa is your problem. Alsa is a driver database (among other things) whose job it is to connect your hardware with the proper "sound card" which actually refers to, again, a driver that provides access to that hardware (the physical sound card for which the alsa "sound card" is an abstraction.) It is more or less responsible for getting your hardware properly mapped into udev. As I said, there are other features, i.e the ins / outs, etc., but these mostly facilitate the main duties listed above.
You can check pactl list cards to be sure, but I guarantee that your device is linked to a driver. Otherwise Pulseaudio would not be detecting it. This doesn't mean that it is the correct driver. You can google
<MAKE> <MODEL> Alsa driver
getting the first two from your specs, and the first few results should contain something (at least close to) official from launchpad, linux-hardware.com, etc. From there, check the link for a driver. It may be called an "audio card", "Device Driver", or similar. Once you find the recommended, check that against the results of lsmod | grep Audio. If this command gives the name of your headphones in its output then don't worry about Google. You're good.
Alternatively, when you run the command that I included in my comment, or the one from above look through the names of all the device.\* entries. Once again, if you see your device model name, you're good.
Now for pulseaudio. Since you have nowhere to post command line output, I will recommend 2 pulseaudio gui packages that will get you up and running.
The first is paprefs. This is short for Pulseaudio Preferences. This app will let you configure pa streams.
Think of a stream as a pipe, but for sound. Your mic will ideally stream audio from Alsa (Source) into the stream (Source-Input) and at the other end of the stream (Sink-Input) it will feed into its output / destination (Sink, e.g. Audacity or another audio / streaming app.)
The Four main words in parentheses above are the keywords that make up the entire pulseaudio abstraction. If you know what these are, you can configure pulseaudio from pretty much any CLI or GUI.
paprefs lets you configure streams with actions such as moving them from one sink to another, etc. In your case , (although it is hard to tell without any console output) it sounds like you may have a stream without a sink.
The other app is padevchooser. This app doesn't really help in the current situation, but it does give extra capabilities to pulseaudio. It mostly focuses on sharing streams over the internal network.
If you would rather work with the command line, you can use pacmd or pactl. Both of these use the same objects that I described above. pactl is supposed to be a front-end for pacmd, but in my experience, they are pretty much the same save for slightly different syntax and the fact that pacmd can do a few things that pactl cannot.
If you can provide a venue to post the output to pactl list cards, pactl list sources, and pactl list sink-inputs, I can walk you through the process. However, without a way to tell what the issue is, I can only give you the tools.
man pactl and man pacmd will have all of the commands you need. These commands are well named, so you will know what each does immediately. Not much reading involved.
When I came to this question (and similar other ones), the fix was rather simple:
Done.