Laptop update 3: fixed the audio jack input source

I found a way to get external microphones connected to the audio jack working for my laptop ! KDE contributor Debarpan Debnath pointed me to an Arch wiki page that helped me reach a solution:

  1. Open/create the file /etc/modprobe.d/alsa.conf and add the following on a new line: options snd_hda_intel index=0 model=dell-headset-multi
  2. go to System Settings > Audio > Advanced > and check the checkbox saying “Automatically switch all running streams when a new output becomes available” (this applies to inputs too)
  3. Reboot
  4. Mute the microphone using the keyboard’s microphone mute button

Now the audio jack microphone is detected and will be automatically switched to! This also fixes the issue I was having with the mute button not muting the right microphone; it was in fact the same problem as the external microphone itself not working. I have added this information to the relevant Kernel bug report.

Now my headset’s microphone is working as expected–too late for last week’s virtual Plasma sprint though. Oh well, my colleagues got to hear my kids playing/rioting a lot. 🙂

There is now one remaining issue with the use of an external microphone: the two audio input sources are represented in the plasma-pa applet as different devices rather than as different ports of the same device, which would make the switch-on-connect module unnecessary and clean up the display in the Plasma audio applet. Apparently this is a PulseAudio issue in that the device’s hardware doesn’t fit cleanly into PulseAudio’s abstraction model! There are some PulseAudio patches to clean things up which I have reviewed. So for now, this is the best we can do:

Slow but consistent progress…

6 thoughts on “Laptop update 3: fixed the audio jack input source

  1. The hilarious thing is that I actually have the opposite problem with my Thinkpad P53. I have a pair of headphones that use an audio jack but they have no microphone attached (why would I need one if I have a laptop microphone? I don’t care where sound goes in, I only care where it comes out). However, when I plug them in, my laptop microphone gets unplugged and people can’t hear anything!

    It gets better though… I dual boot with Windows, and if I plug in the headphones in Windows, everything works and if I LEAVE THEM PLUGGED IN when I boot into Linux, IT STILL WORKS. Even more hilariously, sometimes if I plug in my headphones REALLY SLOWLY, my laptop microphone doesn’t get shut off! I usually have the PulseAudio U.I. open when I do this to help me figure out if I did it correctly. This isn’t just a Kubuntu thing either; I’ve seen it on regular gnome-based Ubuntu and Linux Mint. It’s probably a Linux kernel or PulseAudio issue. It’s kind of disheartening because the P53 is certified Ubuntu. Oh well, at least Kubuntu works with Nvidia out of the box. I might still have to wait to install CUDA though, official support is still at Kernel 4.xx (although mercifully, most of my machine learning projects of late have been gray box so I don’t need GPU power as much).

    Like

  2. That’s great news! It’s great to see that you are chasing down those bugs and issues which hopefully will make the overall Linux experience better for everyone – especially when it comes to those notoriously difficult things like sound devices. It’s rather sad to see though that this exist in the first place, which I believe really comes down to the manufactures (of the sound devices as well as the OEMs) not doing their job properly.

    A few months back, I looked into the battery issue under Linux and had to discover that there is much to be desired still. Not only when it comes to battery lifetime (i.e. how long you can go with one charge), but also regarding battery health. I quickly had to discover that this needs proper support from the system vendor (in my case Dell), which still is a mixed box. While Dell in fact has kernel developers on their payroll, many features are not properly implemented or require additional userspace libraries and tools (some of which are even close source). Most of the things come down to having a good working knowledge of how the firmware and EC work, and which functionality they expose, which is difficult since that is a black box. Google is doing a great job their for their Chromebook devices, and from what I understand System76 is also very much on top of this (at least their firmware/EC are open source and developed on GitHub). The battery support for Lenovo Thinkpads has been top notch, but unfortunately that is more due to the open source community, and not so much due to Lenovo which until recently didn’t care about Linux at all!

    Now, to get back to the sound issue: I just naively tried to test your solution on my Dell Latitude 7480, with no success at all yet. Your kernel module settings for snd_hda_intel didn’t work on my laptop, indicating that I need to find the right model for my sound device.

    Also, in my system settings, the “Automatically switch all running streams when a new output becomes available” option is not selectable.

    Like

    1. Installed this on my sister’s laptop, and it turned out to be such a nice experience! Thanks, I never really considered this OS earlier.

      Also love the fact that I can get latest Plasma very quickly

      Like

  3. THANK YOU SIR !

    This got my headset mic up and running on KDE neon 5.25 !

    Couple of minor differences in my case:
    * filename/path was: /etc/modprobe.d/alsa-base.conf
    * I skipped step 2 as there’s literally no “Advanced” option under System Settings > Audio 😉

    Also found this cool tool in the meantime: https://mictests.com which allows mic testing and feedback on different devices.

    Have a great day !

    Like

Leave a comment