질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | ventura |
공지숙지/증상설명 | 숙지 |
EFI (3).zip
현재 이 EFI 사용중인데 설정에서 베터리 탭에 들어가보면 충전이 계속 완충으로만 뜹니다...
패치를 해야하는 건가요...?
윈맥크로님의 새글 알림을 받으실려면 구독
*적용중인 도장
EFI첨부된 것 확인했는데 없어서 말씀 드렸습니다. ec enabler가 안되다면 dsdt추출해서 배터리 잡아야 할 것 같습니다.
오픈코어 부트로더 설정을 건들지 않고 ec enabler.kext 추가하고 로드하였습니다. 오픈코어 부트로더 설정을 좀 더 깔끔하게도 할 수 있지만 우선 테스트해보세요.
ECEnabler.kext 를 사용해도 배터리 잔량 표시가 정상적으로 작동하지 않는 경우에는 직접 ACPI 패치를 진행해야 합니다.
아래의 글을 참고해보세요.
https://x86.co.kr/info/3051166
https://dortania.github.io/OpenCore-Post-Install/laptop-specific/battery.html
또한, VirtualSMC 를 사용한다면 ACPIBatteryManger.kext 대신에 SMCBatteryManger.kext 를 사용하는 것을 권장합니다.
확장자가 .dsl 인 형태의 파일은 부트로더에 넣어서 적용할 수 없습니다.
MaciASL 등의 ACPI Editor 앱으로 저장할 때 .aml 의 확장자로 컴파일하여 저장하고 부트로더의 ACPI 폴더에 넣어서 적용해주면 됩니다.
.dsl 파일은 소스 코드, .aml 파일은 바이너리 파일이라고 생각하면 이해가 쉬울 것 같습니다.
추가로, 댓글에서 링크해드린 글에 있는 배터리 패치된 DSDT.dsl 은 해당 글에서 배터리 패치에 사용된 예제일 뿐이며 다운로드해서 그대로 적용하면 안 됩니다.
https://drive.google.com/file/d/18fH8rMBOTGDimzLSKP74peHnz9PPwj1b/view?usp=sharing
(업로드가 안되서 구글드라이브로...)
보내주신 파일은 DSDT 가 아닌 OEM SSDT Table 중 하나입니다.
EmbeddedControl Region 은 거의 대부분 DSDT 에 있습니다.
Error 는 반드시 수정해야 하지만 Warning 과 Remark 는 굳이 수정할 필요가 없습니다.
원본 상태의 OEM DSDT 에서도 Warning 은 수십개 뜨지만 무시해도 됩니다.
배터리 패치와 관련된 부분에서 Error 가 발생한 것은 컴파일 창에서 해당 오류 내용과 DSDT 를 첨부해서 보내주세요.
한 줄에 어떠한 Object 없이 바로 Zero 값이 올 수 없으며 지워주면 해결됩니다.
또한, 처음 부분의 External References 에서 * 가 들어가 있는 이상한 항목은 그냥 해당 줄을 제거하면 해결됩니다.
원래 일부 노트북마다 추출된 OEM DSDT 에서 Syntax 문법 관련 Error 가 종종 있습니다.
그런데, 혹시 추출하고 나서 디컴파일하지 않고 수정하지 않은 원본 상태의 DSDT.aml 파일을 보내주실 수 있나요?
Syntax Error 를 해결하고 나니 변수 선언이 되어있는데 존재하지 않다는 ACPI Error 가 갑자기 수두룩하게 생기네요.
배터리 패치를 완료하였습니다.
아래에 첨부한 DSDT.aml 을 적용하고 다시 부팅해보세요.
Config.plist 의 ACPI - Add 에서 DSDT.aml 의 로드 순서를 맨 위로 오게 설정해야 합니다.
혹시, 제가 배터리 패치하여 드린 DSDT.aml 를 적용하기 전에 터치패드가 4손가락 제스처 등 모든 제스처가 정상적으로 작동이 됐었나요?
또한, 시스템 환경설정의 트랙패드 설정에서 제스처 관련 설정을 변경할 수 있었나요?
macOS 는 배터리 잔량 포시가 정싱적으로 작동해야 터치패드도 정싱적으로 작동하도록 설계되어 있습니다.
그리고, 질문자님의 DSDT 에서 배터리 패치만 진행하였으며 다른 부분은 수정하지 않았습니다.
단, DSDT 에서 SPTP Device 의 내용을 확인해보고 I2C 방식의 터치패드인 것은 확인하였습니다.
배터리 패치가 완료된 DSDT.aml 을 적용하기 전에는 VoodooI2C 가 아닌 VoodooPS2 에 의해서 터치패드가 일부 작동했었던 것 같습니다.
I2C 방식의 터치패드는 VoodooI2C 를 사용하는 것이 더 터치패드 조작감이 부드럽고 안정적입니다.
단, VoodooI2C 의 경우에는 ACPI 패치를 진행해야 합니다.
아래의 글을 참고해보세요.
https://x86.co.kr/info/7011800
하지만, 지금은 시간이 조금 많이 늦었으므로 우선은 VoodooI2C 와 VoodooI2CHID 만 넣고
-vi2c-force-polling 부트 옵션을 추가하고 다시 부팅해서 터치패드가 Polling 모드로 작동하는지 확인해보세요.
질문자님의 삼성 노트북은 Intel 8th Gen Whiskey Lake CPU 이며
아마 SPTP Device 의 APIC Pin 값은 2F 보다 클 거예요.
Interrupt (GPIO) 모드를 사용하는 경우로 패치를 진행해보세요.
VoodooI2C 설치 가이드 글에서 2-1. 단계부터 2-4. 단계까지는 진행하셨나요?
질문자님의 삼성 노트북의 DSDT 에서 GPI0 Device 의 _STA Method 를 보면 아래의 사진과 같습니다.
Return (0x0F) 를 반환해야 GPIO Controller 가 활성화되므로 GPHD 에 Zero 라는 값을 할당하도록 SSDT 를 만들면 됩니다.
아래에 첨부한 SSDT-GPI0.aml 을 적용하고 다시 부팅하면 GPIO Controller 는 활성화될 것 입니다.
EFI 폴더를 확인해보니 전체적으로 조금 수정할 부분이 있어서 수정하였습니다.
다른 분의 EFI 폴더를 가져와서 사용할 때에는 ACPI 부분을 잘 수정해야 합니다.
SSDT-GPI0.aml 을 확인해보니 _STA Method 를 아예 새로 정의하였는데
이의 경우에는 Config.plist 의 ACPI - Add 에서 GPI0 의 _STA 를 XSTA 등으로 Rename 패치를 적용해야 합니다.
그리고, 혹시 SSDT-DMAR.aml 을 넣은 이유가 있나요?
SSDT-DMAR.aml 내용을 확인해보니 OEM ACPI Tables 을 추출하면 나오는 DMAR 을 그대로 넣으신 것 같은데 의미가 없습니다.
추가로, SSDT-PLUG.aml 에서 SSDT-DTPG.aml 에 정의된 DTGP Method 를 외부 참조하여 사용하는데
굳이 이렇게 할 필요 없이 OpenCore 의 ACPI 샘플에 동봉된 SSDT-PLUG.aml 하나로 교체하고 SSDT-DTPG.aml 은 삭제하였습니다.
또한, 질문자님의 삼성 노트북은 Atmel 사의 I2C 터치패드 입니다.
VoodooI2CELAN 이 아닌 VoodooI2CHID 를 사용하는 것이 적합합니다.
GenI2C 에서는 ELAN0B00 모델로 표시되지만 질문자님의 삼성 노트북의 ACPI 코드 설계가 조금 미흡해서 그런 것 같습니다.
TPTY 의 값이 0x03 이어야 하는데 One 이어서 ELAN0B00 으로 표시되는 것입니다.
그 외에도, OpenCore 부트로더를 최신 버전인 r0.8.4 버전으로 교체하고 불필요한 EFI Driver 와 Tool 정리,
Config.plist 에서 Kext 로드 순서와 여러 가지 전체적으로 조금 수정하였습니다.
추가로, SSDT-GPI0.aml 의 내용을 SSDT-SPTP.aml 에 같이 포함시키고
I2C Bus 속도 상수인 SSCN 과 FMCN 도 활성화되도록 하고
SSDT-SPTP.aml 에 터치패드가 Interrupt (GPIO) 모드로 작동하도록 수정하였습니다.
아래에 첨부한 EFI 폴더로 교체하고 다시 부팅해서 터치패드가 잘 작동하는지 확인해보세요.
만약, 안 된다면 IOReg 덤프 파일과 터미널에서 아래의 명령어를 실행한 결과를 하나의 압축 파일로 첨부하여 보내주세요.
sudo dmesg | grep -i "Voodoo"
트랙패드가 작동을 안하네요...
https://drive.google.com/file/d/1r7Xc7MQWlCur7kyq1WxSsR-bVgFTpy6j/view?usp=sharing
dmesg 명령어는 실행이 안되네요...
1. 시스템 환경설정에서 트랙패드 설정은 변경할 수 있는 상태인가요?
2. 아래의 사이트에서 FingerMgmt 앱을 다운로드하고 실행해서
https://github.com/jnordberg/FingerMgmt/releases
터치패드에 터치나 제스처 등이 입력하는 대로 FingerMgmt 앱에 표시되는지 확인해주실 수 있나요?
3. 터미널에서 dmesg 명령어를 아래의 사진과 같이 다시 한 번 입력해보실 수 있나요?
아래의 사진은 예시이며 VoodooI2C 가 로드되지 않아서 로그는 뜨지 않았습니다.
혹시, GenI2C 앱을 실행하고 상단 메뉴바의 Debug - VoodooI2C 로그를 클릭해서 로그를 확인해보세요.
IOReg 의 SPTP Device 에서는 VoodooI2C 와 VoodooI2CHID 로드 여부,
VoodooInput (Magic Trackpad II Engine) 등 이상한 부분은 없어 보입니다.
genI2C 에서 로그를 보면 이렇게 되어있습니다.
Timestamp (process)[PID]
2022-09-12 22:39:23.931741+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::Loading GPIO Data for CannonLake-LP
2022-09-12 22:39:23.931759+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::VoodooGPIO Init!
2022-09-12 22:39:23.931762+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 0
2022-09-12 22:39:23.931845+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 1
2022-09-12 22:39:23.931901+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 2
2022-09-12 22:39:23.932060+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::GPIO Controller is already awake! Not reinitializing.
2022-09-12 22:39:24.475447+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::Registering hardware pin 0x1C for GPIO IRQ pin 0x23
2022-09-12 22:39:24.475456+0900 localhost kernel[0]: (VoodooGPIO) VoodooGPIOCannonLakeLP::Successfully registered hardware pin 0x1C for GPIO IRQ pin 0x23
2022-09-12 22:39:35.623318+0900 localhost kernel[0]: (IOHIDFamily) open by VoodooI2CPrecisionTouchpadHIDEventDriver 0x100000439 (0x0)
2022-09-12 22:39:36.197441+0900 localhost kernel[0]: (IOHIDFamily) VoodooI2CHIDDevice:0x1000003bc Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2022-09-12 22:39:36.197452+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputSimulatorDevice:0x10000043f Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2022-09-12 22:39:36.358042+0900 localhost kernel[0]: (IOHIDFamily) VoodooI2CHIDDevice:0x1000003bc Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2022-09-12 22:39:36.358053+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputSimulatorDevice:0x10000043f Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2022-09-12 22:48:49.027764+0900 localhost log[1790]: [com.apple.log:] log run noninteractively, parent: 1789 (maclog), args: '/usr/bin/log' 'show' '--predicate' '(process == "kernel" OR eventMessage CONTAINS[c] "kernel") AND eventMessage CONTAINS[c] "voodoo"' '--style' 'syslog' '--source' '--info' '--start' '2022-9-12 22:39
2022-09-12 22:49:17.631964+0900 localhost log[1876]: [com.apple.log:] log run noninteractively, parent: 1875 (maclog), args: '/usr/bin/log' 'show' '--predicate' '(process == "kernel" OR eventMessage CONTAINS[c] "kernel") AND eventMessage CONTAINS[c] "voodoo"' '--style' 'syslog' '--source' '--info' '--start' '2022-9-12 22:39
음... 죄송하지만 이제 저도 잘 모르겠습니다... ㅜㅅㅠ
Interrupt 모드 대신에 그냥 Polling 모드를 사용해야 할 것 같아요..
-vi2c-force-polling 부트 옵션을 적용하면 Polling 모드로 터치패드가 작동될 거예요.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +269 | 달쇠 | 17.07.3020:49 | 11만 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | Mactopia | 17.02.1014:21 | 12만 |
세콰이어 질문드려요 +11 | Nelson | 24.09.1815:34 | 258 |
세콰이어 신기능 아이폰 미러링 잘 되시나요? +8 | 에잉 | 24.09.2022:16 | 125 |
OpenCore Configurator 2.76.2.0 다운 받을수 없는건가요...?? +6 | SUNWAYFOTO | 24.09.1822:20 | 108 |
루베콘 | 24.09.2108:35 | 44 | |
에잉 | 24.09.2022:16 | 125 | |
밤가시 | 24.09.1910:03 | 99 | |
SUNWAYFOTO | 24.09.1822:20 | 108 | |
Nelson | 24.09.1815:34 | 258 | |
sebali | 24.09.1814:34 | 241 | |
Panictosh | 24.09.1813:37 | 118 | |
SUNWAYFOTO | 24.09.1801:27 | 178 | |
그냥인간 | 24.09.1719:17 | 72 | |
dlraud | 24.09.1620:36 | 167 | |
Nelson | 24.09.1618:45 | 149 | |
아스타틴 | 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 | 139 | |
상큼버터 | 24.09.0918:08 | 200 | |
인터찹 | 24.09.0717:13 | 582 | |
서재희 | 24.09.0711:07 | 1144 | |
시습이 | 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 | 102 | |
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 | 341 | |
인터찹 | 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 | 200 | |
페러 | 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 |
ec enabler 켁스트를 받아서 kext폴더에 넣고 오픈코오 부트로더 kext항목에서 로드하면 될 수도 있습니다. 한번 해보세요.
https://github.com/1Revenger1/ECEnabler/releases