lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 26 Jun 2015 06:06:47 +0200
From:	Jan Kiszka <jan.kiszka@....de>
To:	Hui Wang <hui.wang@...onical.com>,
	Raymond Yau <superquad.vortex2@...il.com>,
	alex.hung@...onical.com,
	Henrique de Moraes Holschuh <hmh@....eng.br>
CC:	ALSA Development Mailing List <alsa-devel@...a-project.org>,
	Hui Wang <jason77.wang@...il.com>, tiwai@...e.de,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	david.henningsson@...onical.com
Subject: Re: [alsa-devel] [V2 PATCH] ALSA: hda - Enable mute/mic-mute LEDs
 for more Thinkpads with Conexant codec

On 2015-06-26 04:22, Hui Wang wrote:
> On 06/25/2015 07:02 PM, Jan Kiszka wrote:
>> On 2015-06-24 10:46, Hui Wang wrote:
>>> On 06/24/2015 01:37 PM, Jan Kiszka wrote:
>>>> On 2015-05-23 18:22, Jan Kiszka wrote:
>>>>> On 2015-05-23 18:06, Raymond Yau wrote:
>>>>>> 2015-5-23 下午4:50 於 "Jan Kiszka" <jan.kiszka@....de> 寫道:
>>>>>>>>>>>>>>>>>> Most Thinkpad Edge series laptops use conexant codec, so
>>>>>>>>>>>>>>>>>> far
>>>>>>>>>>>>>>>>>> although
>>>>>>>>>>>> <snip>
>>>>>>>>>>>>>>> Is there anything I can debug or any information I can
>>>>>>>>>>>>>>> collect
>>>>>>>>>>>>>>> from my
>>>>>>>>>>>>>>> box to examine this?
>>>>>>>>>>>>>> What is the linux distribution on your machine? And use
>>>>>>>>>>>>>> showkey to
>>>>>>>>>>>>>> catch
>>>>>>>>>>>>>> the keycode of that button.
>>>>>>>>>>>>> I'm running OpenSUSE 13.1. The reported keycode of the power
>>>>>>>>>>>>> button is
>>>>>>>>>>>>> 116.
>>>>>>>>>>>> It seems the keycode is correct, it is power keycode rather
>>>>>>>>>>>> the mute
>>>>>>>>>>>> keycode.
>>>>>>>>>>>>
>>>>>>>>>>>> Could you please do some debug, let us find which line of
>>>>>>>>>>>> code is
>>>>>> the
>>>>>>>>>>>> root cause for this problem. for example:
>>>>>>>>>>>>
>>>>>>>>>>>> after running the line, the problem shows up:
>>>>>>>>>>>>
>>>>>>>>>>>> 1.     if (ACPI_SUCCESS(acpi_get_devices("LEN0068",
>>>>>>>>>>>> acpi_check_cb,
>>>>>>>>>>>> &found, NULL)) && found) // in the
>>>>>>>>>>>> sound/pci/hda/thinkpad_helper.c,
>>>>>>>>>>>> is_thinkpad()
>>>>>>>>>>> This evaluates to true
>>>>>>>>>>>
>>>>>>>>>>>> 2.     return ACPI_SUCCESS(acpi_get_devices("IBM0068",
>>>>>> acpi_check_cb,
>>>>>>>>>>>> &found, NULL)) && found; // same as above
>>>>>>>>>>>>
>>>>>>>>>>>> 3.         if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
>>>>>>>>>>>> //in the
>>>>>>>>>>>> sound/pci/hda/thinkpad_helper.c, hda_fixup_thinkpad_acpi()
>>>>>>>>>>> ...and this
>>>>>>>>>>>
>>>>>>>>>>>> 4. if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) { //
>>>>>>>>>>>> same as
>>>>>>>>>>>> above
>>>>>>>>>>>>
>>>>>>>>>>> ...and this as well. spec->num_adc_nids is 1.
>>>>>>>>>> If we change the code like below, does the power button can work
>>>>>>>>>> well?
>>>>>>>>>>
>>>>>>>>>> in the thinkpad_helper.c, hda_fixup_thinkpad_acpi()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>            if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
>>>>>>>>>>                /*
>>>>>>>>>>                old_vmaster_hook = spec->vmaster_mute.hook;
>>>>>>>>>>                spec->vmaster_mute.hook = update_tpacpi_mute_led;
>>>>>>>>>>                removefunc = false;
>>>>>>>>>>               */
>>>>>>>>> Disabling only this block resolves the issue.
>>>>>>>> So Below two lines make the power button change to the reset
>>>>>>>> button.
>>>>>>>>
>>>>>>>> drivers/platform/x86/thinkpad_acpi.c  mute_led_on_off():
>>>>>>>>
>>>>>>>> acpi_get_handle(hkey_handle, "SSMS", &temp);
>>>>>>>> acpi_evalf(hkey_handle, &output, "SSMS", "dd", 1);
>>>>>>>>
>>>>>>>>
>>>>>>>> @alexhung,
>>>>>>>> Do you have any idea why this can affect the power button behavior?
>>>>>>>>
>>>>>>> I think we all lost track of this issue, but it unfortunately still
>>>>>>> exists in the latest kernel, requiring custom builds here. How
>>>>>>> can we
>>>>>>> proceed?
>>>>>> http://mailman.alsa-project.org/pipermail/alsa-devel/2015-May/091561.html
>>>>>>
>>>>>>
>>>>>>
>>>>>> If you cannot find "SSMS" in  your T520 ACPI dump, this mean mute LED
>>>>>> cannot be turn on/off similar to T510
>>>>> There is an entry (see attached disassembly), but this device has at
>>>>> least no physical LED to drive.
>>> Some hotkey leds are embedded on button.  Through the pictures I found
>>> on the internet (thinkpad t520), it looks like there is a led at the
>>> center of the mute button.
>> Again, I'm on a X121e, and that has only a single physical LED for
>> signaling the power state. The mute button is behind key combination of
>> the keyboard.
>>
>> Jan
> There is no reason to change a power button to a reset button after
> accessing the acpi device "SSMS", the "SSMS" is for the mute led instead
> of the power management.
> 
> I think it is better you login to the lenovo website and look for the
> latest BIOS image, then upgrade the BIOS on your machine to see if it
> can solve the problem or not.

There is no more update since 2013, and I'm using the latest one. The
real bug is likely in the BIOS (it also has some other oddities), but
the trigger was this patch.

I suggested to have a quirk installed for my model - it cannot benefit
from this change anyway. Now I'm waiting for feedback on how to address
this best *in Linux* (because this is what we have under control).

Thanks,
Jan


Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)

Powered by blists - more mailing lists