질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 모하비 |
공지숙지/증상설명 | 숙지 |
정말 죄송합니다....
최근들어 너무 자주 질문하기 시작했는데...
제가 배터리 패치를 할려고 하는데
윈도리님꼐서 올려주신 글을 읽고 아 저거 구나하고. 이것저것 손대보고 있는데
자꾸 에러만 뜨고 어떻게 해야 할지 도저히 몰라서 묻습니다...
너무 자주 질문해서 죄송합니다...
제가 배터리 패치댓글중에 해결법을 읽어봐도 이해가 되질 않고
그런식으로 고쳐봐도 자꾸 에러가 뜨고 있어서,...
도와주세요 ㅜㅜ
위에는 제가 고친 변수들 입니다.
아래부터는 제가 고치려는 오류입니다.
어디에 쳐야할지 몰라서 여기저기 주석처리를 해서 하는데
이런 오류가 떠요 ㅜㅜ
Mac OS 로 부팅하기 전에 클로버 부트로더 화면에서 F4 키를 눌러서 추출되는
수정하지 않은 DSDT 원본 파일을 업로드를 해주면 다른 분들께서도 답변을 드리는 데 도움이 됩니다.
클로버 부트로더 화면에서 F4 키를 누르고 Mac OS 로 부팅한 다음에
EFI 폴더 → Clover 폴더 → ACPI 폴더 안에 있는 Origin 폴더를 그대로 압축해서 업로드 해주세요.
그리고, 배터리 변수 중에서 Method 에 호출되어 사용되지 않는 변수는 8 Bit 로 세분화하지 않아도 됩니다.
" Command 키 ( = Windows 로고 키 ) + F 키 " 를 누르고 검색란이 뜨면 16 Bit 이상인 변수를 입력하여 검색해 보았을 때
다른 Method 에서 사용되는 변수들만 8 Bit 로 쪼개주면 됩니다.
단, 쪼개려는 배터리 변수의 Bit 크기마다 B1B2, B1B3, B1B4, L1L4, RECB 등등 사용되는 Method 가 각각 정해져 있습니다.
다음 질문글의 댓글을 참고해보세요.
DTGP Method 가 없다면 직접 추가해주면 됩니다.
DTGP Method 는 DSDT 에서 일부 Device 의 구체적인 정보를 인젝션할 때 _DSM Method 를 사용하는데
_DSM Method 에서 DTGP Method 를 필요로 합니다.
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
그런데, DTGP Method 는 배터리 패치와는 관련이 없습니다.
DTGP Method 가 DSDT 에서 존재하지 않더라도 그냥 DSDT 최상단 루트 경로의 아무데나 입력하여 추가해주면 됩니다.
B1B2, B1B3, B1B4, L1L4, RECB 와 같은 배터리 관련 Method 도 DSDT 에서 배터리 패치를 하는 데 필요할 경우
다음 사진과 같이 DSDT 최상단 루트 경로에 추가해주면 됩니다.
그리고, 질문글의 사진을 보니 B1B2 Method 가 잘못 입력되었습니다.
다음 사진은 제가 DSDT 에서 배터리 관련 패치 & 수정하기 전의 모습입니다.
다음 사진은 제가 DSDT 에서 배터리 관련 패치 & 수정한 후의 모습입니다.
변수를 입력할 때 기존의 변수에 " ^^PCI0.LPCB.EC0.(변수 이름) " 과 같이 경로도 입력되어 있다면
" ^^PCI0.LPCB.EC0. " 부분은 그대로 두고
(변수 이름) 부분을 위의 Embedded Control 영역에서 정의했던 배터리 변수 이름으로 변경해주면 됩니다.
그리고, Syntax Error 는 DSDT 문법 오류입니다.
질문자님께서 배터리 패치 & DSDT 수정을 하는 도중에 어딘가의 일부 구문에서
ACPI Machine Language 문법이 틀린 것입니다.
마지막으로, 배터리 관련 패치가 모두 완료된 DSDT 파일을 첨부해 드립니다.
시간이 남고 할 것이 없어서 배터리 패치를 해보았습니다.
EFI 폴더 → Clover 폴더 → ACPI 폴더 → Patched 폴더에 넣어주세요.
그리고, EFI 폴더 → Clover 폴더 → Kexts 폴더 → (사용중인 Mac OS 버전) 폴더 또는 Other 폴더 안에
아래에 첨부한 ACPIBatteryManager Kext 파일을 넣어주세요.
그리고, DSDT 수정과 관련된 Tip 은 아래의 글을 참고해보세요.
저도 예전에 DSDT 를 다뤄보면서 ^^ 이 무엇인지 궁금했었습니다.
그러나, 지금은 ACPI 의 문법 중 하나라고 생각하고 그냥 넘어갔습니다.
^^ 을 지우고 컴파일을 하면 다음과 같은 오류가 발생합니다.
해당 Object 객체를 찾을 수 없거나 Scope (PCI0.LPCB.EC0.XT00) 에 접근할 수 없다는 의미입니다.
저도 정확히는 잘 모르겠지만,
^^ 은 간단하게 ACPI Machine Language 문법이라고 생각하면 될 것 같습니다.
XF10, XF11 등 8 Bit 로 쪼개준 배터리 변수가 선언되어 위치하는 Scope 는 초록색 네모 박스친 _SB.PCI0.LPCB 입니다.
그리고, 8 Bit 로 쪼개준 배터리 변수를 사용하는 ECBE Method 가 위치하는 Scope 는 주황색 네모 박스친 _SB 입니다.
저는 그냥 서로 다른 Scope 에 선언된 변수를 사용하기 위해서는
^^ 을 사용하여 Scope 를 지정해주고 변수 이름도 같이 입력해줘야 한다고 생각하고 그냥 넘어갔습니다.
. (점) 은 저도 잘 모르겠습니다.
틀릴 수도 있지만, 아마 제 생각으로는 Windows 에서 폴더 경로 주소와 비유하자면...
C:\(폴더 이름)\(폴더 이름)\(폴더 이름)... 에서
\ 기호가 DSDT 에서는 . (점) 이라고 생각됩니다.
Windows 에서의 ₩ 기호가 Mac OS 에서는 \ (역슬래쉬) 로 표시됩니다.
DSDT, SSDT 등 그 외 나머지 ACPI Table 과 관련된 ACPI 에 대한 내용은
아래에 첨부한 ACPI 기술 설명 문서를 참고해보세요.
ACPI 기술 설명 문서 출처
https://uefi.org/specifications
모두 영어로 되어 있고 총 1241 Page 입니다.
저는 간단하게 DSDT, SSDT 를 편집하고 약간의 오류를 수정하고 패치하는 능력 정도만 가지고 있습니다.
DSDT 를 포함한 ACPI 에 대해서 완전하게 모두 다 알고 있지는 않습니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 램 증설.. 그리고 자꾸 재부팅되는 PC.. +9 | 104 | 24.10.2513:02 | 김밉상 |
Hot 고수분들 제발 도와주세요 +2 | 98 | 24.10.2513:28 | 희밍현수님 |
98 | 24.10.2513:28 | 희밍현수님 | |
105 | 24.10.2513:02 | 김밉상 | |
58 | 24.10.2421:15 | 활주로임 | |
60 | 24.10.2322:21 | 활주로임 | |
80 | 24.10.2318:25 | 헷인토시 | |
74 | 24.10.2317:01 | 활주로임 | |
118 | 24.10.2315:51 | 배고픈사람 | |
146 | 24.10.2308:19 | 미찌콘 | |
120 | 24.10.2213:48 | 아킬리오 | |
100 | 24.10.2210:36 | MCMC | |
73 | 24.10.2200:57 | 헷인토시 | |
187 | 24.10.2123:22 | 마요네즈 | |
1474 | 24.10.1914:54 | 활주로임 | |
202 | 24.10.2017:21 | RTings | |
1513 | 24.10.2000:14 | Kylee | |
126 | 24.10.1921:50 | 루이코아낭 | |
1119 | 24.10.1918:03 | Gastone | |
89 | 24.10.1721:28 | Oscar | |
212 | 24.10.1712:11 | 희밍현수님 | |
77 | 24.10.1612:42 | SystemShock | |
321 | 24.10.1517:37 | Gastone | |
1327 | 24.10.1517:20 | 물만두 | |
1646 | 24.10.1317:18 | 물만두 | |
1282 | 24.10.1315:07 | Steer | |
882 | 24.10.1004:51 | Steer | |
199 | 24.10.0920:24 | KImET | |
940 | 24.10.0915:49 | lesmi | |
186 | 24.10.0911:23 | LumOS | |
77 | 24.10.0902:16 | lesmi | |
913 | 24.10.0822:09 | 애플맨 | |
1321 | 24.10.0810:58 | soullees | |
123 | 24.10.0723:26 | 오십견 | |
1247 | 24.10.0723:14 | Steer | |
125 | 24.10.0721:40 | 서재희 | |
81 | 24.10.0704:04 | g2030h61 | |
94 | 24.10.0704:00 | g2030h61 | |
102 | 24.10.0620:14 | SystemShock | |
118 | 24.10.0617:57 | 늘심심 | |
1505 | 24.10.0601:48 | 아스타틴 | |
1277 | 24.10.0515:04 | lesmi | |
136 | 24.10.0422:58 | 낡은기계 | |
551 | 24.10.0315:33 | oreo | |
121 | 24.10.0315:26 | 매치포인트 | |
183 | 24.10.0313:01 | 매치포인트 | |
155 | 24.10.0311:30 | KAKU | |
403 | 24.10.0207:44 | 데스맥 | |
258 | 24.09.3014:22 | 민준송 | |
197 | 24.09.2922:21 | oreo | |
136 | 24.09.2917:58 | 수박 | |
115 | 24.09.2913:21 | 루마루 |