0

I have a Thinkpad T450s which I’ve recently upgraded to Debian Stretch with XFCE. In Pavucontrol, I see three input devices, Internal Microphone (unplugged), Microphone (unplugged), Dock Microphone (plugged in).

When the device is in the docking station, none of the inputs seem to record anything; the blue indicator bar in Pavucontrol shows nothing but some jitter. Using Alsamixer, I have unmuted all channels and raised their volume to at least 50%. Didn’t help.

Now when I release the device from the docking station, I still see all three of the above inputs, and all of them seem to pick up audio (which also can’t be right). This means, it must have to do with the docking station, but also with the way PA generally discovers the input devices.

The output of pacmd list-cards differs between docked and undocked state:

--- docked  2017-09-20 14:13:34.616493356 +0200
+++ undocked    2017-09-20 14:13:10.076279502 +0200
@@ -23,7 +23,7 @@
        input:analog-stereo: Analog Stereo Input (priority 60, available: unknown)
        output:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)
        output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: unknown)
-       output:analog-surround-40: Analog Surround 4.0 Output (priority 700, available: no)
+       output:analog-surround-40: Analog Surround 4.0 Output (priority 700, available: unknown)
        output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (priority 760, available: unknown)
        off: Off (priority 0, available: unknown)
    active profile: <output:analog-stereo+input:analog-stereo>
@@ -33,19 +33,19 @@
        alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of Built-in Audio Analog Stereo
        alsa_input.pci-0000_00_1b.0.analog-stereo/#1: Built-in Audio Analog Stereo
    ports:
-       analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: no)
+       analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-input-microphone"
-       analog-input-dock-mic: Dock Microphone (priority 7800, latency offset 0 usec, available: yes)
+       analog-input-dock-mic: Dock Microphone (priority 7800, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
-       analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: no)
+       analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
-       analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: yes)
+       analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"

Different output for cat /proc/asound/card*/codec\#*:

--- docked  2017-09-20 14:35:46.690827476 +0200
+++ undocked    2017-09-20 14:36:01.042972787 +0200
@@ -82,10 +82,7 @@
   Unsolicited: tag=00, enabled=0
   Power states:  D0 D3 EPSS
   Power: setting=D0, actual=D0
-  Devices: 3
-     Dev 00: PD = 0, ELDV = 0, IA = 0
-     Dev 01: PD = 0, ELDV = 0, IA = 0
-     Dev 02: PD = 0, ELDV = 0, IA = 0
+  Devices: 0
   Connection: 0
   In-driver Connection: 3
      0x02 0x03 0x04
@@ -136,7 +133,7 @@
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Device: name="ALC3232 Analog", type="Audio", device=0
   Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
-  Amp-Out vals:  [0x00 0x00]
+  Amp-Out vals:  [0x3c 0x3c]
   Converter: stream=5, channel=0
   PCM:
     rates [0x560]: 44100 48000 96000 192000
@@ -148,7 +145,7 @@
   Control: name="Headphone Playback Volume", index=0, device=0
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
-  Amp-Out vals:  [0x3c 0x3c]
+  Amp-Out vals:  [0x00 0x00]
   Converter: stream=5, channel=0
   PCM:
     rates [0x560]: 44100 48000 96000 192000
@@ -190,7 +187,7 @@
     ControlAmp: chs=3, dir=In, idx=0, ofs=0
   Device: name="ALC3232 Analog", type="Audio", device=0
   Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
-  Amp-In vals:  [0x3f 0x3f]
+  Amp-In vals:  [0x2e 0x2e]
   Converter: stream=1, channel=0
   SDI-Select: 0
   PCM:
@@ -264,7 +261,7 @@
   Control: name="Speaker Playback Switch", index=0, device=0
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
-  Amp-Out vals:  [0x80 0x80]
+  Amp-Out vals:  [0x00 0x00]
   Pincap 0x00010010: OUT EAPD
   EAPD 0x2: EAPD
   Pin Default 0x90170110: [Fixed] Speaker at Int N/A
@@ -297,7 +294,7 @@
   Control: name="Headphone Playback Switch", index=0, device=0
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
-  Amp-Out vals:  [0x00 0x00]
+  Amp-Out vals:  [0x80 0x80]
   Pincap 0x0001001c: OUT HP EAPD Detect
   EAPD 0x2: EAPD
   Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
@@ -332,7 +329,7 @@
   Control: name="Dock Mic Boost Volume", index=0, device=0
     ControlAmp: chs=3, dir=In, idx=0, ofs=0
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
-  Amp-In vals:  [0x01 0x01]
+  Amp-In vals:  [0x00 0x00]
   Pincap 0x00000024: IN Detect
   Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
     Conn = 1/8, Color = Black
@@ -401,7 +398,7 @@
 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
 Node 0x22 [Audio Selector] wcaps 0x300101: Stereo
   Connection: 8
-     0x18 0x19* 0x1a 0x1b 0x1d 0x0b 0x12 0x13
+     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12* 0x13
 Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
   Connection: 6
      0x18* 0x19 0x1a 0x1b 0x1d 0x0b

So there is definitely something going on.

(I’m sure this is not a hardware issue, because I didn’t have the problem with the previously installed Ubuntu. So it must be something with the Pulseaudio/Alsa configuration.)

Does anybody have an idea how to solve this issue?

  • Add some information about the sound card. If it is working on the very similar Ubuntu, an effective approach to debugging this might be to reinstall Ubuntu on the machine (side by side with Debian, or maybe as a virtual machine), and compare the two sound configurations. – Faheem Mitha Sep 20 '17 at 8:19
  • Guess: The laptop BIOS is lying (as it frequently does) about which pin of the codec is connected to the docking station. Another possibility is that activating the docking station audio requires laptop specific GPIO, which doesn't work correctly because there's no vendor supplied driver. Have a look at cat /proc/asound/card*/codec\#* when plugged in and after plugged out, use HDA-Jack-Retask if it's the wrong pin. Also have a close look at all codec mixer/switch settings. – dirkt Sep 20 '17 at 11:51
  • @dirkt: I have added more info about the differences in the docked/undocked state. I don’t think that it’s a BIOS issue; as I said it had been working on Ubuntu (unless Ubuntu contained a fix). About the mixer/switch settings: what elso could I try or check after setting all to unmute and increasing their levels? – lxg Sep 20 '17 at 12:41
  • Unfortunately, the diff doesn't help without having seen the complete codec info :-( If the kernel versions (what are they?) in Ubuntu and Stretch are different, a driver quirk to work around a lying BIOS may be different, so that's still in. Basically you need to follow the connections in the codec and figure out what happens. A (complete) codec dump (-> pastebin etc.) in a working state (Ubuntu) as opposed to a non-working state (Stretch) would be a big help. – dirkt Sep 20 '17 at 14:15
  • Ok, thanks. However, things got even weirder … now I found out that if I remove the speakers attached to the docking station, recording works. Apparently, PA thinks that the speakers are a headset, and tries to pick up their input … which of course is bound to fail. – lxg Sep 20 '17 at 16:52

Your Answer

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

Browse other questions tagged or ask your own question.