Skip to content
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

Thinkpad L390 Yoga: testing and feedback #68

Open
antoniomcr96 opened this issue Nov 18, 2020 · 74 comments · Fixed by #101
Open

Thinkpad L390 Yoga: testing and feedback #68

antoniomcr96 opened this issue Nov 18, 2020 · 74 comments · Fixed by #101
Labels
enhancement New feature or request firmware issue help wanted Extra attention is needed

Comments

@antoniomcr96
Copy link
Contributor

antoniomcr96 commented Nov 18, 2020

Good evening and thanks for all your work. I switched from Thinkpad assistant with all the ACPI renames to this kext and it works almost out of the box so you did a great job.

I wanted to report some errors:

  1. If I rotate my screen in tablet mode trackpad and trackpoint aren't disabled. I use a personal keyboard remap for VoodooPS2Controller:
    Name (_SB.PCI0.LPCB.KBD.RMCF, Package (0x02)
    {
        "Keyboard", 
        Package (0x02)
        {
            "Custom PS2 Map", 
            Package (0x04)
            {
                Package (0x00){}, 
                "e037=64", 

This avoids that clicking the Print key on the keyboard disables the trackpad. I don't know if it has something to do with this problem.

  1. If I rotate my screen in tablet mode I see: event:0x60f0:0 . Can I remove it?

  2. I see "fan reading error" on login. I installed all the SSDT files according to my EC path, but on this laptop it was impossible to read Fan also on windows or linux (I think it's impossible in any case). How can I remove that message? Do you want to give a look to my DSDT?

  3. Temperature control is useless without fan control, I think. Can I remove that part?

  4. What should the "Led control" section do? Switching the sliders doesn't change anything for me

Class: Think; REL 130-2020-11-11; EC Access: RW

Thanks in advance

@antoniomcr96 antoniomcr96 changed the title Thinkpad L390 Yoga: Trackpad and Trackpoint aren't disabled if screen is rotated in tablet mode + strange message + disabling wifi + fan reading error Thinkpad L390 Yoga: Trackpad and Trackpoint aren't disabled if screen is rotated in tablet mode + strange message + fan reading error + led control Nov 18, 2020
@zhen-zen
Copy link
Owner

  1. Tablet mode detection is not implemented for think variant.
  2. I'm not sure how rotate works on your laptop. But that event code should be TP_HKEY_EV_THM_TRANSFM_CHANGED and feel free to open a PR like Add THINKPAD_BACKLIGHT_CHANGED event: 0x6050 #40.
  3. Since the fan speed & control should all go through SMI interface, the only known approach is the thinkpad-acpi one. If you laptop have some kind of dust clean mode in Windows, there could be some workaround.
  4. Maybe just hide the menu bar icon?
  5. They should be able to control all the LEDs. Maybe yours is also an exception.

@zhen-zen zhen-zen added enhancement New feature or request help wanted Extra attention is needed labels Nov 18, 2020
@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 18, 2020

  • Tablet mode detection is not implemented for think variant.

ok, sorry for the question.

It doesn't seem difficult, I'll try. I'm not an expert unfortunately

  • Since the fan speed & control should all go through SMI interface, the only known approach is the thinkpad-acpi one. If you laptop have some kind of dust clean mode in Windows, there could be some workaround.
  • Maybe just hide the menu bar icon?

I like the menu bar icon. Maybe the idea could be to hide the fan-control slider if there is a fan reading problem (and hide also the fan reading problem message on login). For the moment I'll hide the icon.
Anyway I have never been able to control / run the fans on linux. I'll try with some software on windows and if it doesn't work it's surely an hardware/bios problem. Maybe I will report to Lenovo.

  • They should be able to control all the LEDs. Maybe yours is also an exception.

I don't know how my LED work except for micmute led. If the method _SB.PCI0.LPCB.H_EC.HKEY.MMTS is called with 0x02 arg it should light up. Anyway at the moment unfortunately that panel for me doesn't work at all. I don't know if others have the same problem

Thanks for the fast reply!

EDIT: I'm also offering for an Italian translation of the app. If you were planning to give the possibility to create language files I could help for Italian

@zhen-zen
Copy link
Owner

Dust clean mode is usually provided with OEM software, i.e. Vantage.

i18n is also scheduled for next release. I have started separating those strings, but got busier recently.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 18, 2020

No dust clean mode on vantage for this laptop. Speed Fan doesn't recognize any fan controller but only the temperature. I will report to Lenovo, but maybe SMI interface isn't available on this laptop.

Ok, let me know if I can help. Thanks for your work.

EDIT: Sorry, should this kext make the brightness keys work? Because for me they won't, so I re-enabled the renames and the SSDT for the two methods

@zhen-zen
Copy link
Owner

No dust clean mode on vantage for this laptop. Speed Fan doesn't recognize any fan controller but only the temperature. I will report to Lenovo, but maybe SMI interface isn't available on this laptop.

What's the temperature?

EDIT: Sorry, should this kext make the brightness keys work? Because for me they won't, so I re-enabled the renames and the SSDT for the two methods

You will need https://github.com/acidanthera/BrightnessKeys for that and check the readme.

@zhen-zen
Copy link
Owner

I have just implemented i18n and yoga mode support. And in DSDT, there's no method called LED and BEEP under EC. Instead, your _SI.SST calls SYSC to set LED and system states, which its not documented. So your model might not support separate LED control and you can refer to CSSI method in SSDT-THINK.dsl to sync them during sleep / wake.

@antoniomcr96
Copy link
Contributor Author

I have just implemented i18n and yoga mode support. And in DSDT, there's no method called LED and BEEP under EC. Instead, your _SI.SST calls SYSC to set LED and system states, which its not documented. So your model might not support separate LED control and you can refer to CSSI method in SSDT-THINK.dsl to sync them during sleep / wake.

Okay, good to know. I'll eventually have to figure out how CSSI Method works. At the moment there seems to be no problem with the synchronization of the LEDs

Another question: at the moment SSDT-RCSM doesn't seem documented. It has something to do with clamshell mode, right?
Anyway, the question is: I don't have aVPC0 device in my DSDT. Is it possible to use the SSDT somehow?
Thanks as always

@zhen-zen
Copy link
Owner

Just rename it to HKEY.

@zhen-zen
Copy link
Owner

zhen-zen commented Nov 22, 2020

Okay, good to know. I'll eventually have to figure out how CSSI Method works. At the moment there seems to be no problem with the synchronization of the LEDs

I forgot to comment on this. CSSI is actually a proxy method to _SI._SST since it's not exposed to the driver. You don't need to modify that part.

Edit: by the way, you won't need that remap once acidanthera/VoodooPS2#33 is merged.

@zhen-zen
Copy link
Owner

Please try whether ca8ed08 works for you.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 22, 2020

Please try whether ca8ed08 works for you.

It works, thanks.

In Big Sur adding prefpane files often doesn't work. Even if I allow the execution of the prefpane from the "Security and Privacy" menu, it often shows a message "Unable to open YogaSMCPane.prefpane ...". The only way to fix the problem is:

  1. Add the prefpane for all users;
  2. Execute from terminal
    sudo xattr -d com.apple.quarantine /Library/PreferencePanes/YogaSMCPane.prefPane
  3. Prefpane correctly opens

It could be useful for other users

@zhen-zen only if you have time, I would propose to customize the behavior of the "Star" Hotkey (F12). On screen I see the message "Custom Hotkey" but it is not that custom

@zhen-zen
Copy link
Owner

zhen-zen commented Nov 22, 2020

I suppose it's possible press alt + click the app / prefpane for quarantine.

Actually current customization is only limited to AppleScript (although it can do a lot of things). After quitting the app, you can change its name and the script to execute (default one is open prefpane).

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 22, 2020

I suppose it's possible press alt + click the app / prefpane for quarantine.
For prefpane this doesn't seem to work. You can add the prefpane while pressing alt, but then when you try to open it from preferences it asks for permission. If you allow the execution from Security and Privacy it says "Unable to open" (11.0.1). Maybe I'm the only one but I found that command useful.

image
What should Autosleep do? It has something to do with keyboard backlight?

I would propose, if possible, to add an option to activate keyboard backlight when typing and deactivating it after a custom interval. In the old linux days I used this script: https://github.com/saibotd/tp-auto-kbbl and it worked very well
I don't honestly know if macOS allows key logging

@zhen-zen
Copy link
Owner

For prefpane this doesn't seem to work. You can add the prefpane while pressing alt, but then when you try to open it from preferences it asks for permission. If you allow the execution from Security and Privacy it says "Unable to open" (11.0.1). Maybe I'm the only one but I found that command useful.

Do you have SIP on?

image
What should Autosleep do? It has something to do with keyboard backlight?

It will turn off the keyboard backlight when entering sleep state. Or is that handled by firmware on Think variant?

I would propose, if possible, to add an option to activate keyboard backlight when typing and deactivating it after a custom interval. In the old linux days I used this script: https://github.com/saibotd/tp-auto-kbbl and it worked very well
I don't honestly know if macOS allows key logging

There could be kind of native emulation with virtual HID device or something like https://www.logcg.com/en/archives/2902.html. You can still open a new issue for that but recently I don't plan to implemented new user space features.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 22, 2020

Do you have SIP on?

Yes.

It will turn off the keyboard backlight when entering sleep state. Or is that handled by firmware on Think variant?

I did some tests:
If I deselect that checkbox the keyboard backlight turns off on sleep, but doesn't turn on on wake.
If I select that checkbox the keyboard backlight turns off on sleep and then turns on on wake. So it definitely does something useful

There could be kind of native emulation with virtual HID device or something like https://www.logcg.com/en/archives/2902.html. You can still open a new issue for that but recently I don't plan to implemented new user space features.

Don't worry, just an idea. :)

@zhen-zen
Copy link
Owner

Can you try it with SIP off? I have com.apple.quarantine at ~/Library/PreferencePanes/YogaSMCPane.prefPane or /Library/PreferencePanes/YogaSMCPane.prefPane and they both work.

@zhen-zen
Copy link
Owner

zhen-zen commented Nov 23, 2020

Just enabled SIP and com.apple.quarantine is blocking now. However, in Security & Privacy, there's an Open Anyway button. Not sure when did this restriction began. There used to be a one-time prompt with Ctrl (Command) + Click.

Screen Shot

I'm still investigating if SIP would break other functionalities.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 23, 2020

Just enabled SIP and com.apple.quarantine is blocking now. However, in Security & Privacy, there's an Open Anyway button. Not sure when did this restriction began. There used to be a one-time prompt with Ctrl (Command) + Click.

Screen Shot

I'm still investigating if SIP would break other functionalities.

Apparently no problems.

However if you click that “Open Anyway” for me often it doesn’t work. After allowing to open the prefpane it says “unable to load the prefpane” or something similar.
The only way to fix it is to add the prefpane and then, without going to security and privacy, executing the command

@zhen-zen i noticed a problem in ACPI, from logs I see this:

2020-11-23 13:56:37.595746+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.AMW0.WQAA:
2020-11-23 13:56:37.595747+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.AMW0.WQAA:
2020-11-23 13:56:37.595754+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2020-11-23 13:56:37.595755+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2020-11-23 13:56:37.595757+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)
2020-11-23 13:56:37.595758+0100 0xcc       Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)

From my DSDT WQAA is defined as:

                Method (WQAA, 1, NotSerialized)
                {
                    Return (B1ED) /* \_SB_.AMW0.B1ED */
                }

So it requires an argument. I am not sure if it's the kext that calls it or something else. In my DSDT the method is never called, and in my IOReg YogaWMI is linked to AMW0.

@zhen-zen
Copy link
Owner

The driver will try to parse available WMI description, which is not critical since it's just human readable entires. However, there's no indication which guid contains that information. So it will try to evaluate entries with instance_count 0x1 and flags 0x0, which is usually a large blob buffer so no argument are required. You can ignore this warning since required type shouldn't take an argument. Current approach will only try the first matched guid. I just opened #78 which would stop after found matching ones.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 24, 2020

Tried the build, the ACPI error disappeared so I think that it worked 👍 Thanks

Unfortunately on my Thinkpad setting battery charge threshold doesn't seem to work. It's a minor problem because my battery seems to have a default threshold of 95% (for MacOS it doesn't charge over this limit). Maybe a SSDT for BAT is needed, I haven't found any info on the readme though. Let me know how I can provide additional info if you eventually want to investigate the issue

@antoniomcr96 antoniomcr96 changed the title Thinkpad L390 Yoga: Trackpad and Trackpoint aren't disabled if screen is rotated in tablet mode + strange message + fan reading error + led control Thinkpad L390 Yoga: testing and feedback Nov 24, 2020
@zhen-zen
Copy link
Owner

@zhen-zen
Copy link
Owner

zhen-zen commented Nov 24, 2020

And that ACPI warning should still present. Can you try the last commit there?

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Nov 27, 2020

And that ACPI warning should still present. Can you try the last commit there?

2020-11-27 21:28:54.667411+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.AMW0.WQAA:
2020-11-27 21:28:54.667412+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.AMW0.WQAA:
2020-11-27 21:28:54.667414+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2020-11-27 21:28:54.667415+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2020-11-27 21:28:54.667417+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)
2020-11-27 21:28:54.667418+0100 0xc7       Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)

The problem is here again with https://github.com/zhen-zen/YogaSMC/actions/runs/386348029 . With https://github.com/zhen-zen/YogaSMC/actions/runs/379956818 it was disappeared.

In linux I can set the battery threshold with TLP
Also in Windows it works
With YogaSMC, if I set a threshold it disappears if I reopen the app (and it doesn't actually work if I plug the AC adaptor, it always charges until 95%)

@zhen-zen
Copy link
Owner

zhen-zen commented Mar 5, 2021

Only laptop and tablet mode (last 2 bytes) is recognized according to the log. Can you get other modes with different angles?

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Mar 6, 2021

Hi @zhen-zen ,
unfortunately other angles dont show anything in the logs.
I tried with Linux and, like WIndows, everything seems to be working correctly (it goes in tablet mode and disables keyboard and touchpad after a rotation of 180 degrees)
Can I provide other informations useful for you?

@zhen-zen
Copy link
Owner

zhen-zen commented Mar 6, 2021

Can you try #121 and find if there might be more modes in the log?

@antoniomcr96
Copy link
Contributor Author

[  118.594493]: YSMC - Info: ThinkVPC::HKEY failed to evaluate raw tablet mode
[  118.594509]: YSMC - Debug: ThinkVPC::HKEY TopCase Input disabled
[  118.606122]: YSMC - Info: ThinkVPC::HKEY Thermal Transformation changed (GMTS): 0x10003
[  154.397897]: YSMC - Info: ThinkVPC::HKEY failed to evaluate raw tablet mode
[  154.397928]: YSMC - Debug: ThinkVPC::HKEY TopCase Input enabled
[  154.409524]: YSMC - Info: ThinkVPC::HKEY Thermal Transformation changed (GMTS): 0x10001

If the laptop is rotated 360degrees. Nothing happens at 180 degrees

@zhen-zen
Copy link
Owner

zhen-zen commented Mar 9, 2021

I just fixed a bug there and now the evaluation should not fail. Also, I wonder if you can get tablet mode recognized with HID Sensor disabled in Device Manager (Win).

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Mar 10, 2021

image
Cattura2

In Windows tablet mode still works when rotated at 180°

With your new kext:

[  153.693549]: YSMC - Debug: ThinkVPC::HKEY tablet mode: 40003, raw: 4
[  153.693593]: YSMC - Debug: ThinkVPC::HKEY TopCase Input disabled
[  153.703307]: YSMC - Info: ThinkVPC::HKEY Thermal Transformation changed (GMTS): 0x10003
[  156.970955]: YSMC - Debug: ThinkVPC::HKEY tablet mode: 40001, raw: 0
[  156.970994]: YSMC - Debug: ThinkVPC::HKEY TopCase Input enabled
[  156.982133]: YSMC - Info: ThinkVPC::HKEY Thermal Transformation changed (GMTS): 0x10001

No way to show other raw modes

@zhen-zen
Copy link
Owner

Hmmm, then the driver in Windows should just rely on the input from GMMS to identify current mode.

It's weird that other modes are skipped. Can you check the value of CMMD (raw) at different positions? https://github.com/zhen-zen/YogaSMC#ec-reading

By the way, do you have ACPI warnings from IOACPIPlatform when flipping the screen? You can see it live using log stream --predicate 'processID=0 && senderImagePath contains "ACPI"'.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Mar 11, 2021

A few updates, there are some ACPI warnings when the screen is rotated 360° and your kext detects it, nothing when it's rotated 180 degrees or other values.

2021-03-11 10:15:21.767637+0100 0x7de      Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.PCI0.LPCB.H_EC.HKEY.GMMS:
2021-03-11 10:15:21.767675+0100 0x7de      Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2021-03-11 10:15:21.767692+0100 0x7de      Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)
2021-03-11 10:15:21.779265+0100 0x7dd      Default     0x0                  0      0    kernel: (AppleACPIPlatform) ACPI Warning: \_SB.PCI0.LPCB.H_EC.HKEY.GTMS:
2021-03-11 10:15:21.779306+0100 0x7dd      Default     0x0                  0      0    kernel: (AppleACPIPlatform) Insufficient arguments - Caller passed 0, method requires 1
2021-03-11 10:15:21.779322+0100 0x7dd      Default     0x0                  0      0    kernel: (AppleACPIPlatform)  (20160930/nsarguments-333)

I don't know what these two methods are, but in my dsdt they are defined as:

                Method (GMMS, 1, Serialized)
                {
                    Local0 = 0x00040000
                    Switch (ToInteger (\PMMD))
                    {
                        Case (0x00)
                        {
                            Local0 |= 0x01
                        }
                        Case (0x01)
                        {
                            Local0 |= 0x02
                        }
                        Case (0x02)
                        {
                            Local0 |= 0x04
                        }
                        Case (0x03)
                        {
                            Local0 |= 0x05
                        }
                        Case (0x04)
                        {
                            Local0 |= 0x03
                        }
                        Default
                        {
                            Local0 |= 0x01
                        }

                    }

                    Return (Local0)
                }

                Method (GTMS, 1, NotSerialized)
                {
                    Local0 = 0x00010000
                    Local0 |= \LVMD
                    Return (Local0)
                }

The argument is never required inside the method, I don't know if patching the DSDT to require no args can help.

I also tried to read EC fields (EC access is R/W)

antonio@MacBook-Pro Release % ./ioio -s YogaVPC ReadECName CMMD
ioio: setting property 'YogaVPC:ReadECName' as string to 'CMMD'
antonio@MacBook-Pro Release % ./dmesg|grep YSMC
{....}
[ 2082.384122]: YSMC - Info: ThinkVPC::HKEY CMMD: 0x00
[ 2100.539424]: YSMC - Debug: ThinkVPC::HKEY tablet mode: 40003, raw: 4
[ 2100.539463]: YSMC - Debug: ThinkVPC::HKEY TopCase Input disabled
[ 2100.550360]: YSMC - Info: ThinkVPC::HKEY Thermal Transformation changed (GMTS): 0x10003
[ 2142.501570]: YSMC - Info: ThinkVPC::HKEY CMMD: 0x04

It becomes 0x04 when flipped 360 but it doesn't change with other values

@zhen-zen
Copy link
Owner

Can you try cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode for different states in Linux? I don't known what else could make the mode detection other than the ACPI implementation.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Apr 19, 2021

I'm really sorry for the delay. That command returns 0 if the laptop isn't in tablet mode, instead it returns 1 if the laptop is in tablet mode. WIth linux the laptop goes in tablet mode after a rotation of 180 degrees, as it should (like in windows). If the laptop is rotated 360 degrees the result is still 1
Thanks (as always)

@zhen-zen
Copy link
Owner

Currently waiting for other ThinkPad Yoga users for feedback. The implementation should follow the linux one unless different sensor is being used.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Jun 8, 2021

Hi @zhen-zen , don't worry. When I will have some time I'll try to debug ACPI on linux and see if something changes.

I'd report another issue, not big though. On windows I have only two modes about performance (the same options I find in the bios):
image
"Prestazioni" is "Perfomance" and "Raffreddamento e silenzio" is "Quiet"

On YogaSMC i find three options:
image
Anyway, if I try to change the mode, the interface fails:
image
image
Any idea?

@zhen-zen
Copy link
Owner

DYTC implements several sets of functions and currently we are unable to tell which one is available. The driver follows the logic from Linux and that's the only documented source.

According to your DSDT, DYTC doesn't support DYTC_MODE_QUIET for DYTC_FUNCTION_MMC. Can you try debug kext + DebugEnhancer and record the DYTC mode in dmesg log after changing it in Windows?

@antoniomcr96
Copy link
Contributor Author

It seems that the log is the same, if I boot after selecting "performance" in windows:

antonio@MacBook-Pro ~ % sudo dmesg|grep DYTC
Password:
[    0.778780]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x0 result 0x40020101
[    0.778787]: YSMC - Debug: HKEY::ThinkVPC DYTCMode 0x1

After "Quiet":

[    0.747492]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x0 result 0x40020101
[    0.747498]: YSMC - Debug: HKEY::ThinkVPC DYTCMode 0x1

Maybe a firmware issue, who knows. Thanks as always

@zhen-zen
Copy link
Owner

Sorry, can you try the latest master build again? Command 0x0 is just for query DYTC version, 0x2 should be get current DYTC status.

@antoniomcr96
Copy link
Contributor Author

Done. Quiet:

[    0.739701]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x0 result 0x40020101
[    0.741257]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x3 result 0x09110001
[    0.758818]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x2 result 0x0001f001

Performance:

[    0.766466]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x0 result 0x40020101
[    0.769241]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x3 result 0x09190001
[    0.783999]: YSMC - Debug: HKEY::ThinkVPC DYTCMode command 0x2 result 0x0001f001

@zhen-zen
Copy link
Owner

It's weird. Both modes has the same standard (intelligent cooling) DYTC setting. I guess your case is the same as @1Revenger1 , but PSC mode is not available on yours.

@antoniomcr96
Copy link
Contributor Author

It's weird. Both modes has the same standard (intelligent cooling) DYTC setting. I guess your case is the same as @1Revenger1 , but PSC mode is not available on yours.

Nice, this laptop doesn't make a sense. What does the different result that returns from 0x3 mean?

@zhen-zen
Copy link
Owner

Nice, this laptop doesn't make a sense. What does the different result that returns from 0x3 mean?

Command 0 is for revision, command 2 is for getting current status, and command 3 is for available functions. You can check DYTC.h for definition. There are other functions other than MMC and PSC, but I'm not sure how will they behave.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Jul 5, 2021

Hi @zhen-zen , I would suggest to disable the detection of tablet/laptop mode when "Clamshell mode" is selected in yogasmc preference pane (and an external monitor is connected)
if I rotate the screen (that is off, because in clamshell mode), when the notebook is connected to an external monitor, in order to use only the keyboard, yogasmc detects the rotation and puts the pc in tablet mode disabling keyboard and touchpad.
I attach a photo
https://user-images.githubusercontent.com/63928525/124506873-da45b380-ddcc-11eb-8307-aa068b7bc0dc.jpg
Thanks as always!

@zhen-zen
Copy link
Owner

zhen-zen commented Jul 7, 2021

Please try the latest commit. You are welcome.

@antoniomcr96
Copy link
Contributor Author

This commit (https://github.com/zhen-zen/YogaSMC/actions/runs/1006578388 ) failed to build.
I tried this: https://github.com/zhen-zen/YogaSMC/actions/runs/1006592144 but it's a different thing, I think. In fact it doesn't work. :)

@zhen-zen
Copy link
Owner

zhen-zen commented Jul 8, 2021

The last one just disabled the workaround on Idea variant. But think variant should be good. Instead of just turning off the keyboard, it will set to clamshell status (on - keyboard on). What does the log say?

@antoniomcr96
Copy link
Contributor Author

After rotation, with black built-in screen and external monitor attached, "tablet mode" popup appears on external monitor. Keyboard is disabled, touchpad keeps working.
I think that the popup shouldn't appear and keyboard should keep working. :)

[  245.963675]: YSMC - Debug: HKEY::ThinkVPC tablet mode: 40003, raw: 4
[  245.963718]: YSMC - Debug: HKEY::ThinkVPC TopCase Input enabled
[  245.973136]: YSMC - Debug: HKEY::ThinkVPC Thermal Transformation changed: 0x10003
[  259.897327]: YSMC - Debug: HKEY::ThinkVPC tablet mode: 40001, raw: 0
[  259.897368]: YSMC - Debug: HKEY::ThinkVPC TopCase Input enabled
[  259.908234]: YSMC - Debug: HKEY::ThinkVPC Thermal Transformation changed: 0x10001

@zhen-zen
Copy link
Owner

zhen-zen commented Aug 5, 2021

Sorry for the late response. It could be an additional key. Can you try #148 ?

@zhen-zen
Copy link
Owner

Please try build on master branch that filters Yoga mode notification. #148 is closed.

@antoniomcr96
Copy link
Contributor Author

antoniomcr96 commented Sep 26, 2021

Sorry for the late response. I tried this commit: 458c933
"tablet mode" popup does not appear anymore, touchpad keeps working as it should but keyboard is disabled. Maybe it depends on the firmware?

EDIT: unfortunately, it happens also without an external monitor. If "Clamshell mode" is selected in the preference panel of YogaSMC, tablet mode doesn't work (if you rotate the screen, "tablet mode" popup does not appear, keyboard is disabled but touchpad keeps working).

@zhen-zen
Copy link
Owner

Sorry for the late response. I tried this commit: 458c933
"tablet mode" popup does not appear anymore, touchpad keeps working as it should but keyboard is disabled. Maybe it depends on the firmware?

EDIT: unfortunately, it happens also without an external monitor. If "Clamshell mode" is selected in the preference panel of YogaSMC, tablet mode doesn't work (if you rotate the screen, "tablet mode" popup does not appear, keyboard is disabled but touchpad keeps working).

Maybe try it without YogaSMC?

@iamrajukh
Copy link

Hi, how do i fix this "ec access unavailable see ssdt-ecrw.dsl" ? i'm getting this alert in my t480s. should I ignore it or its something should I care to fix

@Pussycat4
Copy link

The perfect os for lenovo thinkpad 360 yoga whst is it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request firmware issue help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants