질문용 시스템 사양 | 2번 |
---|---|
추가사양 및 설치(할)OS | 카탈리나 |
공지숙지/증상설명 | 숙지 |
노트북 전원을 그냥 키면 메뉴바에서 배터리 표시가 안되고 어댑터를 꽂아야 표시가 되는데 0프로로 나와 패치를 진행하게 되었습니다. (ACPI배터리 켁스트를 넣어둔 상태입니다.)
윈도리님의 게시글을 참고하며 구문을 수정하는데 https://x86.co.kr/tip/3051166
윗글에서 16비트와 24비트, 32비트를 변수가 사용되는 곳에는 B1B2, B1B3, B1B4를 사용한다 나와있습니다. 그래서 이에 따라 B1B2와 B1B4 메소드를 적어놓고 변수에 모두 적용을 했습니다.
여기서 궁금한건 128비트의 메소드를 적는 방법은 적혀 있는데 64비트의 메소드는 어떻게 적어야 하는지 안나와 있어 질문드립니다.
사진 보시면 아시겠지만 64비트 메소드만 적고 저 4가지 에러가 나는 부분만 채워주면 될거라 생각합니다.
원본 DSDT 파일과 수정중인 DSDT 파일 첨부했습니다.
#DSDT,#배터리,#노트북,#Mactopia
DSDT 수정할 때 EmbeddedControl Field의 Object를 수정하셨으면 배터리 관련 Method에서도 그 Object를 수정하셔야 됩니다.
네. 그런 기본적으로 4글자로 구성되어 있는 것들을 Object라고 부르고, 종류에 따라서 FieldUnitObject 등으로 부릅니다. 본문에 올려주신 파일로 설명을 하자면, Object inaccessible from이나 Object not found 등은 해당 테이블(DSDT나 SSDT)에서 다른 부분에서 언급된 그 Object가 정의되어 있지 않을 때 나는 오류입니다. 없는 것을 사용하라니 못 한다고 불평하는거죠. BANA로 오류가 4개가 났는데, 패치한 DSDT 보시면 //로 comment out되어 본문 코드에 포함되지 않아서 BANA를 못 찾겠다는 것입니다. 보통 패치를 할 때 Field 내 정의된 Object를 먼저 바꾸어주고, 바꾼 Object를 토대로 다른 부분에서 언급하는 Object를 수정해주기 때문에 "DSDT 수정할 때 EmbeddedControl Field의 Object를 수정하셨으면 배터리 관련 Method에서도 그 Object를 수정하셔야 됩니다."에서 저는 Field에서도 바꾼다면 다른 부분에서 안 바꾸었다는 것을 전제로 말씀드린거구요, 사실 저 오류는 "정의"와 "사용" 간 이름이 일치하지 않을 때(comment out이나 아예 없는 경우) 전부 포함합니다. 그래서 다시 얘기하자면 BANA가 Field 안에 없어서(//이라서) 뜬 오류였고, 댓글에 보여주신 스샷에서 오류로 언급하는 Object는 본문에 있는 DSDT에 이미 잘 정의된 것을 바탕으로 유추하자면 아마 BANA와 비슷하게 // 처리해서 없다고 뜨는 오류 같습니다.
// 처리라는게 사진에 나와 있는 동그라미 친 부분 맞나요..? 본문에 나와있는 오류는 // 부분을 지운다고 없어지진 않더라구요.. 오류난 부분의 괄호에 RDMN을 넣어주면 없어지지만 제가 댓글에 달았던 오류의 메소드를 적을때 // 처리한 부분은 없었습니다... (제가 DSDT 라는걸 그저께 처음 접한지라 이해 못한거라면 죄송합니다 ㅠ)
하이라이트 한 부분이구요. BANA에 해당하는 //를 처리를 하시는것이 당연합니다...
지금 제가 //를 지워보니 BANA를 ANAx로 바꾸셨다는 것을 알겠는데요, 128비트 패치하던 것처럼 Method 안에 ANAx 필드들을 정리해서 넣고, BANA로 오류 뜨는 부분에 128비트랑 비슷하게 패치해주면 됩니다.
----------------
댓글 3개째는 핸폰으로 보고 말씀드린거고, 이제 사진을 좀 제대로 보니... Method (RDMN)을 \ scope에 정의하셨어요. Method(B1B4) 아래에 넣으셨는데요. 본래 가이드 사진에는 Field 끝나는 부분 아래에 붙여 넣도록 되어있습니다.
Scope가 안 맞아서 오류가 났었네요.
오 말씀해주신대로 수정은 성공했습니다. 대신 store 부분에 입력했던 RDMN이 오류라고 하네요...
Scope라는 것을 아셔야 되는데요. 위치 라고 보시면 됩니다.
\_SB.PCI0.LPCB 등과 같이 .으로 Object들이 연달아 붙어있는 것들이 있습니다.
\는 root이구요, 그 아래로 _SB_ 아래 PCI0 아래 LPCB가 있습니다.
동일한 Scope 안에서는 Object를 root부터 언급하지 않아도 됩니다. 그래서 Method(RDMN)를 Field 아래 붙여 넣었다면 RDMN 아래 ANAx를 root부터 언급하지 않고 그저 ANAx로 언급해도 상관 없습니다. (만약 root부터 적었다면 \_SB.PCI0.LPCB.EC0.ANAx가 되었겠죠.)
그런데 스샷에는 왼쪽 하단에 _SB.BAT0.UPBI라고 되어있습니다. ANAx가 있는 Scope와 다른 Scope입니다. 그래서 원본 DSDT에서 본래 BANA를 언급할 때
^^PCI0.LPCB.EC0.BANA
라고 했는데요, ^는 parent scope을 뜻하므로 한 번 올라가면 _SB_, 한 번 더 올라가면 \라서 \_SB.PCI0.LPCB.EC0.BANA가 됩니다.
이 ^^PCI0.LPCB.EC0를 삭제하고 RDMN이라고 적었기 때문에 \_SB.BAT0.UPBI에서는 RDMN이라는 것을 찾을 수 없다고 오류가 나오는 것이구요, 정확히 인식시키려면 ^^PCI0.LPCB.EC0.RDMN 또는 \_SB.PCI0.LPCB.EC0.RDMN으로 시작해야 합니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 램 증설.. 그리고 자꾸 재부팅되는 PC.. +9 | 105 | 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 | 물만두 | |
1647 | 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 | 루마루 |
128비트를 8비트로 나누는 것처럼 진행하시면 됩니다. 대신 새로운 Method에 들어갈 비트 개수가 128비트에 비해 두 배로 줄어들겠네요.