질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 맥OS 카탈리나 |
공지숙지/증상설명 | 숙지 |
이리구르고 저리구르고 있는 삽질학생입니다! 힘들긴 한데 재미있습니다~~
노트북의 꽃(?)인 배터리와 잠자기에 도전해보고 있습니다... 우선 배터리부터ㅎㅎ
일단 제 사양은 위에도 있지만 간략히 말씀드리자면 오픈코어, 카탈리나, HP, 노트북, 카비레이크-R 이고요.
배터리 강좌는
https://www.tonymacx86.com/threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/
따라해 보고 있습니다.
많은 선배님들의 도움 덕에 DSDT 컴파일 문제 해결하고, 패치 하고, 적용시켰습니다.
자세히 말하자면
1. SSDTTime으로 DSDT.dsl을 추출했습니다. DSDT_noerrororiginal.dsl (에러 수정 버전)
2. MaciAsl으로 열어서 수정 안 한 채로 바로 컴파일을 돌려 보니 감개무량하게도 에러가 두개밖에 나지 않았습니다.
3. 에러를 손쉽게 고치고, EmbeddedController 부분을 찾아서 8비트 이상인 부분을 전부 고치는 패치를 만들고, 적용시켰습니다. (패치 적용은 MaciAsl에서 DSDT.dml열어놓은 상태로 Patch클릭->Open클릭->텍스트 파일로 만든 패치파일 선택 이렇게 하는 게 맞죠?) 다행히 적용시켜도 오류는 나지 않았습니다. 사용한 패치 정보와 만들어진 DSDT.dsl입니다. batterypatch.txt DSDT.dsl
4. ACPIBatteryManager.kext를 /EFI/OC/Kexts 에 넣고, DSDT.aml을 /EFI/OC/ACPI에 넣었습니다.
5. 물론 config.plist도 스냅샷 시켜줬습니다.
6. 재부팅
재부팅하니 상단바에 배터리가 잡히긴 합니다!
하지만, 무조건 0%로 나옵니다ㅠ 전원 없이도 사용은 가능하네요. 전원 인가/비인가도 구분은 됩니다.
배터리 정보를 보니
아무것도 정보가 들어오는 게 없네요...ㅠ
아마도 역시 3번 패치 과정에서 문제가 생긴 것 같은데, 코딩 센스 부족한 초보자가 만들다보니 무언가 놓친 듯 합니다ㅠ
아래는 보기 편하시라고 제 DSDL.dml의 EmbeddedController부분 복사해 놓았습니다.
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
Offset (0x40),
SW2S, 1,
, 2,
ACCC, 1,
TRPM, 1,
Offset (0x41),
W7OS, 1,
QWOS, 1,
, 1,
SUSE, 1,
RFLG, 1,
Offset (0x43),
, 1,
, 1,
ACPS, 1,
ACKY, 1,
GFXT, 1,
Offset (0x44),
, 7,
DSMB, 1,
Offset (0x47),
TNT2, 8,
TNT3, 8,
Offset (0x4C),
STRM, 8,
Offset (0x4E),
LIDE, 1,
Offset (0x4F),
ACID, 8,
, 2,
PTHM, 1,
, 1,
BSEV, 1,
DPTL, 1,
Offset (0x52),
ECLS, 1,
Offset (0x55),
EC45, 8,
Offset (0x58),
RTMP, 8,
TNT1, 8,
Offset (0x5F),
, 1,
Offset (0x61),
SHPM, 8,
Offset (0x67),
, 1,
, 1,
GC6R, 1,
IGC6, 1,
, 2,
PVSE, 1,
PVSS, 1,
, 3,
PLGS, 1,
, 3,
TPDF, 1,
, 4,
BCTF, 1,
BMNF, 1,
BTVD, 1,
BF10, 1,
Offset (0x6C),
GWKR, 8,
Offset (0x70),
BADC, 16,
BFCC, 16,
BVLB, 8,
BVHB, 8,
BDVO, 8,
Offset (0x7F),
ECTB, 1,
Offset (0x82),
MBST, 8,
MCUR, 16,
MBRM, 16,
MBCV, 16,
Offset (0x8B),
LEDM, 3,
Offset (0x8D),
, 5,
MBFC, 1,
Offset (0x92),
SPSV, 8,
Offset (0x94),
GSSU, 1,
GSMS, 1,
Offset (0x95),
MMST, 4,
DMST, 4,
Offset (0xA0),
QBHK, 8,
Offset (0xA2),
QBBB, 8,
Offset (0xA4),
MBTS, 1,
, 6,
BACR, 1,
Offset (0xA6),
MBDC, 8,
Offset (0xA8),
ENWD, 1,
TMPR, 1,
Offset (0xAA),
, 1,
SMSZ, 1,
, 5,
RCDS, 1,
Offset (0xAD),
SADP, 8,
Offset (0xB2),
RPM1, 8,
RPM2, 8,
Offset (0xBA),
CLOW, 8,
CMAX, 8,
Offset (0xC1),
DPPC, 8,
Offset (0xC6),
, 1,
CVTS, 1,
Offset (0xCE),
NVDX, 8,
ECDX, 8,
EBPL, 1,
Offset (0xD2),
, 7,
DLYE, 1,
Offset (0xD4),
PSHD, 8,
PSLD, 8,
DBPL, 8,
STSP, 8,
Offset (0xDA),
PSIN, 8,
PSKB, 1,
PSTP, 1,
, 1,
PWOL, 1,
RTCE, 1,
Offset (0xE0),
DLYT, 8,
DLY2, 8,
Offset (0xE6),
SFHK, 8,
Offset (0xE9),
DTMT, 8,
PL12, 8,
ETMT, 8,
Offset (0xF2),
ZPDD, 1,
, 6,
ENPA, 1,
Offset (0xF4),
SFAN, 8,
Offset (0xF9),
, 7,
FTHM, 1
}
보시면 알겠지만 16비트짜리 몇개에
SMD0, 256,
이거 하나만 256비트인데 아마도 제 짧은 지식으로 만든 패치가 잘못된 것 같습니다ㅠ
혹시 도움 주실 수 있는 분 있으시면 감사하겠습니다...ㅠ
질문자님의 DSDT 에서 ERAM 이라는 EmbeddedControl Region 이 정의되어 있고
바로 다음 부분의 ERAM Field 에 배터리 관련 FieldUnitObject 가 선언되어 있습니다.
그런데, FTHM 이라는 변수까지가 끝이 아닙니다.
여러가지 Method 등의 Object 가 있지만 조금 더 아래를 보면 ERAM Field 가 더 많이 존재하는 것을 볼 수 있습니다.
즉, FLD3 까지의 배터리 관련 FieldUnitObject 가 EmbeddedControl Region 에 포함됩니다.
FLD3 까지 8 Bit 로 세분화하는 작업이 필요합니다.
아직 8 Bit 로 세분화되지 않은 배터리 관련 FieldUnitObject 가 남아있어서 배터리 잔량이 계속 0% 로 표시된 것입니다.
그리고, 질문글의 본문에 첨부되어 있는 BatteryPatches.txt 의 패치 파일을 적용해도 FLD3 이라는 변수까지 모두 8 Bit 로 세분화하지 못 한 것입니다.
EmbeddedControl Region 에서 다른 배터리 관련 함수에서 사용되지 않는 FieldUnitObject 는 8 Bit 로 세분화하지 않아도 됩니다.
64 Bit 이상의 FieldUnitObject 는 해당 Buffer 를 읽고 쓰는 Method 인 RE1B & RECB, WE1B & WECB 를 사용하는 것이 더 편리할 거예요.
말씀해주신 것 기반으로 새로운 batterypatch_2.txt 생성하였습니다. 혹시 괜찮으시다면 이상 있는지 확인해 주시면 정말 감사하겠습니다.
---자문자답---
안되네요...ㅠ 똑같이 0%입니다ㅠ
혹시 실례가 되지 않는다면 도움을 요청드려도 될까요...?
질문자님의 DSDT 에서 Embedded Controller 계열의 Device 이름이 EC0 으로 정의되어 있는데
BatteryPatch.txt, BatteryPatch_2.txt 에서는 H_EC 로 되어 있습니다.
MaciASL 에서 패치를 적용할 때 Object 의 경로가 다르면 패치가 적용되지 않습니다.
0 Changes 로 표시됩니다.
배터리 패치를 굳이 MaciASL 패치 기능을 사용하려고 하지 말고
원본 상태의 OEM DSDT 를 .dsl 로 디컴파일한 상태에서 코드를 직접 수정하여 패치해보세요.
또 한번, 친절한 답변 해주셔서 너무 감사드립니다. 많은 도움이 되고 있습니다. 기본적인 부분에서의 실수라 부끄럽네요ㅎ
디컴파일하고 코드 수정을 직접 해보았더니(해킨에 성공한 비슷한 사양의 노트북이 존재해서 그 노트북의 코드를 따라해보았습니다)
오류가 200개가 넘어가서 포기했었습니다...ㅠ
심지어 제가 수정한 부분과 전혀 관련 없는 곳에서도 오류가 넘쳐흐르기 시작해서요ㅠ
이게 정상인가요? 노트북 배터리 패치를 하려면 그 수많은 오류를 고칠 정도가 되어야 할까요ㅠ
비슷한 사양의 노트북이어도 ACPI 의 내용이 조금은 다를 수도 있기 때문에 따라하면 오류가 발생할 수도 있습니다.
혹시, 200개의 오류가 어떤 오류가 발생한 것인지 알려주실 수 있나요?
DSDT 를 수정하다가 Error 가 있어도 .dsl 확장자로는 저장할 수 있습니다.
댓글로 업로드하여 보내주시면 확인해 보겠습니다.
아닙니다 선생님 말귀 못 알아먹는 초심자에게 신경 써주셔서 감사합니다.
어떤 말뜻이신지 알았습니다. Change 적용되었고, 20개 정도의 쉬운 에러(주로 제 탓ㅠ)를 고쳤습니다...!
상단바에 배터리가 보이고, 충전도 됩니다!
감사합니다 선생님 덕분에 배터리를 작동시켰습니다!
HP Spectre x360 Late 2017 i5-8250 쓰시는 분들을 위한 배터리 활성화 DSDT.aml입니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 오픈코어로 단일 ssd로 듀얼부팅 설정시 윈도우 블루스크린문제 해결방... +12 | 49 | 24.10.2318:25 | 헷인토시 |
Hot 새로운 os 설치, 벤츄라가 좋을까요? 세콰이어가 좋을까요? +10 | 101 | 24.10.2308:19 | 미찌콘 |
Hot 맥프로를 들여왔는데 질문이 있습니다. +7 | 70 | 24.10.2315:51 | 배고픈사람 |
15 | 24.10.2421:15 | 활주로임 | |
39 | 24.10.2322:21 | 활주로임 | |
49 | 24.10.2318:25 | 헷인토시 | |
45 | 24.10.2317:01 | 활주로임 | |
70 | 24.10.2315:51 | 배고픈사람 | |
44 | 24.10.2315:18 | 희밍현수님 | |
101 | 24.10.2308:19 | 미찌콘 | |
96 | 24.10.2213:48 | 아킬리오 | |
80 | 24.10.2210:36 | MCMC | |
58 | 24.10.2200:57 | 헷인토시 | |
146 | 24.10.2123:22 | 마요네즈 | |
187 | 24.10.1914:54 | 활주로임 | |
185 | 24.10.2017:21 | RTings | |
216 | 24.10.2000:14 | Kylee | |
118 | 24.10.1921:50 | 루이코아낭 | |
206 | 24.10.1918:03 | Gastone | |
81 | 24.10.1721:28 | Oscar | |
201 | 24.10.1712:11 | 희밍현수님 | |
70 | 24.10.1612:42 | SystemShock | |
307 | 24.10.1517:37 | Gastone | |
1315 | 24.10.1517:20 | 물만두 | |
1624 | 24.10.1317:18 | 물만두 | |
1273 | 24.10.1315:07 | Steer | |
872 | 24.10.1004:51 | Steer | |
188 | 24.10.0920:24 | KImET | |
929 | 24.10.0915:49 | lesmi | |
179 | 24.10.0911:23 | LumOS | |
73 | 24.10.0902:16 | lesmi | |
909 | 24.10.0822:09 | 애플맨 | |
1314 | 24.10.0810:58 | soullees | |
113 | 24.10.0723:26 | 오십견 | |
1234 | 24.10.0723:14 | Steer | |
116 | 24.10.0721:40 | 서재희 | |
69 | 24.10.0704:04 | g2030h61 | |
89 | 24.10.0704:00 | g2030h61 | |
93 | 24.10.0620:14 | SystemShock | |
113 | 24.10.0617:57 | 늘심심 | |
1372 | 24.10.0601:48 | 아스타틴 | |
1271 | 24.10.0515:04 | lesmi | |
129 | 24.10.0422:58 | 낡은기계 | |
544 | 24.10.0315:33 | oreo | |
118 | 24.10.0315:26 | 매치포인트 | |
175 | 24.10.0313:01 | 매치포인트 | |
149 | 24.10.0311:30 | KAKU | |
370 | 24.10.0207:44 | 데스맥 | |
255 | 24.09.3014:22 | 민준송 | |
174 | 24.09.2922:21 | oreo | |
133 | 24.09.2917:58 | 수박 | |
111 | 24.09.2913:21 | 루마루 | |
206 | 24.09.2910:19 | 루마루 | |
140 | 24.09.2723:18 | 머트 | |
146 | 24.09.2720:41 | ashly | |
230 | 24.09.2716:50 | loopers | |
213 | 24.09.2602:42 | Caper | |
288 | 24.09.2301:36 | 낡은기계 | |
164 | 24.09.2122:38 | Door | |
228 | 24.09.2108:35 | 루베콘 | |
503 | 24.09.2022:16 | 에잉 | |
225 | 24.09.1910:03 | 밤가시 | |
306 | 24.09.1822:20 | SUNWAYFOTO | |
732 | 24.09.1815:34 | Nelson | |
444 | 24.09.1814:34 | sebali | |
237 | 24.09.1813:37 | Panictosh | |
338 | 24.09.1801:27 | SUNWAYFOTO | |
155 | 24.09.1719:17 | 그냥인간 | |
331 | 24.09.1620:36 | dlraud | |
217 | 24.09.1618:45 | Nelson | |
102 | 24.09.1612:07 | 아스타틴 | |
204 | 24.09.1522:02 | lesmi | |
265 | 24.09.1323:56 | 윤수꾸하하 | |
644 | 24.09.1319:18 | 뚜비 | |
1550 | 24.09.1200:33 | Steer | |
255 | 24.09.0918:08 | 상큼버터 | |
1446 | 24.09.0717:13 | 인터찹 | |
1554 | 24.09.0711:07 | 서재희 | |
1464 | 24.09.0113:39 | 시습이 | |
495 | 24.08.3022:44 | 블루 | |
435 | 24.08.2911:20 | lesmi | |
451 | 24.08.2823:04 | 김덕뱀 | |
327 | 24.08.2517:14 | 그냥구름 |
저도 배터리 패치로 공부중인데 어렵네요.화이팅입니다. 답변이 아니라서 죄송!