Contribute
Register

ACPI help please

Status
Not open for further replies.
Joined
Feb 9, 2013
Messages
118
Motherboard
Sony Vaio SVE15115FXS
CPU
Core i5-3210m, HM76
Graphics
HD4000, 1366x768
Mac
  1. MacBook
Mobile Phone
  1. Android
  2. iOS
My current DSDT:
- Renamed: ADP1, EC (rename, split for battery using premade RehabMan patch).
- Patched: EHC, XHC, HDEF, IGPU, ARPT, GIGE, SBUS
- Added: MCHC, IMEI, Darwin/Win emulation
***Had to add “Store (One, LIDS)” to _WAK to power on display backlight after using lid to sleep. ECOK=1 works too.

SSDT Hell:
My system seems to have hidden PM tables which are “loaded dynamically” during macOS boot (Despite seemingly being dropped by Clover!!)

Dropping all OEM SSDTs causes ACPI errors during boot. DSDT objects missing (PDC0, PNOT, EC._REG)

I had to remove code calling those SSDTs to prevent them from loading during boot. Not sure if needed/done correctly.

Two FACS tables:
Not sure if this is related to anything but MacIASL shows 2 FACS tables. (Check DumpLog.text for xFACS, xDSDT)

My Questions: :)
1- Which SSDTs should I drop? If none, are the SSDTs correctly patched? Does it even matter?

2- Is LIDS/ECOK=1 on _WAK the right way to fix display backlight after lid sleep? This is a brute-force fix.

3- After macOS shutdown, I have to press power button twice to start. Power LED flashes once on first press, system starts normally on second. Reboot works.

4- Fn+F5/F6 brightness keys don’t work and don’t seem to send ACPI calls (using RehabMan’s method). Using regular F5/6 keys instead.

5- Keyboard backlight doesn’t have physical toggle. I think its ACPI controlled. Any idea where to look? On windows, it’s controlled using Vaio Control Center (Always on/off, when connected to charger/battery). On macOS, it only work in time out mode.

6- Minor issues: Sleep using lid takes 10 seconds. Apple menu: 20 seconds. USB incorrectly removed error after wake from sleep.

Thanks in advance
 

Attachments

  • ACPI.zip
    42.4 KB · Views: 134
  • config.plist.zip
    2.8 KB · Views: 91
My current DSDT:
- Renamed: ADP1, EC (rename, split for battery using premade RehabMan patch).
- Patched: EHC, XHC, HDEF, IGPU, ARPT, GIGE, SBUS
- Added: MCHC, IMEI, Darwin/Win emulation
***Had to add “Store (One, LIDS)” to _WAK to power on display backlight after using lid to sleep. ECOK=1 works too.

SSDT Hell:
My system seems to have hidden PM tables which are “loaded dynamically” during macOS boot (Despite seemingly being dropped by Clover!!)

Dropping all OEM SSDTs causes ACPI errors during boot. DSDT objects missing (PDC0, PNOT, EC._REG)

I had to remove code calling those SSDTs to prevent them from loading during boot. Not sure if needed/done correctly.

Two FACS tables:
Not sure if this is related to anything but MacIASL shows 2 FACS tables. (Check DumpLog.text for xFACS, xDSDT)

My Questions: :)
1- Which SSDTs should I drop? If none, are the SSDTs correctly patched? Does it even matter?

2- Is LIDS/ECOK=1 on _WAK the right way to fix display backlight after lid sleep? This is a brute-force fix.

3- After macOS shutdown, I have to press power button twice to start. Power LED flashes once on first press, system starts normally on second. Reboot works.

4- Fn+F5/F6 brightness keys don’t work and don’t seem to send ACPI calls (using RehabMan’s method). Using regular F5/6 keys instead.

5- Keyboard backlight doesn’t have physical toggle. I think its ACPI controlled. Any idea where to look? On windows, it’s controlled using Vaio Control Center (Always on/off, when connected to charger/battery). On macOS, it only work in time out mode.

6- Minor issues: Sleep using lid takes 10 seconds. Apple menu: 20 seconds. USB incorrectly removed error after wake from sleep.

Thanks in advance

"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Here are the files requested (slightly modded for privacy)
 
Here are the files requested (slightly modded for privacy)

"Problem Reporting" files are incomplete.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

My Questions: :)
1- Which SSDTs should I drop? If none, are the SSDTs correctly patched? Does it even matter?

Generally, you want to avoid dropping any SSDTs.
Read ACPI patching guide:
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

2- Is LIDS/ECOK=1 on _WAK the right way to fix display backlight after lid sleep? This is a brute-force fix.

No idea what you're referring to.
Brightness guide is here:
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/

3- After macOS shutdown, I have to press power button twice to start. Power LED flashes once on first press, system starts normally on second. Reboot works.
4- Fn+F5/F6 brightness keys don’t work and don’t seem to send ACPI calls (using RehabMan’s method). Using regular F5/6 keys instead.

