I'm running Crunchbang++ (Debian stretch with pulseaudio).

When I plug in my headset, the laptop's mic works but not the one of the headset -- that would be OK. But when I unplug it, I can see in "Sound preferences" the "connector" switching from "Microphone" to "Internal microphone" which is recording constant noise only. But even when I switch back manually to "Microphone" nothing gets recorded (silence).

So right now, I can not do a call on my laptop without the headset on, which is bad when I want to have everybody in the room to be able to listen.

I'd like to use the internal mic without the headset, using the headset's mic when it's plugged is not even that important.

I found lots of posts everywhere on how to keep the internal mic on when plugging in in the headset. But my situation is almost the inverse.

What could cause this strange behavior? ... and how could I fix it?

  • Do you have separate headphone and microphone jacks, or do you have a combined (Android/iPhone)-style jack? The latter two are subtlely different! – ErikF Mar 1 '18 at 20:50
  • Yes, it's a combined jack. Along the lines of Philippos' thoughts I believe the headset is not causing the issue (plus it works fine on my Android phone). – svub Mar 3 '18 at 17:15
  • If the internal wiring is iPhone-style and you have an Android-style headset, it'll never work because the mic-in position of the plug is connecting with the ground position of the jack. If you could borrow an iPhone-style headset, you'll be able to rule this out pretty quickly! – ErikF Mar 3 '18 at 20:35

What could cause this behavior? Your laptop most likely has both audio-in channels mixed up:

  • With the headset detected, it wants to switch to the external microphone (expected behaviour), but actually uses the internal one.
  • When plugged out, it believes to switch to the internal one as expected, but chooses the external input (which is floating, and some automatic gain amplifies the noise.
  • When you manually switch to the external microphone, the system believes there is non, so it records silence for you.

How to fix it? Switch the audio-in assignments in the device tree (I hope your system uses device tree). Create a new dtb and boot with that one.

  • Oh, that sounds very logical!! I installed and tried dtc -I fs -O dts /sys/firmware/devicetree/base as described on another post... "FATAL ERROR ... No such file or directory". Seems like my system does not have a device tree. Is there any other way to do the switch? – svub Mar 1 '18 at 19:58
  • I'm used to having it under /usr/src/linux*/arch/*/boot/dts, but maybe it's also possible to switch them on pulseaudio layer. But I', out of the game there, sorry. – Philippos Mar 1 '18 at 21:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.