BartoszCichecki / LenovoLegionToolkit

Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops.
GNU General Public License v3.0
5.54k stars 249 forks source link

[BUG]: BSOD when opening 2.14 on 16ACHg6 (82N6) #809

Closed uOoOnu closed 1 year ago

uOoOnu commented 1 year ago

Version

2.14.0/2.14.1

OS

Windows 11 22H2 Build 22621

Device

Legion 7 16ACHg6 82N6

BIOS version

GKCN44WW

What's wrong?

In versions 2.14.0 and 2.14.1 when starting the app the window will open and the loading symbol will appear: image but will BSOD before the menu can appear. (BSOD details below) Does not occur in 2.13.2.

Unsure if related: 2.14.0 / 2.14.1 don't appear in "installed apps" to uninstall them while 2.13.2 does

How to reproduce the bug?

  1. Open LLT on 2.14.0 or 2.14.1
  2. Wait for UI to show up and loading icon to turn for a bit
  3. BSOD

What is the behavior that you expected?

N/A

Logs

log_2023_06_22_23_34_02.txt

BSOD Minidump info: image

Do you have Lenovo software installed?

Did you disable any Lenovo software using Lenovo Legion Toolkit?

Additional information

Funny BSOD image

BartoszCichecki commented 1 year ago

It looks like what BSODs your system is the WMI provider that interfaces with ACPI (basically the EC), it is difficult to say why, but we can try to troubleshoot.

2.14 added couple new calls: check for GPU OC support and lighting methods (for panel and rear ports lights). That said, neither of these calls should cause BSODs, because they are standard methods used by Vantage and LegionZone.

I prepared 4 builds that turn, each disables one of the new things added in 2.14 that is related to your BSOD. You can try to see if you notice any differences: LenovoLegionToolkitSetup_1.zip LenovoLegionToolkitSetup_2.zip LenovoLegionToolkitSetup_3.zip LenovoLegionToolkitSetup_4.zip

Let me know what are the results.

uOoOnu commented 1 year ago

LenovoLegionToolkitSetup_1.zip works without BSOD, all the others BSOD (as expected)

BartoszCichecki commented 1 year ago

Ok, it looks like it is related to lighting features. Can you run these 3 commands on PowerShell as admin and check if any of them also causes BSOD:

  1. Get-WmiObject -namespace root\WMI -class LENOVO_LIGHTING_DATA
  2. Get-WmiObject -namespace root\WMI -class LENOVO_LIGHTING_DATA -filter "Lighting_ID = 3 AND Control_Interface = 1 AND Lighting_Type = 0"
  3. Get-WmiObject -namespace root\WMI -class LENOVO_LIGHTING_DATA -filter "Lighting_ID = 5 AND Control_Interface = 1 AND Lighting_Type = 0"
  4. (Get-WmiObject -namespace root\WMI -class LENOVO_LIGHTING_METHOD).Get_Lighting_Current_Status(3)
  5. (Get-WmiObject -namespace root\WMI -class LENOVO_LIGHTING_METHOD).Get_Lighting_Current_Status(5)
uOoOnu commented 1 year ago

All of them cause the BSOD.

BartoszCichecki commented 1 year ago

Here is a build that will not call any of these methods on this Legion model. The reason of BSODs is most likely a broken implementation of one of the ACPI calls, so some features like panel, ports and white keyboard backlight will not be available.

Can you try and see if it works properly?

LenovoLegionToolkitSetup.zip

After talking to some other people having this model it might be that this BIOS version is broken, so I think what I will do is add a parameter to disable these features for people experiencing BSODs in case they don't want to update BIOS.

Another suspect is the keyboard firmware version.

BartoszCichecki commented 1 year ago

After talking to couple of other people BIOS version GKCN44WW was identified to be the culprit. Minimum version for panel logo, rear ports lighting and white keyboard backlight was raised to GKCN54WW.