Piker-Alpha / ssdtPRGen.sh

Script to generate a SSDT for Power Management
713 stars 156 forks source link

Errors during generation of SSDT with i5-3570K and Mac Pro 3.1 sysdef #116

Closed renetrefft closed 9 years ago

renetrefft commented 9 years ago

The generated SSDT only gives the P-States 16 and 34.

Output of ssdtPRGen.sh.:

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v15.6 Copyright (c) 2013-2015 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

gDataPath: /Users/rene/Library/ssdtPRGen/Data
System information: Mac OS X 10.10.2 (14C109)
Brandstring 'Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz'

ACPI Processor {} Declaration(s) found in DSDT
sed: 1: "s/^[\n]*
Warning
     Usin ...": unterminated substitute pattern

Warning
     Using assumed Scope (\_PR) {}:
Generating ssdt.dsl for a 'MacPro3,1' with board-id [Mac-F42C88C8]
Ivy Bridge Core i5-3570K processor [0x306A9] setup [0x0603]
With a maximum TDP of 77 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 3400 MHz)
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6,C7)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0603 instead of 0x0703)
sed: 1: "s/^[\n]*
Error://
": unterminated substitute pattern

Error:
Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/rene/Library/ssdtPRGen/ssdt.dsl - 277 lines, 8820 bytes, 48 keywords
AML Output:    /Users/rene/Library/ssdtPRGen/ssdt.aml - 1822 bytes, 16 named objects, 32 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
-e
Do you want to copy /Users/rene/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? y
Creating temporarily mount point: /Volumes/EFI
Password:
Mounting EFI partition...
mount_hfs: Invalid argument
umount: /Volumes/EFI: not currently mounted
Do you want to open ssdt.dsl (y/n)? n
Piker-Alpha commented 9 years ago

You don't get the errors when you use another model/board-id?

renetrefft commented 9 years ago

Output with MacPro6.1:

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v15.6 Copyright (c) 2013-2015 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

gDataPath: /Users/rene/Library/ssdtPRGen/Data
System information: Mac OS X 10.10.2 (14C109)
Brandstring 'Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz'

ACPI Processor {} Declaration(s) found in DSDT
sed: 1: "s/^[\n]*
Warning
     Usin ...": unterminated substitute pattern

Warning
     Using assumed Scope (\_PR) {}:
Generating ssdt.dsl for a 'MacPro6,1' with board-id [Mac-F60DEB81FF30ACF6]
Ivy Bridge Core i5-3570K processor [0x306A9] setup [0x0603]
With a maximum TDP of 77 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 3400 MHz)
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C3,C6)
Warning: 'cpu-type' may be set improperly (0x0603 instead of 0x0a03)
Warning: 'system-type' may be set improperly (1 instead of 3)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/rene/Library/ssdtPRGen/ssdt.dsl - 261 lines, 8321 bytes, 48 keywords
AML Output:    /Users/rene/Library/ssdtPRGen/ssdt.aml - 1793 bytes, 16 named objects, 32 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
-e
Do you want to copy /Users/rene/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? y
Creating temporarily mount point: /Volumes/EFI
Password:
Mounting EFI partition...
mount_hfs: Invalid argument
umount: /Volumes/EFI: not currently mounted
Do you want to open ssdt.dsl (y/n)? n

Still P-States 16 and 34 only.

Piker-Alpha commented 9 years ago

Ok. I located the lines and know how I can reproduce this issue. But first. The script runs with: /bin/bash (see first line of script) and when I change it to /bin/sh then it breaks with the same errors. I don't know why, so did you change the script, or did you copy /bin/sh over /bin/bash?

What is the output of:

md5 /bin/sh
md5 /bin/bash
renetrefft commented 9 years ago

Ok, I executed the script with sh in the Terminal. Now I changed it to bash and the ACPI declarations are found and as least the first warnings are gone.

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v15.6 Copyright (c) 2013-2015 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

gDataPath: /Users/rene/Library/ssdtPRGen/Data
System information: Mac OS X 10.10.2 (14C109)
Brandstring 'Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz'

