Contribute
Register

Disable Device via SSDT

Status
Not open for further replies.
Now I have 7 Errors.
 

Attachments

  • extract.zip
    535.3 KB · Views: 97
  • Screen Shot 2018-06-09 at 9.12.34 PM.png
    Screen Shot 2018-06-09 at 9.12.34 PM.png
    662.5 KB · Views: 139
After Disassembly with refs.txtI have same errors and warning

Code:
Last login: Sat Jun  9 18:04:38 on ttys000
navaratnams-Mac-Pro:~ navaratnammanoranjan$ cd /Users/navaratnammanoranjan/Desktop/extract iasl -da -dl DSDT.aml SSDT*.aml
navaratnams-Mac-Pro:extract navaratnammanoranjan$ iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180427(RM)
Copyright (c) 2000 - 2018 Intel Corporation

Input file DSDT.aml, Length 0x35B35 (219957) bytes
ACPI: DSDT 0x0000000000000000 035B35 (v02 ALASKA A M I    01072009 INTL 20091013)
External object resolution file         SSDT.aml
Input file SSDT.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-2.aml
Input file SSDT-2.aml, Length 0x58 (88) bytes
ACPI: SSDT 0x0000000000000000 000058 (v01 PmRef  CpuPm    00003000 INTL 20120320)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-1.aml
Input file SSDT-1.aml, Length 0x1061C (67100) bytes
ACPI: SSDT 0x0000000000000000 01061C (v02 ALASKA PmMgt    00000001 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
refs.txt: Importing method external (1 arguments) MDBG
refs.txt: Imported 1 external method definitions
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 1 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    DSDT.dsl - 1957562 bytes
Input file SSDT-1.aml, Length 0x1061C (67100) bytes
ACPI: SSDT 0x0000000000000000 01061C (v02 ALASKA PmMgt    00000001 INTL 20120913)
External object resolution file         SSDT.aml
Input file SSDT.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-2.aml
Input file SSDT-2.aml, Length 0x58 (88) bytes
ACPI: SSDT 0x0000000000000000 000058 (v01 PmRef  CpuPm    00003000 INTL 20120320)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file         DSDT.aml
Input file DSDT.aml, Length 0x35B35 (219957) bytes
ACPI: DSDT 0x0000000000000000 035B35 (v02 ALASKA A M I    01072009 INTL 20091013)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
refs.txt: Importing method external (1 arguments) MDBG
refs.txt: Imported 1 external method definitions
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 1 external control methods, reparsing with new information
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    SSDT-1.dsl - 730429 bytes
Input file SSDT-2.aml, Length 0x58 (88) bytes
ACPI: SSDT 0x0000000000000000 000058 (v01 PmRef  CpuPm    00003000 INTL 20120320)
External object resolution file         SSDT.aml
Input file SSDT.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-1.aml
Input file SSDT-1.aml, Length 0x1061C (67100) bytes
ACPI: SSDT 0x0000000000000000 01061C (v02 ALASKA PmMgt    00000001 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file         DSDT.aml
Input file DSDT.aml, Length 0x35B35 (219957) bytes
ACPI: DSDT 0x0000000000000000 035B35 (v02 ALASKA A M I    01072009 INTL 20091013)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
refs.txt: Importing method external (1 arguments) MDBG
refs.txt: Imported 1 external method definitions
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 1 external control methods, reparsing with new information
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    SSDT-2.dsl - 1341 bytes
Input file SSDT.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
External object resolution file       SSDT-2.aml
Input file SSDT-2.aml, Length 0x58 (88) bytes
ACPI: SSDT 0x0000000000000000 000058 (v01 PmRef  CpuPm    00003000 INTL 20120320)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-1.aml
Input file SSDT-1.aml, Length 0x1061C (67100) bytes
ACPI: SSDT 0x0000000000000000 01061C (v02 ALASKA PmMgt    00000001 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file         DSDT.aml
Input file DSDT.aml, Length 0x35B35 (219957) bytes
ACPI: DSDT 0x0000000000000000 035B35 (v02 ALASKA A M I    01072009 INTL 20091013)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
refs.txt: Importing method external (1 arguments) MDBG
refs.txt: Imported 1 external method definitions
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 1 external control methods, reparsing with new information
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    SSDT.dsl - 5977 bytes
navaratnams-Mac-Pro:extract navaratnammanoranjan$

It is normal to have errors after disassembly that need to be resolved.
You should not be surprised (disassembly, especially with older computers, is not perfect).
 
How to resolved this errors?
I try to fixed that 7 errors then back to 9 errors its like ORI DSDT.
 
Last edited:
How to resolved this errors?
I try to fixed that 7 errors then back to 9 errors its like ORI DSDT.

First, you should not use refs.txt (as mentioned earlier it is not needed for your ACPI set, and does not match).

As for fixing things like WordIO errors:
from:
Code:
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x4158,             // Range Minimum
                    0x0000,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0001,             // Length
                    ,, , TypeStatic, DenseTranslation)

to:
Code:
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x4158,             // Range Minimum
                    0x4158,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0001,             // Length
                    ,, , TypeStatic, DenseTranslation)

Read ACPI specification for details.
 
Thanks Rehapman
Now I fixed Errors.
Which patches need my DSDT?
 

Attachments

  • DSDT.aml.zip
    25 KB · Views: 107
This prw patches sleep worked without thunderbolt card.
Code:
# remove _PRW methods to prevent instant wake
# delete any existing XHC1 device
# delete any existing USB2 device
into device label USB2 name_adr 0x001D0000 remove_entry;
into device label USB2 name_adr 0x001A0000 remove_entry;
# if _PRW objects are methods
into method label _PRW parent_adr 0x001D0000 remove_entry;
into method label _PRW parent_adr 0x001A0000 remove_entry;
into method label _PRW parent_adr 0x00140000 remove_entry;
into method label _PRW parent_adr 0x001B0000 remove_entry;
# some other LAN cards use 0x00190000
into method label _PRW parent_adr 0x00190000 remove_entry;
into method label _PRW parent_adr 0x001C0004 remove_entry;
# some other  cards (RP08Intensity Pro,RP07 USB3 Card,RP04 WIFI card,RP01,RP02,RP03,RP06)
into method label _PRW parent_adr 0x001C0007 remove_entry;
into method label _PRW parent_adr 0x001C0006 remove_entry;
into method label _PRW parent_adr 0x001C0003 remove_entry;
into method label _PRW parent_adr 0x001C0000 remove_entry;
into method label _PRW parent_adr 0x001C0001 remove_entry;
into method label _PRW parent_adr 0x001C0002 remove_entry;
into method label _PRW parent_adr 0x001C0005 remove_entry;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into method label _PRW parent_adr 0x00010000 remove_entry;
into method label _PRW parent_adr 0x00010001 remove_entry;
into method label _PRW parent_adr 0x00020000 remove_entry;
into method label _PRW parent_adr 0x00020001 remove_entry;
into method label _PRW parent_adr 0x00020002 remove_entry;
into method label _PRW parent_adr 0x00020003 remove_entry;
into method label _PRW parent_adr 0x00030000 remove_entry;
into method label _PRW parent_adr 0x00030001 remove_entry;
into method label _PRW parent_adr 0x00030002 remove_entry;
into method label _PRW parent_adr 0x00030003 remove_entry;
# if _PRW methods are stuffed into a separate scope
into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label _SB.PCI0.XHC remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label \_SB.PCI0.XHC1 remove_entry;
into method label _PRW parent_label \_SB.PCI0.XHCI remove_entry;
# if _PRW objects are names
into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0004 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0007 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0006 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0005 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00010001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# some _PRW have three entries in the Package
into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0004 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0007 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0006 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0005 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00010001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state
into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0004 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0007 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0006 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0005 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00010001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
 
Thanks Rehapman
Now I fixed Errors.
Which patches need my DSDT?

It depends on what problem you're trying to solve.

This prw patches sleep worked without thunderbolt card.
Code:
# remove _PRW methods to prevent instant wake
# delete any existing XHC1 device
# delete any existing USB2 device
into device label USB2 name_adr 0x001D0000 remove_entry;
into device label USB2 name_adr 0x001A0000 remove_entry;
# if _PRW objects are methods
into method label _PRW parent_adr 0x001D0000 remove_entry;
into method label _PRW parent_adr 0x001A0000 remove_entry;
into method label _PRW parent_adr 0x00140000 remove_entry;
into method label _PRW parent_adr 0x001B0000 remove_entry;
# some other LAN cards use 0x00190000
into method label _PRW parent_adr 0x00190000 remove_entry;
into method label _PRW parent_adr 0x001C0004 remove_entry;
# some other  cards (RP08Intensity Pro,RP07 USB3 Card,RP04 WIFI card,RP01,RP02,RP03,RP06)
into method label _PRW parent_adr 0x001C0007 remove_entry;
into method label _PRW parent_adr 0x001C0006 remove_entry;
into method label _PRW parent_adr 0x001C0003 remove_entry;
into method label _PRW parent_adr 0x001C0000 remove_entry;
into method label _PRW parent_adr 0x001C0001 remove_entry;
into method label _PRW parent_adr 0x001C0002 remove_entry;
into method label _PRW parent_adr 0x001C0005 remove_entry;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into method label _PRW parent_adr 0x00010000 remove_entry;
into method label _PRW parent_adr 0x00010001 remove_entry;
into method label _PRW parent_adr 0x00020000 remove_entry;
into method label _PRW parent_adr 0x00020001 remove_entry;
into method label _PRW parent_adr 0x00020002 remove_entry;
into method label _PRW parent_adr 0x00020003 remove_entry;
into method label _PRW parent_adr 0x00030000 remove_entry;
into method label _PRW parent_adr 0x00030001 remove_entry;
into method label _PRW parent_adr 0x00030002 remove_entry;
into method label _PRW parent_adr 0x00030003 remove_entry;
# if _PRW methods are stuffed into a separate scope
into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label _SB.PCI0.XHC remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label \_SB.PCI0.XHC1 remove_entry;
into method label _PRW parent_label \_SB.PCI0.XHCI remove_entry;
# if _PRW objects are names
into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0004 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0007 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0006 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0005 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00010001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# some _PRW have three entries in the Package
into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0004 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0007 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0006 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001C0005 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00010001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00020003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030002 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00030003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
# seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state
into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0004 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0007 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0006 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x001C0005 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
#If_PRW BR1A,BR1B,BR2A,BR2B,BR2C,BR2D,BR3A,BR3B,BR3C,BR3D
into device name_adr 0x00010000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00010001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00020003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030000 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030001 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030002 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;
into device name_adr 0x00030003 insert begin Name(_PRW, Package() { 0x6D, 0 }) end;

If you have instant wake, you should check 'wake reason' in the kernel logs.
 
I change your IRQ patched lPNP0000 not in my DSDT change to PNP0C04
Code:
#Maintained by: RehabMan for: Laptop Patches
#system_IRQ.txt

# This can fix non-working audio and also has an affect on HPET.
#
# Use this if you have issues with patched AppleHDA (required on almost all laptops)
# or if you have issues with HPET (restart after wake).

# IRQ fix
into device name_hid PNP0C04 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;
into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate()\n
{\n
    IRQNoFlags() { 0, 8, 11, 15 }\n
%2
})\n
end;
This patch not work My DSDT
OS Check Fix(windows 10)
Code:
#Maintained by: RehabMan for: Laptop Patches
#system_OSYS_win10.txt

