질문 NT900X5N-X58 인텔 랜(AC8265)와 블루투스 잡기 실패
- 삼협회
- 3282
- 22
삼협회님의 기기정보
질문용 시스템 사양 | 2번 |
---|---|
추가사양 및 설치(할)OS | Monterey |
공지숙지/증상설명 | 숙지 |
삼협회
댓글 22
OpenCore 부트로더는 Kext 를 Kexts 폴더에 넣고 Config.plist 의 Kernel - Add 에도 정의해줘야 합니다.
OpenCore Configurator 를 사용한다면 Kext 파일을 Kernel - Add 란에 드래그하면 자동으로 Kext 정보가 입력됩니다.
그리고, 혹시 AirportItlwm 과 Intel Bluetooth Kext 의 설치 방법은 확인해 보셨나요?
AirportItlwm 은 itlwm 설치 과정에서 아래의 5가지 중 하나를 추가로 선택하여 진행해야 합니다.
https://openintelwireless.github.io/itlwm/Installation.html#airportitlwm
일반적으로 SecureBootModel 을 Default 로 설정하는 첫 번째 방식을 주로 이용합니다.
Misc - Security - SecureBootModel 을 Default 로 설정하면 됩니다.
Intel 블루트스도 macOS 버전별로 설치해야 하는 Kext 조합이 다릅니다.
https://openintelwireless.github.io/IntelBluetoothFirmware/FAQ.html#intelbluetoothinjector
macOS Monterey 12.x 버전부터는 IntelBluetoothInjector.kext 를 사용하지 않아야 하며
삭제하거나 MaxKernel 항목에 20.99.99 를 입력하여 macOS Monterey 12.x 버전에서는 로드되지 않도록 해주세요.
또한, BlueToolFixup.kext 가 넣어져 있지 않습니다.
아래의 BrcmPatchRAM 공식 GitHub 사이트에서 다운로드하면 BlueToolFixup.kext 가 포함되어 있을 것입니다.
BlueToolFixup.kext 만 가져와서 추가해 주세요.
Kext 로드 순서는 아래의 사진과 같이 설정해주세요.
추가로, 블루투스는 USB Port Mapping 작업을 진행해야 합니다.
블루투스 컨트롤러와 연결된 USB Port 의 커넥터를 Internal (255) 로 설정해야 합니다.
위의 댓글에서 BrcmPatchRAM 공식 GitHub 사이트의 링크를 넣는 것을 깜빡해서 링크를 드립니다.
https://github.com/acidanthera/BrcmPatchRAM
추가로, USB Port Mapping 작업을 진행하여 생성된 USB Port Map Kext 를 적용한 후에는 USBInjectAll.kext 를 삭제해주세요.
1. USB Port Mapping 작업을 안 해도 블루투스가 작동할 수는 있지만 저는 진행하는 것을 권장합니다.
USB Port Mapping 작업을 진행하지 않으면 USB 3.x 의 최대 전송 속도가 제대로 나오지 않을 수 있으며
잠자기 & 깨우기가 작동하지 않을 수도 있습니다.
2. 5GHz Wi-Fi 연결은 저도 잘 모르겠습니다.
로그를 출력하고 itlwm 공식 GitHub 측에 로그와 여러 가지 요구하는 정보를 같이 제공하여 문의해보세요.
혹시, 시스템 환경설정에서 노트북 내장 디스플레이의 밝기 조절 슬라이드바는 잘 작동되나요?
macOS Catalina 10.15 버전부터는 ACPI 상에서 ALS (광/조도 센서) 장치가 존재하지 않으면 내장 디스플레이의 밝기 조절이 작동하지 않습니다.
이의 경우에는 SSDT-ALS0.aml 을 추가하면 됩니다.
또한, 밝기 조절 Fn 키는 BrightnessKeys.kext 를 사용하거나
직접 DSDT 에서 밝기 조절 Fn 키를 담당하는 EC Query Method 를 패치해야 합니다.
삼성 노트북이라면 밝기 조절 Fn 키를 담당하는 EC Query 는 거의 대부분 _Q63 & _Q64 Method 입니다.
배터리 패치는 DSDT 를 추출하고 DSDT 에 배터리 패치를 먼저 완료한 후에
배터리 패치된 DSDT.aml 을 ACPI 폴더와 ACPI - Add 의 맨 첫 번째 순서에 넣고 다시 부팅해서 배터리 잔량이 정상적으로 표시되는지 확인해보세요.
배터리 잔량이 정상적으로 표시된다면 배터리 패치된 DSDT 를 가지고 Hot Patch & Override 방식의 SSDT 패치로 만들 수 있습니다.
단, Hot Patch & Override 방식의 배터리 패치 SSDT 를 만드는 작업은 난이도가 조금 많이 어려울 수 있지만
혹시, 도움이 필요하시다면 도와 드리겠습니다. :)
노트북 내장 키보드는 VoodooPS2Controller.kext 의 Plugin 으로 포함되어 있는 VoodooPS2Keyboard.kext 만 사용하면 됩니다.
질문자님의 노트북의 터치패드가 I2C 방식이라면 VoodooPS2Controller.kext 의 Plugin 중에서
VoodooPS2Keyboard.kext 만 남기고 아래의 3개는 삭제해주세요.
- VoodooInput.kext
- VoodooPS2Mouse.kext
- VoodooPS2Trackpad.kext
VoodooPS2Controller.kext 마우스 우클릭하고 패키지 내용 보기를 누르고 들어가서 위의 플러그인 3개를 삭제하고
Config.plist 의 Kernel - Add 에서도 삭제해주세요.
또한, VoodooI2C 와 VoodooPS2 의 로드 순서는 아래의 사진과 같이 설정해주세요.
그리고, 질문자님의 삼성 노트북 모델이라면 모델명이 SYN2602 로 뜨지만
실제로는 Atmel 사의 터치패드일 확률이 높습니다.
예전에 제가 삼성 노트북의 터치패드 관련 드라이버 설치 파일을 뜯어본 적이 있었는데 Atmel 사의 터치패드였습니다.
DSDT 상에서 SPTP Device 의 _HID 값이 삼성 노트북 모델마다 조금씩 다르게 할당되는 것 같아요.
ATML3000 이라고 뜨는 삼성 노트북도 있고 ELAN0B00 / SYN2602 / ZNT0001 이라고 뜨는 노트북도 있습니다.
즉, 모델명이 SYN2602 로 표시된다고 해서 VoodooI2C 의 Satellite Kext 를
VoodooI2CSynaptics.kext 나 VoodooRMI.kext 를 사용하는 것은 적합하지 않습니다.
삼성 노트북의 I2C 터치패드 장치인 SPTP Device 는 VoodooI2CHID.kext 를 사용하는 것이 적합합니다.
DSDT 패치의 필요 여부는 질문자님의 삼성 노트북의 I2C 터치패드를
Interrupt (GPIO or APIC) 모드와 Polling 모드 둘 중 어떤 모드로 작동시킬지에 따라서 달라집니다.
우선, Kext 로드 순서를 위의 사진처럼 설정하고
Config.plist 에 -vi2c-force-polling 부트 옵션을 추가하고 다시 부팅해서
Polling 모드로 터치패드가 작동하는지 확인해보세요.
참고 사항으로, Polling 모드는 Interrupt (GPIO or APIC) 모드보다
상대적으로 효율이 낮고 전력 소모율이 조금 더 높습니다.
혹시, Polling 모드로 터치패드는 잘 작동되나요?
추가로, 혹시 현재 사용중인 EFI 폴더와 추출한 DSDT.aml 을 댓글로 첨부하여 보내주시면
제가 Interrupt (GPIO) 모드로 작동시키는데 필요한 ACPI 패치를 확인해 보겠습니다.
Config.plist 의 NVRAM - Add - 7C436110-AB2A-4BBB-A880-FE41995C9F82 에서 boot-args 에 입력하면 됩니다.
또한, 앞에 하이픈 - 을 붙여서 -vi2c-force-polling 으로 입력해야 합니다.
Config.plist 어제 리얼맥을 사서 세팅하느라 해킨을 못했네요..ㅜ 지금 하는중인데 polling모드로도 작동이 안됩니다ㅜㅜ혹시나해서 config.plist(efi폴더는 압축했는데도 용량때문에 첨부가 안되네요ㅜ) 첨부해봅니다
아래의 항목을 댓글로 첨부하여 보내주세요.
1. 추출한 IOReg 덤프
2. GenI2C 앱의 Information 화면 스크린샷
3. DebugEnhancer.kext 를 추가하고 다시 부팅한 후에 터미널에서 아래의 명령어를 실행한 결과
sudo dmesg | grep -i "Voodoo"
Config.plist 의 부트 옵션을 확인해보니 debug=0x100-vi2c-force-polling 2개의 부트 옵션이 붙어 있습니다.
각각의 부트 옵션은 공백(띄어쓰기)으로 구분해야 합니다.
debug=0x100-vi2c-force-polling 를
debug=0x100 -vi2c-force-polling 로 수정해야 합니다.
debug=0x100-vi2c-force-polling 로 입력하면 이를 하나의 부트 옵션으로 인식하며 이는 옳지 않은 부트 옵션입니다.
그리고, VoodooI2CFTE.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
추가로, Kernel - Add 에서 불필요한 Kext 가 너무 많이 추가되어 있습니다.