Scope (_PR_) {220 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacPro6,1' with board-id [Mac-F60DEB81FF30ACF6]
Ivy Bridge Core i5-3570K processor [0x306A9] setup [0x0603]
With a maximum TDP of 77 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 3400 MHz)
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C3,C6)
Warning: 'cpu-type' may be set improperly (0x0603 instead of 0x0a03)
Warning: 'system-type' may be set improperly (1 instead of 3)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/rene/Library/ssdtPRGen/ssdt.dsl - 261 lines, 8337 bytes, 48 keywords
AML Output:    /Users/rene/Library/ssdtPRGen/ssdt.aml - 1796 bytes, 16 named objects, 32 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Users/rene/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? y
Creating temporarily mount point: /Volumes/EFI
Password:
Mounting EFI partition...
mount_hfs: Invalid argument
umount: /Volumes/EFI: not currently mounted
Do you want to open ssdt.dsl (y/n)? n

But still Speed Steep doesn’t seem to working correctly as you can the see in the P-States Log of the DPCIManager.

02.02.15 11:24:48, Current State: 16
02.02.15 11:24:48, P States: 16, 38
02.02.15 11:24:42, Current State: 16
02.02.15 11:24:42, P States: 16, 38
02.02.15 11:24:36, Current State: 16
02.02.15 11:24:36, P States: 16, 38
02.02.15 11:24:30, Current State: 16
02.02.15 11:24:30, P States: 16, 38
02.02.15 11:24:24, Current State: 16
02.02.15 11:24:24, P States: 16, 38
02.02.15 11:24:17, Current State: 16
02.02.15 11:24:17, P States: 16, 38
02.02.15 11:24:11, P States: I/O error, throttling to 5Hz

Then I switched back to MacPro 3.1 sysdef, executed again with bash and get an error:

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v15.6 Copyright (c) 2013-2015 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

gDataPath: /Users/rene/Library/ssdtPRGen/Data
System information: Mac OS X 10.10.2 (14C109)
Brandstring 'Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz'

Scope (_PR_) {220 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacPro3,1' with board-id [Mac-F42C88C8]
Ivy Bridge Core i5-3570K processor [0x306A9] setup [0x0603]
With a maximum TDP of 77 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 3400 MHz)
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6,C7)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0603 instead of 0x0703)

Error: board-id [Mac-F42C88C8] not supported by Ivy Bridge – check SMBIOS data / use the -c option

Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/rene/Library/ssdtPRGen/ssdt.dsl - 277 lines, 8836 bytes, 48 keywords
AML Output:    /Users/rene/Library/ssdtPRGen/ssdt.aml - 1825 bytes, 16 named objects, 32 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Users/rene/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? y
Creating temporarily mount point: /Volumes/EFI
Password:
Mounting EFI partition...
mount_hfs: Invalid argument
umount: /Volumes/EFI: not currently mounted
Do you want to open ssdt.dsl (y/n)? n

And these are the MD5 hashes of sh and bash:

Rene:~ rene$ md5 /bin/sh
MD5 (/bin/sh) = bae6979e8dc9910cd5fec0e5214e9681
Rene:~ rene$ md5 /bin/bash
MD5 (/bin/bash) = f81cce1751382506604e244039bf4724
Piker-Alpha commented 9 years ago

Ok so the script (sed) error issue is solved. That is cool, and for me the end of this issue. Please download the Beta and run ~/ssdtPrgen.sh -s ivy That will give you this list:

Mac-00BE6ED71E35EB86 / iMac13,1 Mac-FC02E91DDD3FA6A4 / iMac13,2 Mac-031AEE4D24BFF0B1 / Macmini6,1 Mac-F65AE981FFA204ED / Macmini6,2 Mac-4B7AC7E43945597E / MacBookPro9,1 Mac-6F01561E16C75D06 / MacBookPro9,2 Mac-C3EC7CD22292981F / MacBookPro10,1 Mac-AFD8A9D944EA4843 / MacBookPro10,2 Mac-66F35F19FE2A0D05 / MacBookAir5,1 Mac-2E6FAB96566FE58C / MacBookAir5,2 Mac-F60DEB81FF30ACF6 / MacPro6,1

Tip. Do not use the MacPro6,1 model/board-id's, but a configuration that fits your hardware. Then read the other issues/forum posts about the -w script argument. Sorry, but I don't have the time, nor energy, to repeat what people need to do.