I2C 방식의 터치패드는 정상적으로 작동할 수 있도록 패치해줘야 합니다.
DSDT 를 직접 수정하는 Static 방식으로 패치하는 방법과
터치패드와 관련된 SSDT 로 OEM DSDT 를 Override 하는 Hot Patch 방식으로 패치하는 방법이 있습니다.
그리고, VoodooI2C 의 작동 방식인 Interrupt ( GPIO 또는 APIC ) 모드와 Polling 모드가 무엇인지 공부해보세요.
또한, I2C 방식의 터치패드 장치에 해당하는 Device 의 _CRS Method 를 다루게 될 것입니다.
_CRS Method 에서 ConcatenateResTemplate 문이 사용됩니다.
사진 출처 - ACPI Specification 기술 문서
https://uefi.org/sites/default/files/resources/ACPI_6_3_May16.pdf
아래의 사진은 DSDT 에 따른 VoodooI2C 의 작동 방식인 Interrupt ( GPIO 또는 APIC ) 모드와 Polling 모드의 지원 여부에 대한 개요표입니다.
" = " 는 위와 같다는 의미입니다.
사진 출처
https://github.com/williambj1/GenI2C/wiki/Supported-Situations
GenI2C를 사용하지 않고 다음 글을 참고하여 직접 DSDT 를 수정하는 방법으로 시도해보세요.
단, 난이도가 높은 작업입니다.
https://www.penghubingzhou.cn/2019/01/06/VoodooI2C%20DSDT%20Edit/
https://www.penghubingzhou.cn/2019/07/24/VoodooI2C%20DSDT%20Edit%20FAQ/
https://blog.gzxiaobai.cn/2020/05/17/用热补丁修理你的触摸板(TouchPad-Hotpatch)/
DSDT 를 직접 수정하여 VoodooI2C 를 설치하는 전체적인 과정은 다음 사이트를 참고해주세요.
https://voodooi2c.github.io/#Installation/Installation
다음 글은 GPIO Pinning 에 대한 내용입니다.
https://voodooi2c.github.io/#GPIO%20Pinning/GPIO%20Pinning
그 외에, VoodooI2C 에 대한 자세한 설명은 다음 사이트를 참고해주세요.
https://voodooi2c.github.io/#Introduction/Introduction
https://voodooi2c.github.io/#Polling%20Mode/Polling%20Mode
https://voodooi2c.github.io/#Satellite%20Kexts/Satellite%20Kexts
그리고, Intel 6th Gen Sky Lake 의 삼성 노트북이라면
OEM DSDT 에서 I2C 방식의 터치패드 장치에 해당하는 SPTP 라는 Device 가 존재할 것이며
Atmel 사의 maxTouch I2C 터치패드이고 모델명은 ATML1000/2000/3000 일 것입니다.
VoodooI2C.kext 와 VoodooI2CHID.kext 만 사용하면 됩니다.
VoodooPS2Controller.kext 의 Plguin 으로 포함되는 Kext 는 KeyBoard 만 남겨두고 나머지는 삭제해주세요.
우선, 현재 사용중이신 EFI 폴더와 어떤 ACPI 패치 관련 SSDT 를 사용하고 있고
VoodooI2C 의 로그를 확인하여 어떤 오류가 발생하고 있는지를 확인해야 도움을 정확하게 드릴 수 있습니다.
또한, Darwin OS Check Fix 패치가 DSDT 에 Static 방식으로 패치되어 있거나
SSDT 를 사용하여 특정한 값으로 Assign 또는 SSDT-XOSI.aml 및 _OSI 를 XOSI 로 Rename 하는 패치가 적용되어 있는지 확인해주세요.
추가로, 삼성 노트북에서 I2C 방식의 터치패드 장치인 SPTP Device 는 Interrupt 모드로 작동시켜야 할 거예요.
그러므로, GPIO Decive 에 해당하는 GPI0 Device 의 _STA 는 Return (0x0F) 를 반환하여 비활성화되지 않도록 패치되어 있어야 하고
Intel 6th Gen Sky Lake 는 [Controllers] I2C Controllers 패치도 필요합니다.
OEM DSDT 에서 GPI0 Device 의 _STA 를 SSDT 를 사용하여 Preset Variable Method 방식으로 패치하기도 합니다.
OpenCore 의 Guide 에서 제시되어 있는 방법이 Preset Variable Method 방식입니다.
SBRG 와 GPEN 이라는 Object 에 Zero 가 아닌 값으로 할당하여 GPI0 Device 의 _STA 에서 Return (0x0F) 를 반환하도록 합니다.
그리고, 삼성 노트북의 I2C 방식 터치패드 장치인 SPTP Device 에서
GPIO Pin 에 해당하는 IntObj 는 SBFG 이고
I2cSerialBusV2 에 해당하는 Object 가 일반적으로 다른 노트북에서 사용되는 SBFB 대신에 SBFS 이므로
_CRS Method 에서 ConcatenateResTemplate (SBFB, SBFG) 가 아닌
ConcatenateResTemplate (SBFS, SBFG) 가 Return 되어야 합니다.
SSDT 를 사용하여 SDM0 이라는 Object 에 Zero 를 할당하도록 Preset Variable Method 방식으로 패치해도 되겠죠.
I2C 방식의 터치패드 제스처 안정화 작업이 조금 어려운 편에 속합니다.
천천히 공부해보면서 시도해보세요. :)
트랙패드가 동작은 하는데 시스템 환경 설정에서 안되시는거죠?
그러려면 배터리를 먼저 잡아야 합니다.
배터리 잡으시면 맥이 이 시스템은 노트북이구나 라고 인식하고 트랙패드도 잡는 로직이 있나보아요.
물론 위에분이 정성들여 써주신 방법으로 트랙패드도 잡아야 겠죠.
이거 한번 넣어보세요. kext의 플러그인 안에 VoodooPS2Trackpad.kext가 없는 것을 쓰시고 있는 것일 수도 있습니다
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 오픈코어로 단일 ssd로 듀얼부팅 설정시 윈도우 블루스크린문제 해결방... +12 | 48 | 24.10.2318:25 | 헷인토시 |
Hot 새로운 os 설치, 벤츄라가 좋을까요? 세콰이어가 좋을까요? +10 | 100 | 24.10.2308:19 | 미찌콘 |
Hot 맥프로를 들여왔는데 질문이 있습니다. +7 | 68 | 24.10.2315:51 | 배고픈사람 |
10 | 24.10.2421:15 | 활주로임 | |
39 | 24.10.2322:21 | 활주로임 | |
48 | 24.10.2318:25 | 헷인토시 | |
44 | 24.10.2317:01 | 활주로임 | |
68 | 24.10.2315:51 | 배고픈사람 | |
43 | 24.10.2315:18 | 희밍현수님 | |
100 | 24.10.2308:19 | 미찌콘 | |
95 | 24.10.2213:48 | 아킬리오 | |
80 | 24.10.2210:36 | MCMC | |
57 | 24.10.2200:57 | 헷인토시 | |
145 | 24.10.2123:22 | 마요네즈 | |
161 | 24.10.1914:54 | 활주로임 | |
184 | 24.10.2017:21 | RTings | |
197 | 24.10.2000:14 | Kylee | |
118 | 24.10.1921:50 | 루이코아낭 | |
205 | 24.10.1918:03 | Gastone | |
80 | 24.10.1721:28 | Oscar | |
199 | 24.10.1712:11 | 희밍현수님 | |
70 | 24.10.1612:42 | SystemShock | |
307 | 24.10.1517:37 | Gastone | |
1295 | 24.10.1517:20 | 물만두 | |
1622 | 24.10.1317:18 | 물만두 | |
1273 | 24.10.1315:07 | Steer | |
872 | 24.10.1004:51 | Steer | |
188 | 24.10.0920:24 | KImET | |
928 | 24.10.0915:49 | lesmi | |
179 | 24.10.0911:23 | LumOS | |
73 | 24.10.0902:16 | lesmi | |
909 | 24.10.0822:09 | 애플맨 | |
1314 | 24.10.0810:58 | soullees | |
113 | 24.10.0723:26 | 오십견 | |
1233 | 24.10.0723:14 | Steer | |
115 | 24.10.0721:40 | 서재희 | |
69 | 24.10.0704:04 | g2030h61 | |
89 | 24.10.0704:00 | g2030h61 | |
92 | 24.10.0620:14 | SystemShock | |
113 | 24.10.0617:57 | 늘심심 | |
1372 | 24.10.0601:48 | 아스타틴 | |
1271 | 24.10.0515:04 | lesmi | |
129 | 24.10.0422:58 | 낡은기계 | |
544 | 24.10.0315:33 | oreo | |
118 | 24.10.0315:26 | 매치포인트 | |
175 | 24.10.0313:01 | 매치포인트 | |
149 | 24.10.0311:30 | KAKU | |
368 | 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 | 루마루 | |
206 | 24.09.2910:19 | 루마루 | |
140 | 24.09.2723:18 | 머트 | |
146 | 24.09.2720:41 | ashly | |
230 | 24.09.2716:50 | loopers | |
213 | 24.09.2602:42 | Caper | |
288 | 24.09.2301:36 | 낡은기계 | |
164 | 24.09.2122:38 | Door | |
228 | 24.09.2108:35 | 루베콘 | |
503 | 24.09.2022:16 | 에잉 | |
225 | 24.09.1910:03 | 밤가시 | |
306 | 24.09.1822:20 | SUNWAYFOTO | |
732 | 24.09.1815:34 | Nelson | |
444 | 24.09.1814:34 | sebali | |
237 | 24.09.1813:37 | Panictosh | |
338 | 24.09.1801:27 | SUNWAYFOTO | |
155 | 24.09.1719:17 | 그냥인간 | |
331 | 24.09.1620:36 | dlraud | |
217 | 24.09.1618:45 | Nelson | |
102 | 24.09.1612:07 | 아스타틴 | |
202 | 24.09.1522:02 | lesmi | |
265 | 24.09.1323:56 | 윤수꾸하하 | |
644 | 24.09.1319:18 | 뚜비 | |
1550 | 24.09.1200:33 | Steer | |
255 | 24.09.0918:08 | 상큼버터 | |
1446 | 24.09.0717:13 | 인터찹 | |
1554 | 24.09.0711:07 | 서재희 | |
1464 | 24.09.0113:39 | 시습이 | |
495 | 24.08.3022:44 | 블루 | |
435 | 24.08.2911:20 | lesmi | |
449 | 24.08.2823:04 | 김덕뱀 | |
327 | 24.08.2517:14 | 그냥구름 |
1. 혹시 질문 게시판 공지는 읽어 보셨나요? 빠른 답변을 받을수 있는 방법이 적혀 있습니다. 클릭
2. EFI 폴더를 올려서 질문하는 경우가 많은데 게시판에 업로드시 용량 제한에 부딪히는 분들이 있으신 듯 합니다.
아래 Apple 폴더 와 Audio 폴더 두가지 폴더가 있다면 삭제 하시고 압축후 업로드 하시면 됩니다.
3. 모든 걸 다 떠먹여 달라는 질문은 더 무시 당할수 있습니다. 핑거 프린세스가 되지 않도록 노력합시다.
5. 만약 본인 조차도 무엇이 문제인지 잘 모르는 상황이라면, 현재의 상황에 대해서 최대한 정확하게 글을 써 주시고, 오류화면이나 메세지등을 정확히 알려주셔야 답변을 빨리 받습니다. 그냥 "그냥 안 되요."라고 한다면 잡스가 와도 도움드리지 못할 공산이 큽니다.
6. 스스로 해결한 문제라면, 본인 질문 글에 해결 방법을 적어 두는게 좋습니다. 같은 문제로 고민하는 동료에게 도움을 줄 수도 있고, 대체로 한번 걸린 함정에 또 걸리기 마련입니다.
7. 긴 에러코드 등 같은 경우 오히려 질문의 가독성을 떨어뜨려 답변자에게 답변을 받기 힘들어 질수 있습니다. 글쓰기 하단의 코드 강조 박스 또는 스포일러(접기) 박스를 사용하시길 바랍니다.
8. 마지막으로 답변이 도움이 되었다면 답변채택 버튼을 눌러주세요.