질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 몬터레이 |
공지숙지/증상설명 | 숙지 |
이용약관님의 새글 알림을 받으실려면 구독
*적용중인 도장
다른 분의 후기 글을 보고 혼자 해보려고 노력하다가 토니맥에서 저걸 삭제해야 한다는 것을 보긴 했습니다만
더 이상 진척이 없기에 글을 썻는데, 매번 shl628님이 답과 해결을 해주시니
무한한 감사 인사드립니다
배터리 오류 해결하는 것의 출발점이 dsdt 오류 수정이 맞긴 맞는거죠?
네, DSDT 에 배터리 패치를 진행하기 전에 오류가 있다면 오류를 먼저 해결하고
컴파일 결과 창에서 Error 가 없으면 이제 배터리 패치를 진행하면 됩니다.
다음 진행 작업이 16비트 이상의 것을 8비트로 세분화 하는 것으로 알고 있었는데, shl628님의 다른 답변을 보던 중
ECEnabler 라는 Kext가 있으면 이게 16비트 이상도 읽어 들인다하여 수정이 필요 없다고 하셨는데
수정할 필요가 없는 거네요?
배터리 패치를 위한 다음 진행 과정을 알려 주실 수 있을까요?
저번 질문글에서 ECEnabler.kext 를 사용하셨었는데 어댑터를 뽑아도 배터리가 충전중으로 뜨고
가끔 어댑터를 뽑고 사용해도 배터리 퍼센트가 줄지 않는 증상이 있어서
ECEnabler.kext 를 사용하지 않는 대신에 DSDT 에 배터리 패치를 직접 적용하려는 것이 아니었나요?
저번 댓글에서 제가 약간 혼동을 드린 부분이 있어서 다시 명확하게 말씀드려야 할 것 같아요.
배터리 잔량 표시는 VirtualSMC 의 플러그인 중 하나인 SMCBatteryManager.kext 를 사용하면
macOS 의 상단 메뉴바 우측에 배터리 아이콘이 뜨고 퍼센트 표시 자체는 될 수 있습니다.
단, 어댑터의 연결 여부에 따른 충전 여부 인식과 배터리 퍼센트가 감소하지 않는 문제는
DSDT 에 배터리 패치를 진행하는 방법의 경우에는 패치를 잘못 하였거나
ECEnabler.kext 가 해당 노트북의 배터리 관련 변수에 잘 맞지 않는 경우 발생할 수 있습니다.
또한, 삼성 노트북이라면 배터리 관련 변수 중에서 16 Bit 의 BTPC 라는 변수가 있는데
이 변수는 다른 변수와 달리 값을 읽는 것이 아닌 어떠한 값이 BTPC 에 써지는(할당되는) 변수입니다.
이 BTPC 변수는 B1B2 (또는 R16B) Method 가 아닌 W16B Method 를 사용하거나 직접 Shift 연산자를 사용하여 패치해야 합니다.
ECEnabler.kext 의 역할은 EmbeddedControl Region 에 정의된 배터리 관련 변수가 16 Bit 이상이어도
8 Bit 씩 읽게 해주는 변수인데 읽는 변수가 아닌 어떤 값이 배터리 관련 변수에 써지는(할당되는) 변수에는 잘 작동하지 않는 것 같아서
저는 저번 질문글의 댓글에서 ECEnabler.kext 를 사용하지 않는 대신에 DSDT 에 배터리 패치를 직접 적용하는 방법을 말씀드린 것입니다.
또한, 배터리 패치는 배터리 패치는 DSDT 에서 배터리 관련 변수가 정의되어 있는 EmbeddedControl Region 중
다른 배터리 관련 부분에서 사용되는 16 Bit 이상의 FieldUnitObject 를 8 Bit 로 세분화하는 작업을 모두 완료하였다면 끝난 것입니다.
ECEnabler.kext 는 삭제하거나 비활성화하고 SMCBatteryManager.kext 만 사용하면 되며
배터리 패치를 완료한 DSDT.aml 을 저장하고 ACPI 폴더와 Config.plist 의 ACPI - Add 에 추가하고 저장하고 다시 부팅하면 됩니다.
제가 직접 DSDT 에 배터리 패치를 완료하였습니다.
아래에 첨부한 DSDT.aml 을 ACPI 폴더와 Config.plist 의 ACPI - Add 에 추가하고
ECEnabler.kext 는 삭제하거나 비활성화하고 다시 부팅해보세요.
세분화 하지 않아도 된다는 댓글은 제가 쓴 글이 아닌, 여타의 글을 읽던 중에 다른 사람이 올린 글에서 shl628님이 댓글을 쓰신 것이 있어서
말씀 드린 부분입니다. 오해 없으셨으면 하고...
머리 아파 죽을 것 같았는데 마무리까지 해주셔서 감사드리고 오늘 저녁에 테스트해 보겠습니다.
감사합니다.
달라진 점이 없이 예전과 거의 같은데요
그러나 전원 연결하여 충전할 때 전에는 번개 표시가 없었는데 지금은 충전할 때 번개 표시는 나오네요.
풀 충전 후 코드 뽑으면 배터리 퍼센트가 줄지 않고 충전 중이라 나오지만 재부팅 하면 퍼센트는 줄고 있어요
얘 해보겠습니다. 혹시 윈도우즈 상에서 배터리가 이렇게 표기 되는데 이것도 원인일 수 있을까요?
윈도우즈에서 잘 표시 되었었는데 acpi 드라이버에 물음표가 있어서 그걸 배터리 드라이버로 잡은 수 윈도우즈 번개 표시가 안나오는데
무튼 배터리 2개로 잡혀서 해킨에서 충전 비충전 영향을 미칠까요?
조만간 배터리를 교체할 예정이고 그때까지 100%까지 충전하며 쓰고 싶은데
혹시 알려주실 수 있나요?
제 노트북은 cmos 배터리가 없고 배터리와 일체형이라 하더군요.
보드와의 연결 케이블을 잠시 뺏다가 연결 후에 부팅하니 제대로 인식하네요.
신경써 주셔서 감사합니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +269 | 달쇠 | 17.07.3020:49 | 11만 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | Mactopia | 17.02.1014:21 | 12만 |
세콰이어 신기능 아이폰 미러링 잘 되시나요? +10 | 에잉 | 24.09.2022:16 | 136 |
OpenCore Configurator 2.76.2.0 다운 받을수 없는건가요...?? +6 | SUNWAYFOTO | 24.09.1822:20 | 110 |
[해결] fenvi wifi/bt 카드 사용 시 잠자기 후 바로 깨는 현상 +3 | 밤가시 | 24.09.1910:03 | 102 |
루베콘 | 24.09.2108:35 | 54 | |
에잉 | 24.09.2022:16 | 136 | |
밤가시 | 24.09.1910:03 | 102 | |
SUNWAYFOTO | 24.09.1822:20 | 110 | |
Nelson | 24.09.1815:34 | 260 | |
sebali | 24.09.1814:34 | 243 | |
Panictosh | 24.09.1813:37 | 119 | |
SUNWAYFOTO | 24.09.1801:27 | 191 | |
그냥인간 | 24.09.1719:17 | 72 | |
dlraud | 24.09.1620:36 | 167 | |
Nelson | 24.09.1618:45 | 163 | |
아스타틴 | 24.09.1612:07 | 55 | |
lesmi | 24.09.1522:02 | 101 | |
윤수꾸하하 | 24.09.1323:56 | 149 | |
뚜비 | 24.09.1319:18 | 169 | |
Steer | 24.09.1200:33 | 140 | |
상큼버터 | 24.09.0918:08 | 200 | |
인터찹 | 24.09.0717:13 | 582 | |
서재희 | 24.09.0711:07 | 1145 | |
시습이 | 24.09.0113:39 | 1230 | |
블루 | 24.08.3022:44 | 435 | |
lesmi | 24.08.2911:20 | 400 | |
김덕뱀 | 24.08.2823:04 | 200 | |
그냥구름 | 24.08.2517:14 | 250 | |
Panictosh | 24.08.2218:42 | 178 | |
YouPick | 24.08.2022:45 | 119 | |
윤수꾸하하 | 24.08.2018:52 | 124 | |
HopeMan | 24.08.2012:14 | 175 | |
Panictosh | 24.08.1913:41 | 156 | |
YouPick | 24.08.1509:07 | 407 | |
Panictosh | 24.08.1518:04 | 289 | |
hackillious | 24.08.1514:14 | 125 | |
shion | 24.08.1420:32 | 100 | |
인터찹 | 24.08.1418:19 | 88 | |
Panictosh | 24.08.1217:23 | 342 | |
오디세이 | 24.08.1112:07 | 112 | |
동집 | 24.08.1105:35 | 200 | |
동집 | 24.08.1102:48 | 139 | |
유튜브 | 24.08.1019:03 | 130 | |
유튜브 | 24.08.0909:14 | 205 | |
Direct | 24.08.0901:18 | 237 | |
Panictosh | 24.08.0809:46 | 136 | |
인터찹 | 24.08.0801:41 | 106 | |
mac니망 | 24.08.0615:24 | 153 | |
페러 | 24.08.0615:10 | 127 | |
페러 | 24.08.0600:03 | 94 | |
bl | 24.08.0522:08 | 75 | |
Sequoia | 24.08.0410:04 | 254 | |
Panictosh | 24.08.0320:43 | 83 | |
yeojun | 24.08.0310:01 | 103 | |
yeojun | 24.08.0217:46 | 289 | |
oreo | 24.08.0214:44 | 109 | |
yeojun | 24.08.0214:07 | 205 | |
빅서로가 | 24.08.0118:45 | 270 | |
itstory | 24.08.0118:28 | 147 | |
oreo | 24.08.0115:38 | 78 | |
동집 | 24.07.3122:15 | 125 | |
류가파 | 24.07.3121:42 | 207 | |
마요네즈 | 24.07.3109:23 | 208 | |
동집 | 24.07.3012:52 | 96 | |
동집 | 24.07.2912:11 | 347 | |
인터찹 | 24.07.2901:06 | 301 | |
인터찹 | 24.07.2623:40 | 722 | |
찡준 | 24.07.2611:52 | 89 | |
psychyyy | 24.07.2503:18 | 350 | |
wnsks | 24.07.2502:19 | 142 | |
아키나리 | 24.07.2422:44 | 214 | |
페러 | 24.07.2313:55 | 114 | |
피아노맨 | 24.07.2216:20 | 201 | |
페러 | 24.07.2215:11 | 463 | |
인터찹 | 24.07.2113:23 | 204 | |
컴퓨터왕 | 24.07.2019:23 | 306 | |
인터찹 | 24.07.1816:18 | 568 | |
oreo | 24.07.1814:18 | 516 | |
인터찹 | 24.07.1418:16 | 1778 | |
찡준 | 24.07.1023:17 | 2556 | |
amduser | 24.07.0818:39 | 3040 | |
OriGomdori | 24.07.0721:24 | 3042 | |
암드송 | 24.07.0619:20 | 2921 | |
김밉상 | 24.07.0409:17 | 2961 |
질문글에 첨부하신 DSDT 를 열고 컴하일하면 발생하는 Syntax Error 는 ACPI Source Language (ASL) 문법 오류입니다.
아래의 사진에서 Return (SDSM) 아래의 Arg0 ~ Arg3 인수가 한 줄에 혼자 있으면 문법 상 옳지 않습니다.
iASL 컴파일러가 DSDT 를 디컴파일하면서 버그로 인하여 발생하는 증상입니다.
Arg0 ~ Arg3 가 입력되어 있는 4줄 모두 삭제하면 해결되며 나머지 오류도 같은 방법으로 삭제하면 해결됩니다.
그러면, 수십 개의 Warnings 이 뜨는데 Warning (경고) 는 굳이 수정할 필요가 없습니다.
단, Invalid type (Target is [Package], Source must be a package also) 오류가 3군데 발생합니다.
LIDS 와 LSTE 의 Object 타입이 = 연산자를 사용하기에 옳지 않아서 발생한 오류로 보입니다.
LSTE 는 FieldUnitObject 이고
LIDS 는 특정 OEM SSDT Table 에서 External Reference (외부 참조)를 하고 있으며 MethodObject 로 정의되어 있습니다.
다른 삼성 노트북의 DSDT 에서는 LIDS 는 MethodObj 가 아닌 FieldUnitObj 또는 IntObj 로 나옵니다.
Syntax Error 를 수정하고 LIDS 의 외부 참조를 IntObj 형식으로 수정하고 LIDS () 를 LIDS 로 변경한 DSDT 파일을 첨부합니다.
DSDT-7665855.aml.zip