alsa-utils icon indicating copy to clipboard operation
alsa-utils copied to clipboard

Thinkpad Mute LED not working until Restore + Uninstall

Open alosarjos opened this issue 1 year ago • 6 comments

Hi there!

I'm using a ThinkPad T14 Gen 3 (AMD) laptop. It has a led on the F4 key for muting the microphone and a LED indicating if the mute is enabled or not. Now, the strange thing is that the only way I've found to make it start working is by:

  1. Run alsactl restore
  2. Uninstall alsa-utils

It won't start working until I uninstall the alsa-utils package.

I'm not sure this is the correct place to report the issue, but since the alsa-utils package removal is making it work again I'm hoping to get some guidance.

My OS stack is:

  • Arch Linux
  • Linux 6.2.7
  • Pipewire 0.3.67

Thanks a lot :D

alosarjos avatar Mar 23 '23 19:03 alosarjos

Do you have SELinux enabled in your system? If yes - could you try to set the policy to permissive and reboot (with alsa-utils) ?

Also, provide output from LATEST alsa-info (0.5.2) - https://raw.githubusercontent.com/alsa-project/alsa-utils/master/alsa-info/alsa-info.sh for both working/non-working cases.

perexg avatar Mar 24 '23 08:03 perexg

No, SELinux is not installed.

Some extra behavior I've seen in case it helps:

Is alsa-utils is installed when system is booted, by default the LED is off, and will never work (Even with the steps provided on the first post)

If alsa-utils is not installed, by default the LED is on, and I can get it back working with the steps provided on the first post.

alsa-info-no-working.txt

alsa-info-working.txt

Hope this helps

alosarjos avatar Mar 24 '23 18:03 alosarjos

Upgrade alsa-info to 0.5.2 as I wrote.

perexg avatar Mar 24 '23 20:03 perexg

My bad, I used the 0.5.1 for the no-working. here it is using the 0.5.2. The working alsa-info was generated already with 0.5.2, I'm just copying here to have both

alsa-info-no-working-0.5.2.txt

alsa-info-working.txt

alosarjos avatar Mar 24 '23 20:03 alosarjos

Not working:

!!CTL-LED: /sys/class/sound/ctl-led/mic/card1
List: 7

Working:

!!CTL-LED: /sys/class/sound/ctl-led/mic/card1
List: 16 7

Mixer elements:

	control.7 {
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
        }

        control.16 {
		iface MIXER
		name 'Mic ACP LED Capture Switch'
		value false
		comment {
			access 'read write user'
			type BOOLEAN
			count 1
		}
	}

Rules in UCM (https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/HDA/HDA.conf):

	FixedBootSequence [
		cset-new "name='Mic ACP LED Capture Switch' type=bool,count=1 off"
		exec "-/sbin/modprobe snd_ctl_led"
		sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:Mic ACP LED Capture Switch"
		sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
	]

So only element 16 (Mic ACP LED Capture Switch) should be in the mic led list, but it's not any case for you (perhaps an old UCM config?). Note that the goal is to show state through LED to only internal microphone by default.

perexg avatar Mar 24 '23 20:03 perexg

That did fix it! If I understand correctly, this was done after the latest tag of the UCM config repo, and that's why I didn't have it?

Anyways, thanks a lot!!!!

alosarjos avatar Mar 24 '23 20:03 alosarjos