질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | macOS 12.6.8 |
공지숙지/증상설명 | 숙지 |
리얼맥으로 입문 했다가 뒤늦게 해킨토시에 입문한 사람입니다.
Acer Aspire Switch Alpha 12 (SA5-271) 2 in 1 노트북에 해킨토시를 빌드하고 있습니다.
부팅 성공했고, USB, 블루투스, 와이파이까지는 어찌저찌 해결한 상태입니다.
근데 키보드, 트랙패드, 터치패드 해결하는데 5일째 시간을 허비하는 중 입니다.
이걸 참고하고 있긴한데 DSDT며 SSDT까지 어찌 수정을 해야하는건지 예시만 봐서는 잘 모르겠습니다..
일단 윈도우 올려서 I2C1.TPL1 이런건 확인을 했는데 이걸 알아낸 후에 어떻게 수정을 해야하나 접근 조차 못하고 있습니다...
정말 죄송하지만 혹시나 이런거 해결 할 수 있는 한글 가이드 같은게 있는지 알고 싶습니다.
혹시 몰라 EFI 파일 올려둡니다..
DSDT 를 확인해보니 ELAN5515 모델의 터치스크린에 해당하는 장치는 TPL1 Device 가 맞습니다.
일반적으로, VoodooI2C 의 작동 방식 중 Interrupt (GPIO) 모드로 작동하려면 아래의 조건을 만족해야 합니다.
1. Darwin OS Check Fix 패치 적용
2. GPIO Controller (GPI0 Device) 활성화
3. _CRS Method 패치
4. SSCN, FMCN 버스 속도 상수 활성화
1, 2번은 이미 SSDT-GPI0.aml, SSDT-XOSI.aml 이 적용되어 있으며
IOReg 에서 GPI0 Device 에 VoodooGPIO 가 로드되어 있으므로 충족된 상태입니다.
3, 4번에 대하여 패치가 필요한 상태입니다.
터치스크린을 Interrupt (GPIO) 모드로 작동시키기 위해서는 TPL1 Device 의 _CRS Method 를 패치해야 합니다.
SBFB 와 GPIO Pin 에 해당하는 SBFG 를 ConcatenateResTemplate 하여 Return 해야 합니다.
그러면, SDM1 이라는 변수에 Zero (0) 값이 할당되도록 하면 됩니다.
또한, DSDT 를 보면 SSCN, FMCN 버스 속도 상수가 활성화되려면 USTP 의 값이 0 이 아닌 값이어야 합니다.
USTP 라는 FieldUnitObject 에 One 값이 할당되도록 SSDT 를 만들어서 적용해주세요.
추가로, VoodooI2C 의 Dmesg 부팅 로그는 터미널에서 아래의 명령어를 입력하면 표시될 것입니다.
sudo dmesg | grep -i "Voodoo"
혹시, 도킹 키보드의 터치패드 모델명과 제조사는 장치 관리자에서 확인이 잘 안 되시나요?
Dell 또는 HP 사의 일부 태블릿 PC 는 ALPS 사의 터치패드이고 통신 방식은 PS/2 또는 I2C 인 경우가 많습니다.
혹시, ALPS 사의 터치패드인지 확인해보세요.
ALPS 사의 터치패드에 사용할 수 있는 Kext 는 다음과 같습니다.
https://github.com/SkyrilHD/VoodooPS2-ALPS
단, 현재 최신 버전의 VoodooPS2Controller 에 ALPS 관련 드라이버가 같이 통합되었지만, 한 번 시도해 볼 수 있습니다.
아래의 Kext 는 ALPS 사의 I2C 터치패드에 사용할 수 있습니다.
상세한 답변에 무한한 감사를 드립니다.
일단 키보드 북커버의 정체는 Chicony에서 제작된 Acer Hawaii keyboard 라는 물건이었고 연결 방식은 USB였습니다.
USBToolBox와 USBMap을 추가하여 인식을 시키긴했는데 문제가 좀 여러가지 생겨서 고생을 하고 있습니다.
첫번째 문제는 Boot Menu가 안뜨고 검은화면만 쭉 이어지는 문제인데 로그를 뽑아보면 정상적으로 부팅은 되어있습니다.
화면이 랜덤하게 떠서 겨우겨우 부팅을하고 있습니다.
두번째 문제는 북커버의 트랙패드는 인식을 하는데 내장트랙패드로 인식을 못하고 마우스로 인식하고 있습니다.
USB 형식이라서 I2C를 통한 패치도 안되고 해결 방법이 있을까요??
USBMap.kext 를 사용한다면 USBToolBox.kext 는 필요하지 않으므로 USBToolBox.kext 를 삭제해주세요.
USBMap.kext 와 UTBMap.kext 의 차이점은 사용되는 USB 의 IOClass 가 다른 점입니다.
USBMap.kext 은 macOS 의 /S/L/E 경로에 내장된 USB 관련 Kext 의 Class 를 사용하는 것이며,
UTBMap.kext 는 별도의 USBToolBox.kext 를 Class 로 사용하는 것입니다.
그래서, USBMap.kext 은 USBMap.kext 만 사용하면 되지만,
UTBMap.kext 은 USBToolBox.kext 와 같이 사용해야 합니다.
1. 첫 번째 문제는 죄송하지만, 저도 잘 모르겠습니다... ㅜㅅㅠ
2. 두 번째 문제는 혹시 위의 댓글에서 링크로 드린 AlpsHID.kext 를 한 번 사용해 보셨나요?
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 오픈코어로 단일 ssd로 듀얼부팅 설정시 윈도우 블루스크린문제 해결방... +11 | 22 | 24.10.2318:25 | 헷인토시 |
Hot 새로운 os 설치, 벤츄라가 좋을까요? 세콰이어가 좋을까요? +10 | 78 | 24.10.2308:19 | 미찌콘 |
Hot 해킨토시 하이시에라 설치시 컴퓨터에 펌웨어 파티션이 없기 때문에 이... +5 | 24 | 24.10.2317:01 | 활주로임 |
3 | 24.10.2322:21 | 활주로임 | |
22 | 24.10.2318:25 | 헷인토시 | |
24 | 24.10.2317:01 | 활주로임 | |
35 | 24.10.2315:51 | 배고픈사람 | |
28 | 24.10.2315:18 | 희밍현수님 | |
78 | 24.10.2308:19 | 미찌콘 | |
84 | 24.10.2213:48 | 아킬리오 | |
74 | 24.10.2210:36 | MCMC | |
43 | 24.10.2200:57 | 헷인토시 | |
122 | 24.10.2123:22 | 마요네즈 | |
135 | 24.10.1914:54 | 활주로임 | |
157 | 24.10.2017:21 | RTings | |
172 | 24.10.2000:14 | Kylee | |
115 | 24.10.1921:50 | 루이코아낭 | |
183 | 24.10.1918:03 | Gastone | |
78 | 24.10.1721:28 | Oscar | |
197 | 24.10.1712:11 | 희밍현수님 | |
68 | 24.10.1612:42 | SystemShock | |
301 | 24.10.1517:37 | Gastone | |
913 | 24.10.1517:20 | 물만두 | |
1622 | 24.10.1317:18 | 물만두 | |
1259 | 24.10.1315:07 | Steer | |
864 | 24.10.1004:51 | Steer | |
183 | 24.10.0920:24 | KImET | |
926 | 24.10.0915:49 | lesmi | |
178 | 24.10.0911:23 | LumOS | |
73 | 24.10.0902:16 | lesmi | |
909 | 24.10.0822:09 | 애플맨 | |
1297 | 24.10.0810:58 | soullees | |
110 | 24.10.0723:26 | 오십견 | |
1232 | 24.10.0723:14 | Steer | |
114 | 24.10.0721:40 | 서재희 | |
68 | 24.10.0704:04 | g2030h61 | |
88 | 24.10.0704:00 | g2030h61 | |
91 | 24.10.0620:14 | SystemShock | |
112 | 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 | |
117 | 24.10.0315:26 | 매치포인트 | |
175 | 24.10.0313:01 | 매치포인트 | |
145 | 24.10.0311:30 | KAKU | |
261 | 24.10.0207:44 | 데스맥 | |
252 | 24.09.3014:22 | 민준송 | |
171 | 24.09.2922:21 | oreo | |
132 | 24.09.2917:58 | 수박 | |
109 | 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 | |
210 | 24.09.2602:42 | Caper | |
288 | 24.09.2301:36 | 낡은기계 | |
164 | 24.09.2122:38 | Door | |
225 | 24.09.2108:35 | 루베콘 | |
496 | 24.09.2022:16 | 에잉 | |
223 | 24.09.1910:03 | 밤가시 | |
305 | 24.09.1822:20 | SUNWAYFOTO | |
730 | 24.09.1815:34 | Nelson | |
444 | 24.09.1814:34 | sebali | |
236 | 24.09.1813:37 | Panictosh | |
338 | 24.09.1801:27 | SUNWAYFOTO | |
155 | 24.09.1719:17 | 그냥인간 | |
329 | 24.09.1620:36 | dlraud | |
217 | 24.09.1618:45 | Nelson | |
99 | 24.09.1612:07 | 아스타틴 | |
200 | 24.09.1522:02 | lesmi | |
265 | 24.09.1323:56 | 윤수꾸하하 | |
639 | 24.09.1319:18 | 뚜비 | |
1550 | 24.09.1200:33 | Steer | |
255 | 24.09.0918:08 | 상큼버터 | |
1442 | 24.09.0717:13 | 인터찹 | |
1552 | 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 | 김덕뱀 | |
326 | 24.08.2517:14 | 그냥구름 | |
264 | 24.08.2218:42 | Panictosh |
혹시, 원본 상태의 DSDT 추출본, IOReg 덤프 파일, VoodooI2C 의 Dmesg 부팅 로그를 댓글로 첨부하여 보내주실 수 있나요?
VoodooI2C 의 Dmesg 부팅 로그는 DebugEnhancer.kext 를 추가하고 다시 부팅해서 터미널에 아래의 명령어를 실행한 결과를 보내주세요.
sudo dmesg | grep -i "Voodoo"
질문글의 사진을 보면 ELAN5515 라는 모델명의 I2C 방식 터치스크린이고
이 터치스크린에 해당하는 장치의 ACPI 절대 경로가 \_SB.PCI0.I2C1.TPL1 인 것으로 보입니다.
또한, 제가 작성한 VoodooI2C 설치 가이드를 참고해보세요.
https://x86.co.kr/info/7011800
I2C 방식의 터치패드와 터치스크린은 VoodooI2C 를 통하여 작동시킬 수 있습니다.
키보드는 PS/2 방식이라면 VoodooPS2Controller.kext 를 사용하면 됩니다.
단, VoodooPS2Controller.kext 의 Plugin 에서 VoodooPS2Keyboard.kext 만 남기고
VoodooInput.kext, VoodooPS2Mouse.kext, VoodooPS2Trackpad.kext 를 삭제해주세요.
또한, EFI 폴더에서 수정이 필요한 부분입니다.
1. Config.plist 의 Kernel - Add 에서 Kext 로드 순서를 Lilu, VirtualSMC, WhateverGreen, AppleALC, SMC Plugins, 나머지 Kext 순서로 다시 정렬해주세요.
추가로, VoodooI2C 관련 Kext 의 로드 순서를 다음과 같이 설정해주세요.
1. VoodooI2C.kext/Contents/PlugIns/VoodooI2CServices.kext
2. VoodooI2C.kext/Contents/PlugIns/VoodooGPIO.kext
3. VoodooI2C.kext/Contents/PlugIns/VoodooInput.kext
4. VoodooI2C.kext
5. VoodooI2CHID.kext
2. VoodooI2C 의 Satellite Kext 는 하나만 사용해야 합니다.
또한, VoodooI2CELAN.kext 는 모델명이 ELAN1200 미만의 구형 프로토콜을 사용하는 ELAN 사의 터치패드에 사용됩니다.
ELAN 사의 터치패드 중에서 ELAN1200 이상인 모델은 VoodooI2CHID.kext 를 사용하는 것이 적합합니다.
그런데, 터치패드가 I2C 방식이 맞는지 확인해 보아야 할 것 같습니다.
태블릿과 도킹하여 사용하는 도킹 키보드라면 터치패드가 I2C 방식이 아닐 수도 있습니다.
터치스크린은 I2C 방식이 맞는 것으로 보이며 VoodooI2C 를 사용하고 ACPI 패치를 적용한다면 터치스크린으로 터치패드 제스처를 사용할 수도 있습니다.