PDA

View Full Version : Hacking Speedstep




kensenjiha
Sep 8, 2011, 05:30 AM
Older MacBook/MBP/MBA's run very hot. I'm trying to underclock them. already figure out a hardware method (http://forums.macrumors.com/showthread.php?p=13279309#post13279309). Reduced the FSB from 200MHz to 100/133/166MHz. Now i'm trying to undervoltage. It's not so practical hard way.

look into /S/L/Ex, there is a IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources, some plist like "MacBookPro5_1.plist" seems contain speedstep policy inside. I did mod the GPU part. This can reduce GPU heating and loss some performance.

<key>GPUThresholdDict</key>
<dict>
<key>MacBookPro3,1</key>
<string>TA2</string>
<key>TA2</key>
<array>
<dict>
<key>high-threshold</key>
<integer>90</integer>
<key>low-threshold</key>
<integer>0</integer>
<key>threshold-method</key>
<integer>1</integer>
</dict>
<dict>
<key>high-threshold</key>
<integer>93</integer>
<key>low-threshold</key>
<integer>91</integer>
</dict>
<dict>
<key>high-threshold</key>
<integer>96</integer>
<key>low-threshold</key>
<integer>94</integer>
</dict>
<dict>
<key>high-threshold</key>
<integer>100</integer>
<key>history-length</key>
<integer>1</integer>
<key>low-threshold</key>
<integer>97</integer>
</dict>
</array>
</dict>


Now, I'm trying to hack StepDataDict under CtrlLoopArray, IE
<key>MacBookPro3,1</key>
<string>SP1</string>
<key>SP1</key>
<data>xgYAAAAAAQIEAAACAgAAVQBuAHMAcABlAGMAaQBmAGkAZQBkDAAH/....(this binary value can be decoded by xcode or other plist tool)

Can any one help me to parse the structure of this binary data? I already found a unicode string "Unspecified", and 2 table like structure. one of them has 10 bytes in group,
03 ff 00 0b 0f 00 00 ff 01 00
the other looks not very alligned, with "05 ff" pattern. 14 or 28 bytes in group.

here is whole data of MacBookPro3_1.plist
c6 06 00 00 00 00 01 02 04 00 00 02 02 00 00 55 00 6e 00 73 00 70 00 65 00 63 00 69 00 66 00 69 00 65 00 64 0c 00 07 ff 07 00 00 21 00 00 00 02 00 00 01 ff ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 06 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0f 00 00 ff 01 00 03 ff 00 0b 0a 00 00 01 0a 00 00 01 00 00 00 01 00 00 00 f5 00 01 05 00 00 01 00 00 05 ff 00 01 00 00 00 01 00 00 00 01 06 00 00 02 00 00 00 04 01 00 00 80 00 c3 00 b7 00 2e 00 34 00 0b 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 02 06 00 00 01 00 00 00 01 00 00 00 f5 00 01 05 00 00 03 00 00 05 ff 00 03 02 00 00 03 06 00 00 09 00 00 00 04 00 00 00 4c 00 04 05 00 00 04 00 00 05 ff 00 03 00 00 00 01 00 00 00 04 04 00 00 80 00 00 00 0a 0a 00 00 08 00 00 00 05 00 00 00 08 00 00 00 05 00 00 00 03 00 00 00 02 00 00 00 05 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 06 00 00 05 ff 00 03 00 00 00 03 00 00 00 06 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 07 04 00 00 07 00 00 00 03 00 00 00 04 00 00 00 07 06 00 00 08 0a 00 00 03 00 00 05 ff 00 04 02 00 00 08 06 00 00 01 00 00 00 01 00 00 00 e8 00 03 05 00 00 09 00 00 05 ff 00 05 02 00 00 09 06 00 00 02 00 00 00 04 00 00 00 e8 00 03 05 00 00 0d 00 00 00 0a 00 00 00 0d 00 00 00 0a 00 00 00 05 00 00 00 01 00 00 00 0a 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 0b 00 00 05 ff 00 05 00 00 00 02 00 00 00 0b 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 0c 04 00 00 0c 00 00 00 05 00 00 00 03 00 00 00 0c 06 00 00 08 0a 00 00 09 00 00 05 ff 00 06 02 00 00 0d 06 00 00 01 00 00 00 01 00 00 00 e8 00 03 05 00 00 0e 00 00 05 ff 00 07 02 00 00 0e 06 00 00 02 00 00 00 04 00 00 00 58 00 1b 05 00 00 12 00 00 00 0f 00 00 00 12 00 00 00 0f 00 00 00 07 00 00 00 01 00 00 00 0f 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 10 00 00 05 ff 00 07 00 00 00 02 00 00 00 10 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 11 04 00 00 11 00 00 00 07 00 00 00 03 00 00 00 11 06 00 00 08 0a 00 00 0e 00 00 05 ff 00 08 02 00 00 12 06 00 00 01 00 00 00 01 00 00 00 e8 00 03 05 00 00 13 00 00 05 ff 00 09 02 00 00 13 06 00 00 02 00 00 00 04 00 00 00 fc 00 08 05 00 00 17 00 00 00 14 00 00 00 17 00 00 00 14 00 00 00 09 00 00 00 01 00 00 00 14 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 15 00 00 05 ff 00 09 00 00 00 02 00 00 00 15 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 16 04 00 00 16 00 00 00 09 00 00 00 03 00 00 00 16 06 00 00 08 0a 00 00 13 00 00 05 ff 00 0a 02 00 00 17 06 00 00 01 00 00 00 01 00 00 00 e8 00 03 05 00 00 18 00 00 05 ff 00 0b 02 00 00 18 06 00 00 02 00 00 00 04 00 00 00 28 00 0a 05 00 00 1c 00 00 00 19 00 00 00 1c 00 00 00 19 00 00 00 0b 00 00 00 01 00 00 00 19 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 1a 00 00 05 ff 00 0b 00 00 00 02 00 00 00 1a 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 1b 04 00 00 1b 00 00 00 0b 00 00 00 03 00 00 00 1b 06 00 00 08 0a 00 00 18 00 00 05 ff 00 0c 02 00 00 1c 06 00 00 01 00 00 00 01 00 00 00 f4 00 01 05 00 00 1d 00 00 05 ff 00 0d 02 00 00 1d 06 00 00 02 00 00 00 04 01 00 00 80 00 c3 00 b7 00 2e 00 34 00 0b 00 00 00 1d 00 00 00 1e 00 00 00 1d 00 00 00 1e 00 00 00 0d 00 00 00 01 00 00 00 1e 06 00 00 07 00 00 00 01 00 00 00 f5 00 01 05 00 00 1f 00 00 05 ff 00 0d 00 00 00 02 00 00 00 1f 06 00 00 02 00 00 00 04 00 00 00 a0 00 0f 05 00 00 20 04 00 00 20 00 00 00 0d 00 00 00 03 00 00 00 20 06 00 00 08 0a 00 00 1d 00 00 05ff

maybe we can hack these to change CPU/GPU Frequency / Voltage settings.



canhaz
Jun 1, 2013, 03:56 AM
Older MacBook/MBP/MBA's run very hot. I'm trying to underclock them. already figure out a hardware method (http://forums.macrumors.com/showthread.php?p=13279309#post13279309). Reduced the FSB from 200MHz to 100/133/166MHz. Now i'm trying to undervoltage. It's not so practical hard way.

look into /S/L/Ex, there is a IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources, some plist like "MacBookPro5_1.plist" seems contain speedstep policy inside. I did mod the GPU part. This can reduce GPU heating and loss some performance.

maybe we can hack these to change CPU/GPU Frequency / Voltage settings.


Very cool. Did you ever get any success with this?