질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 카탈리나 10.15.6 |
공지숙지/증상설명 | 숙지 |
*적용중인 도장
안녕하세요?
가입한지 한달정도 되었고 많은 분들의 도움을 받아 그램에 카탈리나를 설치했습니다.
그런데
이분의 글을 보니 EC 내에 있는 Embedded 부분을 찾으라고 하시더라고요...
그런데 저는 아래와 같이 EC도 없고 Embedded 라는 부분도 없어요...
어떻게 해야 하나요...
혹시 몰라서 DSDT.dsl 파일 첨부합니다...
고수님들 한번만 도와주세요!!!
XnSsdt 라는 OEM Table ID 를 가지는 SSDT-0-XnSsdt.aml 에 존재하네요.
ECF4 라는 EmbeddedControl Region 의 ECF4 Field 에 배터리 관련 FieldUnitObject 가 선언되어 있는 것을 볼 수 있습니다.
그리고, Scope (\_SB.PCI0.LPCB.H_EC) 의 하위 항목 중에서
PNP0C0A 라는 _HID 값을 가지는 CMB0 Device 가 배터리 관련 장치입니다.
그런데, 혹시 Patched 폴더에서 아래의 사진에 선택되어 있는 SSDT 는 추출한 OEM ACPI Tables 를 수정하지 않고 그대로 넣은 것인가요?
만약, 수정하지 않고 그대로 넣은 것이라면 삭제해주세요.
아무 의미 없습니다.
배터리 관련 변수가 선언되어 있는 EmbeddedControl Region 에서
다른 배터리 관련 함수에서 사용되는 16 Bit 이상의 FieldUnitObject 를 8 Bit 로 세분화하고
수정이 완료된 SSDT 를 적용한 후에 Config.plist 에서 XnSsdt 의 OEM SSDT Table 은 Drop 해주세요.
또는, XnSsdt 의 OEM SSDT 에서 배터리와 관련된 부분을 또 다른 SSDT 로 Override 하는 Hot Patch 방식으로 작업해도 됩니다.
죄송하지만 조금만 더 여쭤보겠습니다...
EmbeddedControl 아래쪽의 VER이 24여서 VER0, 8, VER1, 8, VER2, 8 이렇게 일단 나누었습니다.
그런데 이 파일 내에서(SSDT-0-SnSsdt.dsl) VER이라는 값은 사용하지 않더군요...
아래에 있는 AVER도 마찬가지구요...
그러면 그냥 24로 놔두어도 되나요???
네, 다른 배터리 관련 Method 에서 사용되지 않으면 그대로 둬도 되고 나눠도 상관 없습니다.
OperationRegion (ECF4, EmbeddedControl, Zero, 0xFF) 라고 Region 이 정의되어 있고
그 아래에는 Field 가 정의되어 있는데 Offset (0x01) 의 VER 이라는 FieldUnitObject 부터
Offset (0xDC) 의 ALS 라는 FieldUnitObject 까지 총 2개의 ECF4 라는 Field 가 연속해서 정의되어 있습니다.
OperationRegion (MBOO, SystemIO, 0x0680, 0x02) 라는 구문의 바로 전에 16 Bit 가 할당되어 있는 ALS 변수까지가
ECF4 라는 EmbeddedControl Region 에 포함됩니다.
즉, VER 부터 ALS 까지의 변수들이 EmbeddedControl Region 의 영역에 포함되는 것입니다.
위의 사진에서 초록색 박스친 3자리와 일부 4자리의 FieldUnitObject 는 검색해보니 다른 배터리 관련 Method 에서 사용됩니다.
저 부분을 8 Bit 로 세분화하는 작업을 진행해주세요.
위의 ECF4 Field 에서 72 Bit 가 할당되어 있는 BMFG 도 다른 배터리 관련 구문에서 사용되네요.
BMFG 와 초록색 박스친 FieldUnitObject 를 8 Bit 로 나누면 될 것입니다.
갑자기 이런 에러가 납니다...
731, 6084, Object does not exist (\_SB.PCI0.LPCB.H_EC.ALS)
B1B9 라는 Method 는 존재하지 않습니다.
배터리 관련 변수를 세분화하는 Method 는 B1B2, B1B3, B1B4, L1L4 등이 있는데
일반적으로 많이 사용되므로 생겨난 것 같아요.
주로, 64 Bit 이상의 FieldUnitObject 를 세분화하는 방법에는
8 Bit 로 직접 나눈 FieldUnitObject 를 Method 에 저장하는 방식과
해당 Buffer 를 읽고 쓰는 Method 를 사용하는 방식이 있습니다.
Buffer 를 읽고 쓰는 Method 를 사용하는 방식에는 RE1B & RECB, WE1B & WECB 라는 Method 가 있습니다.
아래의 질문글에서 댓글의 내용을 참고해주세요.
https://x86.co.kr/qa/2176851#comment_2176968
그리고, 아래의 글에서 배터리 관련 부분도 참고해보세요.
배터리 관련 FieldUnitObject 의 이름을 다른 이름으로 변경하면서 8 Bit 로 나누었으므로
해당 Object 를 찾을 수 없다는 Error 가 발생하는 것은 당연한 것이며
기존의 FieldUnitObject 를 호출하여 사용하는 부분에서 변경한 변수의 이름으로 Method 를 사용해서 치환해줘야 합니다.
ToString 과 RDMN 사이에 소괄호 ( 가 누락되서 ACPI 문법 Error 가 발생하였습니다.
위의 Syntax Error 는 제가 수정해서 해결하였고
ALS 의 경우에는 해당 FieldUnitObject 의 루트 경로도 포함하여 입력하면 됩니다.
Store (B1B2 (\_SB.PCI0.LPCB.H_EC.ALS0, \_SB.PCI0.LPCB.H_EC.ALS1), Local0)
RDMN 이라는 Method 의 이름은 MFGX 로 수정하였습니다.
8 Bit 로 직접 나눈 FieldUnitObject 를 Method 에 저장하는 방식은 Method 의 이름을 마음대로 수정해도 됩니다.
아래에 첨부한 SSDT 를 Patched 폴더에 넣고
Config.plist 에서 XnSsdt 라는 OEM SSDT Table 을 Drop 하고
다시 부팅해서 배터리 잔량 표시가 정상적으로 작동하는지 확인해주세요.
DSDT.aml 는 무언가를 수정하거나 패치하고 넣은 것인가요?
추출한 DSDT.aml 을 수정하지 않고 그대로 넣은 것이라면 삭제해주세요.
SSDT 는 댓글에서 작성하신 대로 4개만 남겨주세요.
그리고, Config.plist 의 ACPI - DSDT 에서 Drop OEM _DSM 항목과 ACPI - SSDT 의 Drop OEM 항목은 체크 해제해주세요.
Config.plist 에서 XnSsdt 라는 OEM SSDT Table 을 Drop 하는 것은 아래의 사진과 같이 설정하면 됩니다.
FakeSMC.kext 를 VirtualSMC.kext 로 교체하고
배터리 관련 Kext 도 기존의 ACPIBatteryManager.kext 에서 SMCBatteryManager.kext 로 교체하였는데
SMCBatteryManager.kext 가 CMB0 이라는 Device 를 배터리 장치로 인식하지 못 하는 것인지... 의심이 가서
기존의 CMB0 을 BAT1 으로 모두 Rename 하였습니다.
아래의 Clover 폴더로 교체하고 다시 부팅해보세요.
ACPI 에러가 중간에 너무 많이 나서 일일히 사진을 찍지 못해 동영상 파일이라도 첨부해봅니다...
구글링을 해봐도 비슷한 에러를 가진 사람을 찾기가 쉽지가 않네요...
가장 마지막에 있는 1-18 댓글 뽀로로님의 clover 폴더를 적용했습니다.
https://drive.google.com/file/d/1-ao-Ao168buXvaqHYZUjnkEETzzZMepA/view?usp=drivesdk
(용량이 커서 구글 드라이브에...)
XnSsdt의 CBT가 FwiTable에서도 사용되고 있네요...아까 왜 못 봤는지ㅠ
shl628님이 https://x86.co.kr/qa/5190383#comment_5192327
에 올려주신 파일 수정했습니다. 기존 파일과 교체하고 부팅해보세요.
클로버 부트로더에서 Table Drop을 다시 한번 확인해봤는데 제대로 세팅이 안되었더라고요...
도와주신 주분께 갑사드립니다!
전 클로버 컨피규에서 ACPI -> DSDT 패치에서 사전 패치설정 목록에서 EC..... 을 추가했더니 됬네요 너무 쉽게 되서 당황했네요 ㅇㅅㅇ;;
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 오픈코어로 단일 ssd로 듀얼부팅 설정시 윈도우 블루스크린문제 해결방... +13 | 65 | 24.10.2318:25 | 헷인토시 |
Hot 새로운 os 설치, 벤츄라가 좋을까요? 세콰이어가 좋을까요? +10 | 126 | 24.10.2308:19 | 미찌콘 |
Hot 램 증설.. 그리고 자꾸 재부팅되는 PC.. +8 | 52 | 24.10.2513:02 | 김밉상 |
39 | 24.10.2513:28 | 희밍현수님 | |
52 | 24.10.2513:02 | 김밉상 | |
38 | 24.10.2421:15 | 활주로임 | |
49 | 24.10.2322:21 | 활주로임 | |
65 | 24.10.2318:25 | 헷인토시 | |
58 | 24.10.2317:01 | 활주로임 | |
95 | 24.10.2315:51 | 배고픈사람 | |
126 | 24.10.2308:19 | 미찌콘 | |
106 | 24.10.2213:48 | 아킬리오 | |
89 | 24.10.2210:36 | MCMC | |
63 | 24.10.2200:57 | 헷인토시 | |
165 | 24.10.2123:22 | 마요네즈 | |
1066 | 24.10.1914:54 | 활주로임 | |
191 | 24.10.2017:21 | RTings | |
973 | 24.10.2000:14 | Kylee | |
119 | 24.10.1921:50 | 루이코아낭 | |
207 | 24.10.1918:03 | Gastone | |
82 | 24.10.1721:28 | Oscar | |
205 | 24.10.1712:11 | 희밍현수님 | |
71 | 24.10.1612:42 | SystemShock | |
309 | 24.10.1517:37 | Gastone | |
1318 | 24.10.1517:20 | 물만두 | |
1624 | 24.10.1317:18 | 물만두 | |
1277 | 24.10.1315:07 | Steer | |
877 | 24.10.1004:51 | Steer | |
192 | 24.10.0920:24 | KImET | |
933 | 24.10.0915:49 | lesmi | |
182 | 24.10.0911:23 | LumOS | |
73 | 24.10.0902:16 | lesmi | |
909 | 24.10.0822:09 | 애플맨 | |
1315 | 24.10.0810:58 | soullees | |
115 | 24.10.0723:26 | 오십견 | |
1235 | 24.10.0723:14 | Steer | |
117 | 24.10.0721:40 | 서재희 | |
74 | 24.10.0704:04 | g2030h61 | |
89 | 24.10.0704:00 | g2030h61 | |
95 | 24.10.0620:14 | SystemShock | |
113 | 24.10.0617:57 | 늘심심 | |
1372 | 24.10.0601:48 | 아스타틴 | |
1272 | 24.10.0515:04 | lesmi | |
131 | 24.10.0422:58 | 낡은기계 | |
547 | 24.10.0315:33 | oreo | |
118 | 24.10.0315:26 | 매치포인트 | |
177 | 24.10.0313:01 | 매치포인트 | |
152 | 24.10.0311:30 | KAKU | |
393 | 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 | 루마루 |
Embedded Controller 계열의 Device 이름은 컴퓨터 및 노트북마다 모두 다릅니다.
H_EC / EC0 / ECDV 등의 이름으로 존재할 수도 있습니다.
그리고, Embedded Controller 계열의 Device 는 PNP0C09 라는 고유한 _HID 값을 가집니다.
질문자님의 OEM DSDT 에서 PNP0C09 를 검색해보면 H_EC 라는 Device 보일 것입니다.
EmbeddedControl Region 도 대부분의 경우에는 OEM DSDT 에 존재하는데
OEM DSDT 가 아닌 특정 OEM SSDT Table 에 존재하는 경우도 있습니다.
OEM SSDT Tables 에서 EmbeddedControl Region 을 찾아보세요.