-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Microphone led state does not persist after sleep #19
Comments
It's a problem in ACPI. We have to restore LED State after wakeup. We have to patch _WAK and inside you have to restore LED state ( we created an Variable which should be still present after wakeup ). Have a look here for reference : https://github.com/zhtengw/EFI-for-X1C6-hackintosh/blob/e73ddb21e1192990e3e2156f3613b735bf71de75/ACPI/SSDT-SLPWAK-X1C6.dsl |
I've modified T480 configuration with this idea It's within a method WKBD, called from _WAK -> EXT4 |
I experiment with a similar solution currently. Im not a fan of mixing two separate functionalities. The current solution with the ssdt & the acpi patch overhelmed many users. Patching 2 ssdt's will make their experience worse ( and it will drive my supporttime up :-) ) A better solution would be to write an kext that synchronizes the states of the led's. It could solve this problem and another bug i noticed: When you mute your sound by reducing volume to 0 the sound muted led will stay off. My goal (for Thinkpad Assistant 2.0) would be to ship it with a kext that does 3 things:
@xma @EETagent @tylernguyen @Sniki |
@MSzturc We would only need to clean it up and make it compatible with Catalina and ThinkpadAssistant. |
Hi,
I tested it it works.... Pls test yourselves and report. best wishes, |
Thanks for this, we need this for LED Blink fix as well, im learning ACPI slowly and this is what vit9696 suggested me but I wasn’t able to formulate that time and which is the right way. |
@MSzturc @junaedahmed @tylernguyen @tluck
|
Hi @Sniki, |
Thanks, will do the correction. |
@Sniki @junaedahmed |
@MSzturc
I think you should add it on KBRD and those who want power led fix too should make their own custom ssdt. it will be simpler to maintain for you. Most hackintosher already use power led fix on _wak method so they don't have to change any thing new. |
Agree, this should be a must as if any ThinkPad model or newer model doesn't have the method at least the LED Blink Fix will work. Note: there is an error with your change, please check it on maciASL |
@Sniki
|
There is still an issue,
Check it one more time and correct me if im wrong, as there were still errors. Thanks ! Update: also ThinkPad exceeds 6 characters for OEM ID, so we want something shorter, either "hack" short word for hackintosh or whatever you guys prefer. |
Yes there should be one more pair of parentheses. |
Yes. Just wanted to share this: https://www.tonymacx86.com/threads/guide-lenovo-thinkpad-t440s-opencore-0-5-9.297423/ The way i did my configuration is that i place the keyboard map on SSDT-KBD and TouchPad configuration there as well SSDT-LED is this SSDT that does the blink fix and Mic Mute LED fix by @junaedahmed . As for IRQ fixes like TIMR, RTC, IPIC, in my ACPI they do have the IRQ flags and no need to patch these, only HPET was necessary. Posted the link if you guys want to cherry pick some cleaner configuration and something that you may miss or have more complicated instead. Thanks to @MSzturc setup i fixed HPET and completed Keyboard Map. @MSzturc Final SSDT-LED (or whatever name you prefer, should be):
|
Thank you @Sniki and @junaedahmed Your ACPI patch works perfectly. The Mute LED now persists after sleep. However, I think that @MSzturc points and intention still stands: A kext would be a better and simpler implementation for most people, especially those who are not used to ACPI or not as involved in the hackintosh scenes. Furthermore, it would reduce support time for this project, especially support time related to ACPI patching issues. Furthermore, a kext could enhance this project in various ways:
The last two points are most important for the improvements of this project. In a simpler sense, a kext would be act as a universal patch for everyone, reduce ACPI headaches, and possibility extend ThinkpadAssistant supports to other laptops as well, not just ThinkPads. |
@tylernguyen |
Developing a kext would require a substantial amount of time and effort to be honest, which im also not sure if i can help with this unless project starts. Not much experience with building kexts. |
MSzturc/Lenovo-T460-OpenCore@dbea0c2 This bug is fixed for my T460 build with the commit above. I've decided to not separate the keyboard and the led state. I've asked myself what is the domain object im facing on and for me it's the keyboard. The led's (mute mic and mute speaker) are part of this domain so the code to manipulate its state should be inside this domain. |
Btw. I've started yesterday developing an Kext for Thinkpad Assistant. Currently im able to read the state of LED from ACPI and delegate it to Thinkpad Assistant. The Problem im facing right now is my bad roundtrip time i have in development process. I create a new version of the kext put it on an usb stick with an OpenCore based build on, boot from this stick and test my new changes. This tooks about 5min every attempt and feels very exhausting. It's possible to install an kext into the running macOS but since a coding error could cause kernel panic and my T460 is my main machine where i do my daily business on it im forced to have a more restricted workflow that does not infect the stability of my system. |
Nice, did you get any further progress ? BTW should there be a way to fix the LED Mic Mute State on Cold Boot/Startup ? What do you guys think @junaedahmed @MSzturc The only problem right now is that if you reboot or boot and the mic is muted, the mic will be still muted but the LED will be Off, pressing twice will reactivate it. |
I don't think this can be done without a kext based solution. The problem is LED1 value discarded upon shutdown/restart. To persist the value it should somehow stored in nvram and read after power on. |
It's going on but slower as I thought since my daily jobs gets very time consuming. |
really interested in the topic. |
Steps reproduce:
The text was updated successfully, but these errors were encountered: