질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | ventura |
공지숙지/증상설명 | 숙지 |
*적용중인 도장
저번에 했다가 실패한후 도전을 안하다가 학교 방학과 같이 재도전을 하였습니다.
뭔가 된거 같이 느껴졌지만 터치패드는 작동을 안하네요...
Timestamp (process)[PID]
2023-01-05 13:31:45.674038+0900 localhost kernel[0]: (IOHIDFamily) VoodooI2CPrecisionTouchpadHIDEventDriver:0x1000003eb start
2023-01-05 13:31:45.675486+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputSimulatorDevice:0x1000003f1 start
2023-01-05 13:31:45.706564+0900 localhost kernel[0]: (IOHIDFamily) open by VoodooI2CPrecisionTouchpadHIDEventDriver 0x1000003eb (0x0)
2023-01-05 13:31:45.708740+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputActuatorDevice:0x1000003f4 start
2023-01-05 13:32:00.482347+0900 localhost kernel[0]: (IOHIDFamily) VoodooI2CHIDDevice:0x1000003bb Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2023-01-05 13:32:00.482357+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputSimulatorDevice:0x1000003f1 Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2023-01-05 13:32:00.670763+0900 localhost kernel[0]: (IOHIDFamily) VoodooI2CHIDDevice:0x1000003bb Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2023-01-05 13:32:00.686553+0900 localhost kernel[0]: (IOHIDFamily) VoodooInputSimulatorDevice:0x1000003f1 Matching has vendor DeviceUsagePage : ff0c bundleIdentifier com.apple.AppleUserHIDDrivers ioclass AppleUserHIDEventService but transport and vendorID is missing
2023-01-05 13:38:25.197183+0900 localhost log[892]: [com.apple.log:] log run noninteractively, parent: 891 (maclog), args: '/usr/bin/log' 'show' '--predicate' '(process == "kernel" OR eventMessage CONTAINS[c] "kernel") AND eventMessage CONTAINS[c] "voodoo"' '--style' 'syslog' '--source' '--info' '--start' '2023-1-5 13:31:3
VoodooI2C 로그이며 GenI2C의 화면은 이렇습니다.
언뜻보기엔 잡힌듯 싶지만 터치패드를 아무리 쳐봐도 안 움직이는 커서....
왜 그럴까요..?
혹시 몰라
sudo dmesg | grep -i "Voodoo"
실행하였더니
[ 385.749590]: VoodooInputSimulatorDevice:0x1000003f1 new user client
[ 685.757907]: 1 duplicate report for Sandbox: translationd(944) deny(1) system-socket domain:32 type:2 protocol:2Sandbox: contextstored(161) deny(1) mach-lookup com.apple.biome.compute.source.userVoodooInputSimulatorDevice:0x1000003f1 new user client
이렇게 나오네요...
IORegisteryExplorer 파일도 올려봅니다.
https://drive.google.com/file/d/16eb2xow59SI1k8wUmpw2C-fQHOs98JpO/view?usp=sharing
EFI.zip EFI도 도움이 되실까 하고 올려둡니다.
GPI0 활성화 가이드를 보는데 GPI0.aml 넣으면 활성화가 된다는 건지 뭔지 이해가 안되네요 ㅇㅅㅇ
GPIO Controller (GPI0 Device) 는 SSDT-SPTP.aml 에서
GPHD 변수에 Zero 값을 할당하도록 되어 있으므로 이미 활성화되어 있는 상태입니다.
IOReg 에서도 GPI0 Device 의 _STA 는 0xF 로 활성화되어 있으며 하위에 VoodooGPIOCannonLakeLP 도 로드되어 있습니다.
혹시, Polling 모드로는 터치패드가 잘 작동하나요?
boot-args에 명령어로 polling모드로 동작하게 하는 법을 사용했었습니다. 잘 동작했지만 괜히 GPI0 방식을 하고 싶어서 해제후 시도 중입니다.
윈맥크로님의 삼성 노트북의 SPTP 터치패드 장치의 APIC Pin 의 값은 0x33 이며
이를 GPIO Pin 으로 변환하여 사용해 볼 수 있는 값은 0x23 과 0x83 두 개입니다.
그런데, 현재 0x23 이 작동하지 않으므로 SBFG 의 Pin List 값을 직접 0x83 으로 지정해 보겠습니다.
제가 SSDT-SPTP.aml 을 아래의 사진과 같이 수정하였습니다.
SBFX 라는 GPIO Pin 에 해당하는 Resource Template 를 생성하고 Pin List 의 값을 0x83 으로 지정한 후에
SPTP Device 의 _CRS Method 에서 ConcatenateResTemplate (SBFS, SBFX) 를 Return 하도록 하였습니다.
아래에 첨부한 SSDT-SPTP.aml 로 교체해주세요.
그리고, Config.plist 의 ACPI - Patch 에 다음과 같이 Rename _CRS to XCRS 패치를 추가해주세요.
Base : \_SB.PCI0.I2C0.SPTP
TableSignature : DSDT
Find : 5F435253
Replace : 58435253
Comment : Rename _CRS to XCRS in SPTP Device
혹시, GenI2C 앱이나 IOReg 에서 SPTP Device 의 GPIO Pin 이 0x83 으로 뜨나요?
boot-args 에 -vi2c-no-alt-interrupts 부트 옵션을 추가하고 다시 부팅해서 GPIO Pin 이 0x83 으로 적용되는지 확인해주실 수 있나요?
그렇게 하였더니 GPI0 pin값은 0x23으로 변하지 않고 오히려 이름이 다시 ELAN0B00으로 바뀌어 버리네요.
기존의 SPTP 를 비활성화하고 SPTX 라는 새로운 터치패드 Device 를 추가하는 방식으로 패치하였습니다.
-vi2c-no-alt-interrupts 부트 옵션을 삭제하고
아래에 첨부한 SSDT-SPTP.aml 로 교체하고 Rename _CRS to XCRS 패치는 비활성화하고 다시 부팅해보세요.
적용하였더니 GenI2C와 IOreg에서 GPI0 pin의 값이 0x83으로 변경되었지만 이름이 ELAN0B00으로 유지되고 있습니다.
현재 상태에서 SSDT-SPTP.aml 을 열고 TPTY 의 값을 0x03 으로 수정하고 다시 부팅해보고
혹시, 안 된다면 0x04 로 수정하고 다시 부팅해보세요.
만약, 그래도 안 된다면 죄송하지만 저도 잘 모르겠습니다. ㅜㅅㅠ
계속 안되던 이유를 알아냈네요.
맥에서만 그러던게 아니라 읜도우조차 터치패드를 elan0b00으로 인식하고 있었습니다.
삼성 측에서 삼성 노트북 BIOS 펌웨어의 ACPI 코드를 개발할 때
I2C 터치패드인 SPTP Device 의 _HID 값을 제대로 확인하지 않고 짠 것 같아요.
하지만, 저의 생각으로는 터치패드가 작동하지 않는 문제와 터치패드의 모델명과는 관련이 없어 보입니다.
저의 삼성 갤럭시북 NT750XDA-KF59U 노트북도 Windows 에서 I2C 터치패드의 모델명이 ELAN0B00 으로 표시됩니다.
exacore39 님의 삼성 NT350XCR-AD5AS 노트북은 I2C 터치패드의 모델명이 ZNT0001 로 뜨지만
Interrupt (GPIO) 모드로 작동시켜서 사용한 사례가 있습니다.
[Monterey 12.5/OC 0.8.3] 삼성 노트북 NT350XCR-AD5AS, i5-10210U, UHD620 설치후기 (x86.co.kr)
저는 lg 노트북에서 같은 증상으로 고생하다가 voodoops2controller 로 터치패드 활성화해서 쓰고있습니다.
안녕하세요. :)
혹시나 아래의 설정을 변경하면 Interrupt (GPIO) 모드로 작동이 될 수도 있을 것 같아서 댓글을 남기게 되었습니다.
BIOS 설정에서 Force unlock on all GPIO pads 를 Enabled 로 설정해보세요.
단, 삼성 노트북이라서 거의 대부분의 BIOS 설정 항목이 숨겨져 있어서 BIOS 를 덤프해야 합니다.
아래의 사이트에서 질문자님의 노트북 사양에 해당하는 Intel ME System Tools 를 다운로드하고
https://github.com/mostav02/Remove_IntelME_FPT/tree/master/Intel_ME_System_Tools
명령 프롬프트(CMD) 로 Intel Flash Programming Tool (FPTW64.exe) 을 아래의 명령어로 실행하면
FPTW64.exe -bios -d bios_backup.bin
질문자님의 노트북의 BIOS 롬파일이 추출되어 저장됩니다.
이제, 이 파일로 UEFITool 과 IFR Extractor 를 사용해서 UEFI BIOS Setup Text 파일로 변환하고
제가 최근에 작성한 RU.efi 관련 강좌글을 참고하여 Force unlock on all GPIO pads 를 Enabled 로 설정해보세요.
물론, 그냥 Polling 모드를 사용하실 것이라면 제 댓글은 무시하셔도 됩니다.
단, 위의 내용을 시도해 보실 예정이라면 RU.efi 를 사용할 때 주의하여 사용해주세요.
나중에 시도해보는걸로 하고 최근에 genI2C 앱에서 트랙패드 정보가 안뜨는데 왜 그런걸까요?(앱에서 제일 오른쪽 탭을 누르면 초록색,빨간색 떠야하는걸로 아는데 저는 안뜨네요)
Intel 8th Gen Whiskey Lake 는 300 Series Chipsets 을 사용하므로 v12 버전을 사용하면 됩니다.
BIOS 덤프 파일을 UEFITool 로 열고 Setup 관련 파일 추출한 후에 그 파일로 하신 것 맞나요?
UEFITool로 열고 저장하면 Image_UEFI_UEFI_image.rom라는 파일이 저장되는데 제가 잘못한건가요?
FPTW64.exe 로 덤프한 BIOS 롬파일을 댓글로 첨부하여 보내주세요.
제가 한 번 해 보겠습니다.
UEFITool 에서 변경하려는 설정이 있는 항목을 마우스 우클릭하고
Extract body 를 선택하여 .efi 파일로 저장해야 합니다.
질문자님의 노트북의 BIOS 롬파일에서 추출한 BIOS 설정 IFR Extract Text 파일입니다.
Force unlock on all GPIO pads 설정의 Offset 주소는 0xB4C 이고 값을 0x1 로 변경하면 됩니다.
VarStore 는 0x1 이며 메뉴 이름은 그냥 Setup 입니다.
네, RU.efi 를 사용하시는 것이라면 Setup 메뉴에서 Offset 0xB4C 에 해당하는 값을 01 로 수정하면 됩니다.
https://drive.google.com/file/d/1dZPC8qs8fuxKOrvxzgLIbJJzlFE-1rDa/view?usp=sharing
현재 EFI입니다. VoodooI2CHID.kext를 넣었는데 왜 그런가요..
(혹시 이것도 답해주실수 있으시면....로그인창에서 영어가 아니라 한국어가 쳐지는 문제는 뭘까요..)
어찌어찌해서 로드를 시켰는데 빨간불이 들어오네요....
Timestamp (process)[PID] 2023-02-03 21:08:53.987778+0900 localhost log[872]: [com.apple.log:] log run noninteractively, parent: 871 (maclog), args: '/usr/bin/log' 'show' '--predicate' '(process == "kernel" OR eventMessage CONTAINS[c] "kernel") AND eventMessage CONTAINS[c] "voodoo"' '--style' 'syslog' '--source' '--info' '--start' '2023-2-3 21:5:20
GenI2C앱에서 본 로그는 이러합니다...
예전에 오래된 구버전의 VoodooI2C 를 사용할 때에는 /S/L/E 에 있는 Apple 의 I2C 관련 Kext 가
터치패드에 먼저 로드되어 버려서 터치패드 장치에 VoodooI2C 관련 Kext 가 로드되지 않는 문제가 있어서
AppleIntelLpssI2C.kext & AppleIntelLpssI2CController.kext 가 로드되지 않도록 패치하거나 삭제를 했었는데
VoodooI2C v2.3 버전부터는 해당 패치가 필요하지 않습니다.
GenI2C 앱이 예전에 개발이 중단된 이후로 업데이트가 이루어지지 않아서 발생한 단순한 버그인 것으로 보입니다.
IOReg 에서 터치패드 관련 장치에 AppleIntelLpssI2C 관련 Kext 가 로드되어 있지 않으면 저 빨간색 불은 그냥 무시하면 됩니다.
그리고, VoodooI2C 의 로그를 확인할 때에는 DebugEnhancer.kext 를 로드한 상태에서 Dmesg 부팅 로그를 확인해야 합니다.
저 로그는 VoodooI2C 의 문제 해결과는 관련이 없습니다.
debugenchaner.kext를 적용시키면 dmesg 부팅로그가 생기는 건가여?
-v 부트 옵션을 적용하고 macOS 를 부팅할 때 XNU/Darwin 커널 단계에서 많은 로그가 주르륵 내려가는데
이 때의 로그가 Dmesg 로그이고 터미널에서 아래의 명령어를 입력하여 VoodooI2C 의 Dmesg 로그를 확인해야 합니다.
sudo dmesg | grep -i "Voodoo"
그런데, DebugEnchaner.kext 를 넣지 않으면 VoodooI2C 의 Dmesg 로그가 안 보입니다.
그래서, DebugEnchaner.kext 를 적용하는 것입니다.
[ 0.913294]: VoodooGPIOCannonLakeLP::Loading GPIO Data for CannonLake-LP [ 0.913304]: VoodooGPIOCannonLakeLP::VoodooGPIO Init! [ 0.913306]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 0 [ 0.913362]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 1 [ 0.913414]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 2 [ 0.913524]: VoodooGPIOCannonLakeLP::GPIO Controller is already awake! Not reinitializing. [ 0.958222]: VoodooI2CPCIController::pci8086,9de8 Starting I2C controller [ 0.958254]: VoodooI2CPCIController::pci8086,9de8 Set PCI power state D0 [ 0.958742]: VoodooI2CPCIController::pci8086,9de8 Publishing nub [ 0.958813]: VoodooI2CControllerDriver::pci8086,9de8 Probing controller [ 0.958820]: VoodooI2CControllerDriver::pci8086,9de8 Found valid Synopsys component, continuing with initialisation [ 0.959077]: VoodooI2CControllerDriver::pci8086,9de8 Got bus configuration values [ 0.959170]: VoodooI2CControllerDriver::pci8086,9de8 Publishing device nubsd
이런 로그가 보이는데 GenI2C에서 왜 사양정보가 다시 안뜨는걸까요..?
1. VoodooI2CHID.kext 도 추가하여 로드하셨나요?
2. GPIO Controller (GPI0 Device)는 활성화하셨나요?
3. Interrupt (GPIO) 모드로 작동하도록 SPTP Device 의 _CRS Method 는 패치하셨나요?
바이오스에서 TouchpadMouse , Touchpad S3 wake up 을 허용을 해줬더니
로그가 바뀌었습니다만 작동은 안하네요..
[ 0.923164]: VoodooGPIOCannonLakeLP::Loading GPIO Data for CannonLake-LP [ 0.923178]: VoodooGPIOCannonLakeLP::VoodooGPIO Init! [ 0.923181]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 0 [ 0.923229]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 1 [ 0.923264]: VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 2 [ 0.923374]: VoodooGPIOCannonLakeLP::GPIO Controller is already awake! Not reinitializing. [ 0.973604]: VoodooI2CPCIController::pci8086,9de8 Starting I2C controller [ 0.973640]: VoodooI2CPCIController::pci8086,9de8 Set PCI power state D0 [ 0.973680]: VoodooI2CPCIController::pci8086,9de8 Publishing nub [ 0.974407]: VoodooI2CControllerDriver::pci8086,9de8 Probing controller [ 0.974438]: VoodooI2CControllerDriver::pci8086,9de8 Found valid Synopsys component, continuing with initialisation [ 0.974689]: VoodooI2CControllerDriver::pci8086,9de8 Got bus configuration values [ 0.975021]: VoodooI2CControllerDriver::pci8086,9de8 Publishing device nubs [ 0.975028]: VoodooI2CControllerDriver::pci8086,9de8 Found I2C device: ATML3000 [ 0.975150]: VoodooI2CDeviceNub::SPTP Found valid resources from _CRS method [ 0.976522]: AppleFDEKeyStore::parseBootData: setKey(aks_kek_uuid) stash returned 0xe00002c2VoodooI2CDeviceNub::SPTP Found valid resources from _DSM or XDSM method [ 0.976998]: VoodooI2CDeviceNub::SPTP Prefer resources from _DSM or XDSM method [ 0.977254]: VoodooI2CDeviceNub::SPTP Found valid GPIO interrupts [ 0.977551]: VoodooI2CDeviceNub::SPTP Got GPIO Controller! VoodooGPIOCannonLakeLP [ 1.478554]: VoodooI2CControllerDriver::pci8086,9de8 Found I2C device: ATML2000 [ 1.478607]: VoodooI2CDeviceNub::ATFU Could not find or evaluate _CRS method [ 1.478676]: VoodooI2CDeviceNub::ATFU Could not find suitable _DSM or XDSM method [ 1.478683]: VoodooI2CDeviceNub::ATFU Could not retrieve resources from _DSM or XDSM method [ 1.478690]: VoodooI2CDeviceNub::ATFU Could not find an I2C Serial Bus declaration [ 1.478696]: VoodooI2CControllerDriver::ATFU Could not get device resources [ 1.478711]: VoodooI2CControllerDriver::pci8086,9de8 Could not initialise nub for ATML2000 [ 1.480595]: VoodooI2CControllerDriver::pci8086,9de8 I2C Transaction error details [ 1.480608]: VoodooI2CControllerDriver::pci8086,9de8 slave address not acknowledged (7bit mode) [ 1.480616]: VoodooI2CControllerDriver::pci8086,9de8 I2C Transaction error: 0x08800001 - aborting [ 1.480625]: VoodooI2CHIDDevice::ATML3000 Request for HID descriptor failed [ 1.480632]: VoodooI2CHIDDevice::ATML3000 Could not get HID descriptor
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +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 | 127 | 24.10.2308:19 | 미찌콘 |
Hot 램 증설.. 그리고 자꾸 재부팅되는 PC.. +8 | 60 | 24.10.2513:02 | 김밉상 |
45 | 24.10.2513:28 | 희밍현수님 | |
60 | 24.10.2513:02 | 김밉상 | |
39 | 24.10.2421:15 | 활주로임 | |
49 | 24.10.2322:21 | 활주로임 | |
65 | 24.10.2318:25 | 헷인토시 | |
58 | 24.10.2317:01 | 활주로임 | |
95 | 24.10.2315:51 | 배고픈사람 | |
127 | 24.10.2308:19 | 미찌콘 | |
106 | 24.10.2213:48 | 아킬리오 | |
90 | 24.10.2210:36 | MCMC | |
63 | 24.10.2200:57 | 헷인토시 | |
169 | 24.10.2123:22 | 마요네즈 | |
1157 | 24.10.1914:54 | 활주로임 | |
194 | 24.10.2017:21 | RTings | |
1055 | 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 | |
1319 | 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 | 애플맨 | |
1316 | 24.10.0810:58 | soullees | |
117 | 24.10.0723:26 | 오십견 | |
1235 | 24.10.0723:14 | Steer | |
118 | 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 | |
394 | 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 | 루마루 |
SSDT-SPTP.aml 의 내용을 보면 Scope (\_SB.PCI0.I2C0) 에 Name (USTP, One) 가 정의되어 있기 때문에
Scope (\_SB.PCI0.I2C0) 으로 수정한 SSDT-I2C1_USTP.aml 파일은 필요하지 않습니다.
터치패드의 IOName 이 ELAN0B00 으로 인식되는데 이는 TPTY 의 값이 One 이라는 것을 의미합니다.
또한, 삼성 노트북 모델마다 ACPI 내용이 조금 다르지만 ATFU Device 가 존재하는 모델도 있고 그렇지 않은 모델도 있는데
원맥크로님의 EFI 폴더에 있는 DSDT.aml 을 확인해보면 ATFU Device 가 존재합니다.
터치패드와 관련이 있는 것으로 보여서 ATFU Device 의 _STA Method 도 활성화되도록 TPTY 에 0x03 값을 할당해 보겠습니다.
그러면, SSDT-SPTP.aml 의 내용은 아래의 사진과 같이 수정하면 됩니다.
제가 수정하여 첨부한 SSDT-SPTP.aml 을 사용해도 됩니다.
SSDT-SPTP.aml.zip