Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
the-eric-kwok authored Mar 12, 2021
1 parent 256b986 commit 0115001
Showing 1 changed file with 205 additions and 37 deletions.
242 changes: 205 additions & 37 deletions Translation/en/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

## Usage

1. Download latest EFI in [Release ](https://github.com/the-eric-kwok/HP-Pavilion-bc015tx-Hackintosh/releases/latest)
1. Download latest EFI in [Release Page](https://github.com/the-eric-kwok/HP-Pavilion-bc015tx-Hackintosh/releases/latest)

2. If you are under Windows:

Expand Down Expand Up @@ -98,6 +98,10 @@ Submit an [issue](https://github.com/the-eric-kwok/HP-Pavilion-bc015tx-Hackintos
14. Switch between left Windows (now is ⌘) and Alt (now is ⌥ ). Right Alt remains as ⌘, so the `⌘Del` is more convincing (by SSDT-SwapCmdOpt.dsl)
## Supported OS version
Only tested on Catalina and Big Sur.
## About 1820A
Expand Down Expand Up @@ -147,44 +151,205 @@ Old:
You can select between them inside your config.plist: Misc -> Boot -> PickerVariant
## ⚠️Warning⚠️
Don't download kext inside kexts folder, you should download the latest version of them instead.
You should compile the dsl file under SSDT before putting them to ACPI, using iASL or MaciASL or AIDA64 Enginear.
```
# in the terminal
iasl SSDT-xxx.dsl

# Windows will be like this
# C:\User\Someone\Downloads\iasl.exe SSDT=xxx.dsl
```
Update:
Added SSDT-aml. If you are not familiar with compile or you can't do that compile thing you could add some patch from SSDT-aml. **But you should hotpatch original DSDT according comments in the dsl !**
For other themes, see:
- [Dortina Guide](https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html)
- [LuckyCrack/OpenCore-Themes](https://github.com/LuckyCrack/OpenCore-Themes)
- [chris1111/My-Simple-OC-Themes](https://github.com/chris1111/My-Simple-OC-Themes)
- [LAbyOne/OpenCore-Themes-Downloader](https://github.com/LAbyOne/OpenCore-Themes-Downloader)
## Common issues
### If your battery percentage won't update / won't charge
ACEL device is an accelerate sensor which provides falling protection for hard disk. But in its ADJT method there is a wrong SMWR calling, and causing Embedding Controller read/write failed under macOS. So that there will be problems such as battery percentage won't update, or battery won't charge, and these problems will occur under Windows once it happened in macOS.
There are two ways to fix this:
1. Disable ACEL
We can rename \_STA method in ACEL to XSTA, and place a new \_STA method in our SSDT to replace it:
**This way you should look for the binary patch with HexFiend by yourself. Remember to extend the binary string to make it unique in DSDT (because there are many many devices inside your DSDT, and each device has a \_STA method)**
Example \_STA code:
```
Scope (\_SB.PCI0.ACEL)
{
Method (_STA, 0, NotSerialized)
{
If (_OSI("Darwin"))
{
Return (0)
}
Else
{
Return(XSTA())
}
}
}
```
2. Fix ADJT
We can rename ADJT method to XDJT, and place a new ADJT method in our SSDT to replace it.
Rename patch:
```
Comment: [BATT] Rename ADJT to XDJT
Find: 4143454C 08
Replace: 5843454C 08
```
Original code:
```
Scope (\_SB.PCI0.ACEL)
{
Method (ADJT, 0, Serialized)
{
If (_STA ())
{
If (LEqual (^^LPCB.EC0.ECOK, One))
{
Store (^^LPCB.EC0.SW2S, Local0)
}
Else
{
Store (PWRS, Local0)
}
If (LAnd (LEqual (^^^LID0._LID (), Zero), LEqual (Local0, Zero)))
{
If (LNotEqual (CNST, One))
{
Store (One, CNST)
Store (Zero, ^^LPCB.EC0.PLGS)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x24, Zero)
Sleep (0x0BB8)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x36, 0x14)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x37, 0x10)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x34, 0x2A)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x22, 0x20)
}
}
ElseIf (LNotEqual (CNST, Zero))
{
Store (Zero, CNST)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x22, 0x40) // <------
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x36, One)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x37, 0x50)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x34, 0x7F)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x24, 0x02)
Store (One, ^^LPCB.EC0.PLGS)
}
}
}
}
```
Move the pointed line to the buttom
Modified code:
```
Scope (\_SB.PCI0.ACEL)
{
Method (ADJT, 0, Serialized)
{
If (_STA ())
{
If (LEqual (^^LPCB.EC0.ECOK, One))
{
Store (^^LPCB.EC0.SW2S, Local0)
}
Else
{
Store (PWRS, Local0)
}
If (LAnd (LEqual (^^^LID0._LID (), Zero), LEqual (Local0, Zero)))
{
If (LNotEqual (CNST, One))
{
Store (One, CNST)
Store (Zero, ^^LPCB.EC0.PLGS)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x24, Zero)
Sleep (0x0BB8)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x36, 0x14)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x37, 0x10)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x34, 0x2A)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x22, 0x20)
}
}
ElseIf (LNotEqual (CNST, Zero))
{
Store (Zero, CNST)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x36, One)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x37, 0x50)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x34, 0x7F)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x24, 0x02)
Store (One, ^^LPCB.EC0.PLGS)
^^LPCB.EC0.SMWR (0xC6, 0x50, 0x22, 0x40) // <------
}
}
}
}
```
**After fixed, press down power button for longer then 10s to reset EC, and then boot up, you will see the fix works.**
### If your battery percentage is not accurate
Check the \_BST method in your DSDT and see whether it includes these lines:
```
If (LEqual (BRTE, Zero))
{
Store (0xFFFFFFFF, Index (PBST, One))
}
```
If so, place \_BST method below to SSDT-BATT and apply the rename patch:
```
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
If (LEqual (^^PCI0.LPCB.EC0.ECOK, One))
{
If (^^PCI0.LPCB.EC0.MBTS)
{
UPBS ()
}
Else
{
IVBS ()
}
}
Else
{
IVBS ()
}
//If (LEqual (BRTE, Zero)) //Comment out these 3 lines
//{
// Store (0xFFFFFFFF, Index (PBST, One))
//}
Return (PBST)
}
```
Rename patch:
```
Comment: Rename _BST to XBST
Find: 5F425354 00
Replace: 58425354 00
```
And reboot to fix.
Needed SSDT:
- SSDT-EC-USBX
- SSDT-NDGP_OFF
- SSDT-PLUG-_PR.CPU0
- SSDT-PNLF-SKL_KBL
- SSDT-SBUS
- ~~SSDT-ALS0~~ Merged into SSDT-AddDev
Check [OC-Little](https://github.com/daliansky/OC-little/) for more patching guide
**BTW, SSDT-BATT and SSDT-Battery has the same function, they both patch for the battery percentage. Use ONE of them only.**
**Set `csr-active-config` under OC-config.plist - NVRAM to `00000000` if you are fresh installing.**
## Links
[OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/releases)
Expand All @@ -194,6 +359,9 @@ Check [OC-Little](https://github.com/daliansky/OC-little/) for more patching gui
[OC-Little](https://github.com/daliansky/OC-little/)
## Donation
With [PayPal](https://paypal.me/theerickwok)
## Catalog
Expand Down

0 comments on commit 0115001

Please sign in to comment.