# Cause the DSDT to simulate "Windows 2015" when running under "Darwin" (OS X).
#
# This can fix various DSDT related problems for code within the DSDT
# that is conditional on the operating system version.
#
# Sometimes "Windows 2015" is a better choice than "Windows 2006"

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2015\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2015"))) end;
Please look My Kernel log I don't find wake reason.
Thank you.
 

Attachments

  • BootLog_Kernel.zip
    37.3 KB · Views: 171
I change your IRQ patched lPNP0000 not in my DSDT change to PNP0C04
Code:
#Maintained by: RehabMan for: Laptop Patches
#system_IRQ.txt

# This can fix non-working audio and also has an affect on HPET.
#
# Use this if you have issues with patched AppleHDA (required on almost all laptops)
# or if you have issues with HPET (restart after wake).

# IRQ fix
into device name_hid PNP0C04 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;
into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate()\n
{\n
    IRQNoFlags() { 0, 8, 11, 15 }\n
%2
})\n
end;

FPU object not the same as HPET.

This patch not work My DSDT
OS Check Fix(windows 10)
Code:
#Maintained by: RehabMan for: Laptop Patches
#system_OSYS_win10.txt

# Cause the DSDT to simulate "Windows 2015" when running under "Darwin" (OS X).
#
# This can fix various DSDT related problems for code within the DSDT
# that is conditional on the operating system version.
#
# Sometimes "Windows 2015" is a better choice than "Windows 2006"

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2015\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2015"))) end;

