Files
Getting-Started-With-ACPI/Laptops/laptop-ec.html

577 lines
16 KiB
HTML

<!DOCTYPE HTML>
<html lang="" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Embedded Controllers · GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="../gitbook/style.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="../styles/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="backlight.html" />
<link rel="prev" href="../Desktops/desktop-disable.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" data-path="../">
<a href="../">
Getting Started With ACPI
</a>
</li>
<li class="chapter " data-level="1.2" data-path="../ssdt-easy.html">
<a href="../ssdt-easy.html">
SSDTs: Easy Way
</a>
</li>
<li class="chapter " data-level="1.3" data-path="../ssdt-long.html">
<a href="../ssdt-long.html">
SSDTs: Long Way
</a>
</li>
<li class="header">Manual</li>
<li class="chapter " data-level="2.1" data-path="../Manual/dump.html">
<a href="../Manual/dump.html">
Dumping the DSDT
</a>
</li>
<li class="chapter " data-level="2.2" data-path="../Manual/compile.html">
<a href="../Manual/compile.html">
Decompiling and Compiling
</a>
</li>
<li class="header">Desktop</li>
<li class="chapter " data-level="3.1" data-path="../Desktops/desktop-ec.html">
<a href="../Desktops/desktop-ec.html">
Embedded Controllers
</a>
</li>
<li class="chapter " data-level="3.2" data-path="../Desktops/desktop-disable.html">
<a href="../Desktops/desktop-disable.html">
Disabling desktop dGPUs
</a>
</li>
<li class="header">Laptop</li>
<li class="chapter active" data-level="4.1" data-path="laptop-ec.html">
<a href="laptop-ec.html">
Embedded Controllers
</a>
</li>
<li class="chapter " data-level="4.2" data-path="backlight.html">
<a href="backlight.html">
Backlight PNLF
</a>
</li>
<li class="chapter " data-level="4.3" data-path="trackpad.html">
<a href="trackpad.html">
Trackpad GPI0
</a>
</li>
<li class="chapter " data-level="4.4" data-path="laptop-disable.html">
<a href="laptop-disable.html">
Disabling laptop dGPUs
</a>
</li>
<li class="header">Universal</li>
<li class="chapter " data-level="5.1" data-path="../Universal/plug.html">
<a href="../Universal/plug.html">
Plugin type
</a>
</li>
<li class="chapter " data-level="5.2" data-path="../Universal/awac.html">
<a href="../Universal/awac.html">
AWAC vs RTC
</a>
</li>
<li class="chapter " data-level="5.3" data-path="../Universal/nvram.html">
<a href="../Universal/nvram.html">
NVRAM PMC
</a>
</li>
<li class="chapter " data-level="5.4" data-path="../Universal/irq.html">
<a href="../Universal/irq.html">
IRQ Fix
</a>
</li>
<li class="chapter " data-level="5.5" data-path="../Universal/spoof.html">
<a href="../Universal/spoof.html">
GPU Spoof
</a>
</li>
<li class="chapter " data-level="5.6" data-path="../Universal/smbus.html">
<a href="../Universal/smbus.html">
Fixing SMBus Support
</a>
</li>
<li class="header">Cleanup</li>
<li class="chapter " data-level="6.1" data-path="../cleanup.html">
<a href="../cleanup.html">
Cleanup
</a>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href=".." >Embedded Controllers</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div class="search-plus" id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="fixing-embedded-controller-laptop">Fixing Embedded Controller (Laptop)</h1>
<p>To fix the ECs found in laptops, we&apos;ll be renaming them to look like the ones macOS expects. The reason for this is that many laptops break when you turn off their EC with an SSDT. So this is why we can&apos;t use the fancy SSDTTime to make a patch for us.</p>
<p>To find out what EC you have, open your decompiled DSDT and search for <code>PNP0C09</code>. This should give you a result like this:</p>
<p><img src="https://i.imgur.com/lQ4kpb9.png" alt=""></p>
<p>As you can see our <code>PNP0C09</code> is found within the <code>Device (EC0)</code> meaning this is the device we want to rename.</p>
<blockquote>
<p>What happens if multiple <code>PNP0C09</code> show up</p>
</blockquote>
<p>When this happens you need to figure out which is the main and which is not, it&apos;s fairly easy to figure out. Check each controller for the following properties:</p>
<ul>
<li><code>_HID</code> (Hardware ID)</li>
<li><code>_CRS</code> (Current Resource Settings)</li>
<li><code>_GPE</code> (General Purpose Events)</li>
</ul>
<p>Note that only the main EC needs renaming, if you only have one <code>PNP0C09</code> then it is automatically your main regardless of properties.</p>
<blockquote>
<p>What if my main <code>PNP0C09</code> device is already called <code>Device (EC)</code>?</p>
</blockquote>
<p>Mainly relevant for Lenovo and a few other OEMs, when this happens that means that your Embedded Controller is ready to use in macOS! Do make sure that this <code>Device (EC)</code> is actually your main EC and not a secondary one. </p>
<p><strong>And please verify that the DSDT hasn&apos;t already been patched by Clover or OpenCore</strong>, please dump it without booting either of them to be sure or triple check that there aren&apos;t any EC renames in your config already</p>
<h1 id="applying-your-ec-patch">Applying your EC patch</h1>
<p>As you can see from the table below, we&apos;ll be renaming our EC listed in the DSDT. Do note you cannot just throw random renames without checking which is the main EC first, as <strong>this can cause actual damage to your laptop.</strong></p>
<table>
<thead>
<tr>
<th style="text-align:left">Comment</th>
<th style="text-align:left">Find*[HEX]</th>
<th style="text-align:left">Replace[HEX]</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">change EC0 to EC</td>
<td style="text-align:left">4543305f</td>
<td style="text-align:left">45435f5f</td>
</tr>
<tr>
<td style="text-align:left">change H_EC to EC</td>
<td style="text-align:left">485f4543</td>
<td style="text-align:left">45435f5f</td>
</tr>
<tr>
<td style="text-align:left">change ECDV to EC</td>
<td style="text-align:left">45434456</td>
<td style="text-align:left">45435f5f</td>
</tr>
<tr>
<td style="text-align:left">change PGEC to EC</td>
<td style="text-align:left">50474543</td>
<td style="text-align:left">45435f5f</td>
</tr>
</tbody>
</table>
<h2 id="inside-your-config">Inside your config:</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Comment</th>
<th style="text-align:left">String</th>
<th style="text-align:left">Change XXXX to EC</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Enabled</td>
<td style="text-align:left">String</td>
<td style="text-align:left">YES</td>
</tr>
<tr>
<td style="text-align:left">Count</td>
<td style="text-align:left">Number</td>
<td style="text-align:left">0</td>
</tr>
<tr>
<td style="text-align:left">Limit</td>
<td style="text-align:left">Number</td>
<td style="text-align:left">0</td>
</tr>
<tr>
<td style="text-align:left">Find</td>
<td style="text-align:left">Data</td>
<td style="text-align:left">xxxxxxxx</td>
</tr>
<tr>
<td style="text-align:left">Replace</td>
<td style="text-align:left">Data</td>
<td style="text-align:left">xxxxxxxx</td>
</tr>
</tbody>
</table>
<p><img src="https://cdn.discordapp.com/attachments/456913818467958789/668667268254793728/Screen_Shot_2020-01-19_at_9.04.50_PM.png" alt=""></p>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="../Desktops/desktop-disable.html" class="navigation navigation-prev " aria-label="Previous page: Disabling desktop dGPUs">
<i class="fa fa-angle-left"></i>
</a>
<a href="backlight.html" class="navigation navigation-next " aria-label="Next page: Backlight PNLF">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Embedded Controllers","level":"4.1","depth":1,"next":{"title":"Backlight PNLF","level":"4.2","depth":1,"path":"Laptops/backlight.md","ref":"Laptops/backlight.md","articles":[]},"previous":{"title":"Disabling desktop dGPUs","level":"3.2","depth":1,"path":"Desktops/desktop-disable.md","ref":"Desktops/desktop-disable.md","articles":[]},"dir":"ltr"},"config":{"plugins":["theme-default","-lunr","-search","search-plus","addcssjs","favicon-plus"],"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"},"pluginsConfig":{"output":"_book","addcssjs":{"css":[],"js":[]},"fontsettings":{"theme":"night","family":"sans","size":2},"favicon-plus":{"appleTouchIconPrecomposed152":"","favicon":"","output":"_book"},"highlight":{},"favicon":"/icons/favicon.ico","appleTouchIconPrecomposed152":"/icons/appleTouchIconPrecomposed152.png","sharing":{"facebook":false,"twitter":false,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":[]},"theme-default":{"showLevel":false,"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"}},"search-plus":{}},"theme":"default","pdf":{"pageBreaksBefore":"/","headerTemplate":null,"paperSize":"a4","margin":{"right":62,"left":62,"top":36,"bottom":36},"fontSize":12,"fontFamily":"Arial","footerTemplate":null,"chapterMark":"pagebreak","pageNumbers":false},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"links":{"sharing":{"google":false,"facebook":false,"twitter":false,"weibo":false,"all":false}},"gitbook":"*"},"file":{"path":"Laptops/laptop-ec.md","mtime":"2020-04-07T14:23:33.428Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-04-07T14:24:20.187Z"},"basePath":"..","book":{"language":""}});
});
</script>
</div>
<script src="../gitbook/gitbook.js"></script>
<script src="../gitbook/theme.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/search.js"></script>
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>