Any ideas would require PR files.

5- Keyboard backlight doesn’t have physical toggle. I think its ACPI controlled. Any idea where to look? On windows, it’s controlled using Vaio Control Center (Always on/off, when connected to charger/battery). On macOS, it only work in time out mode.

Use ACPIDebug.kext to instrument your EC queries and _GPE methods.

6- Minor issues: Sleep using lid takes 10 seconds. Apple menu: 20 seconds. USB incorrectly removed error after wake from sleep.

Time from sleep request to sleep initiation will vary due to any active assertions (pmset -g assertions).
About 15 seconds is typical.

USB eject over sleep is typical (there are solutions if you search for them).
 
Okay, here are the files.

1- So stock SSDTs (including dynamically loaded ApIst, ApCst, Cpu0Cst) are okay?
2- Problem is not brightness. Its's the actual backlight LEDs not powering on. I can only see ghosting on the screen.
3- Files attached
4- Files attached (Minor issue since I mapped brightness to F instead of Fn+F).
5- I did EC queries and there doesn't seem to be anything related to backlight on/off event. Maybe this "^^EC.KBLF" called from SNC device. SNC driver on windows is what gets light control working.
6- Duly noted. Thank you :)

Edit: attachment delete for privacy's sake.
 
Last edited:
1- So stock SSDTs (including dynamically loaded ApIst, ApCst, Cpu0Cst) are okay?

It can depend. Don't drop them unless they cause a problem.

2- Problem is not brightness.

Brightness controls still not implemented correctly.
But your ioreg shows EDID detected for your internal display.
You may need to try other ig-platform-id values.
Also check in Windows to see that your display is LVDS (eDP generally not supported).

3- Files attached
4- Files attached (Minor issue since I mapped brightness to F instead of Fn+F).

EFI/Clover is missing.
But patchmatic output shows EC query methods not instrumented for discovery of ACPI brightness keys.

Your kextcache output proves kexts are not installed correctly.
All kexts you need must be installed to the system volume.
Read post #2 of the Clover guide for details:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

5- I did EC queries and there doesn't seem to be anything related to backlight on/off event. Maybe this "^^EC.KBLF" called from SNC device. SNC driver on windows is what gets light control working.

Check also PS2 (as mentioned in the guide).
 
1- Resolved. Thank you. Not gonna drop any SSDTs since they don't seem to be causing any issues. (will keep testing)

2- How so? Brightness control is working fine (UI and key shortcuts, full range). Just need to force display LEDs power on from _WAK after using lid to sleep. I haven't seen any problem using this hack so far. Will keep experimenting.

3- Clover files attached.

4- Nevermind this for now. Thanks anyway.

5- Resolved. EC.KBBL=0/1/2 turns keyboard backlight off/timeout/on. Now to find a way to control that from userspace.

Now the only remaining issue is the sluggish startup after shutdown. Perhaps it's a CMOS issue? BIOS settings remain intact though. Or maybe a register that needs setting. This is way beyond my current knowledge level.

Thank you very much RehabMan for all the help :)
 
2- How so?

Read/follow guide:
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/

3- Clover files attached.

You might want to start over following the guide:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/


Note that you're currently dropping SSDTs via DropTables... (you seem to imply earlier that you're not).

Now the only remaining issue is the sluggish startup after shutdown. Perhaps it's a CMOS issue?

Sluggish when? From BIOS->Clover? Or from Clover->macOS?
 
Yeah, sorry. I was trying to see if there's a difference between dropping and not dropping. Uploaded the plist with drop enabled.

Sluggish is not the right word.

Shutdown macOS/laptop, press power button once -> power button LED flashes once. System stays off. Press again -> system starts.

Restart works although I feel a very slight delay on BIOS POST screen.

Is there a way to call a DSDT method using your PS2 keyboard driver? I want to assign a keyboard button to a DSDT method to shutdown keyboard backlight.
 
Restart works although I feel a very slight delay on BIOS POST screen.

Sounds like BIOS issue.

Is there a way to call a DSDT method using your PS2 keyboard driver? I want to assign a keyboard button to a DSDT method to shutdown keyboard backlight.

Note source code:
Code:
    // codes e0f0 through e0ff can be used to call back into ACPI methods on this device
    if (keyCode >= 0x01f0 && keyCode <= 0x01ff && _provider != NULL)
    {
        // evaluate RKA[0-F] for these keys
        char method[5] = "RKAx";
        char n = keyCode - 0x01f0;
        method[3] = n < 10 ? n + '0' : n - 10 + 'A';
        if (OSNumber* num = OSNumber::withNumber(goingDown, 32))
        {
            // call ACPI RKAx(Arg0=goingDown)
            _provider->evaluateObject(method, NULL, (OSObject**)&num, 1);
            num->release();
        }
    }

My Lenovo u430 repo uses this feature.
 
Status
Not open for further replies.
Back
Top