Not surprising.
Old computers generally don't have specific support/checks in DSDT for "Windows 10".

Please look My Kernel log I don't find wake reason.

You need to check your kernel log *after* a sleep attempt (assuming "instant wake").
 
I did not found instant wake in Kernel boot log.
I found some detail about sleep.
Code:
2018-06-11 21:42:38.848384-0400 0x4ae      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) X86PlatformPlugin::configResourceCallback - DeepSleep is not supported!
2018-06-11 21:42:38.848385-0400 0x4ae      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) X86PlatformPlugin::configResourceCallback - DeepSleep is not supported!

Code:
kernel: (IOAudioFamily) + IOAudioDevice[<private>]::setIdleAudioSleepTime: sleepDelay = ffffffffffffffffffffffff
2018-06-11 21:42:38.931029-0400 0x89e      Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioDevice[<private>]::setIdleAudioSleepTime: sleepDelay = ffffffffffffffffffffffff
2018-06-11 21:42:38.931032-0400 0x89e      Default     0x0                  0      0    kernel: (IOAudioFamily) +- IOAudioDevice[<private>]::flushAudioControls()
2018-06-11 21:42:38.931275-0400 0x3f3      Default     0x0                  0      0    kernel: (IOAudioFamily) + IOAudioDevice[<private>]::setIdleAudioSleepTime: sleepDelay = ffffffffffffffffffffffff
2018-06-11 21:42:38.931278-0400 0x3f3      Default     0x0                  0      0    kernel: (IOAudioFamily) - IOAudioDevice[<private>]::setIdleAudioSleepTime: sleepDelay = ffffffffffffffffffffffff

I update log after sleep wake.
 

Attachments

  • Kernel_Messsages_BootLog.txt.zip
    33.3 KB · Views: 80
Status
Not open for further replies.
Back
Top