안녕하세요, Ks J입니다.
DSDT패치 삽질을 하면서, 잠자기와 관련하여 맥이 스스로 잠자는 도중에 일어나서 자기 할일 하고
다시 잠자버리는 것 때문에 짜증이나서 이것 저것 패치하다가 알게된 부분을 적어두는 차원에서 글을 작성하게 되었습니다.
현재는 이것 저것 패치를 먹여놔서 그런지 잠을 잘? 자는 것으로 확인이 되었는데,
추가적으로 더 확인해보고 나중에 종지부를 찍어야 할 것 같습니다 ㅎㅎ
각설하고 AppleLPC.kext를 로드시키는 방법에 대해서 적어보려고 합니다.
이 켁스트?는 스피드스텝과 관련한 켁스트라고 알고 있습니다만,
아주 정확하게 어떤 역할을 하는 켁스트인지는 잘 모르겠더군요.
다만, 확실한건 보드에서 지원되는 기본 PCI기능 중 하나이기 때문에 해당 기능이
올바르게 동작하기 위해서는 위 켁스트가 로드되어야 할 필요가 있다는 부분이라는건 확실하다고 말씀드릴 수 있을 것 같습니다.
어쨌거나, 위 켁스트와 함께 HPET, X86Platform 켁스트 들이 올바르게 동작을 하면
대체로 스피드스텝 관련한 부분은 종지부를 찍었다 보아도 될 것 같단 생각입니다.
위 켁스트를 로드시키는 방법은 생각보다? 매우 간단합니다.
맥에서 lspci명령어를 실행하거나 IORegstryExplorer등의 프로그램을 사용하여 LPCB라는 부분의 pci-device값들을 알아내기만 하면 되기 때문입니다.
제가 사용하는 보드에서는 아래와 같이 나왔습니다.
마지막 부분의 8c4a가 가장 중요한 부분이 됩니다.
이 값을 기준으로 하여 AppleLPC.kext -> Contents -> Info.plist로 들어가셔서
해당 값이 적혀있는지를 확인하셔야 합니다.
만약 적혀있지 않다면, 위 값에 대하여 사용중인 해킨토시는 AppleLPC.kext를 로드하지 않기 때문입니다.
따라서 위 값과 가장 유사한 값을 사용하여 강제로 로드시키게끔 해야하며,
이 부분을 위해 dsdt패치가 필요하게 되는 것입니다.
dsdt 패치 코드는 아래와 같습니다.
Device (LPCB)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Name (_ADR, 0x001F0000)
? ? ? ? ? ? ? ? Method (_DSM, 4, NotSerialized)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Store (Package (0x08)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? "device-id",?
? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x04)
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x4B, 0x8C, 0x00, 0x00
? ? ? ? ? ? ? ? ? ? ? ? ? ? },?
? ? ? ? ? ? ? ? ? ? ? ? ? ? "compatible",?
? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,8c4b"
? ? ? ? ? ? ? ? ? ? ? ? ? ? },?
? ? ? ? ? ? ? ? ? ? ? ? ? ? "IOName",?
? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,8c4b"
? ? ? ? ? ? ? ? ? ? ? ? ? ? },?
? ? ? ? ? ? ? ? ? ? ? ? ? ? "name",?
? ? ? ? ? ? ? ? ? ? ? ? ? ? Buffer (0x0D)
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "pci8086,8c4b"
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? }, Local0)
? ? ? ? ? ? ? ? ? ? DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
? ? ? ? ? ? ? ? ? ? Return (Local0)
? ? ? ? ? ? ? ? }
여기서 8c4b에 해당하는 값은,
AppleLPC.kext의 Info.plist에 적혀있는 값인 pci8086,8c4b에 해당하는 값입니다.
이 값이 H87시리즈에 해당하는 LPC 로드 값에 해당되며,
제가 사용중인 보드에서 지원하는 8c4a와 호환되는 값이기에 이 값으로 패치를 진행하게 된 것입니다.
따라서 위 값을 그대로 사용하시면, 시스템상 치명적 오류가 일어날 수 있으니
반드시 사용중인 보드에 해당하는 ISA 브릿지 값을 확인하신 후 AppleLPC.kext의 Info.plist를 여셔서
자신의 브릿이 값과 가장 유사한 값을 찾으셔서 그 값으로 패치를 해주셔야만 합니다.
그리고 그 값으로 패치하실 때에 위 dsdt패치코드에서 8c4b만 지우시고 찾으신 값으로
적어주시면 되며, 적용이 된 _DSM 패치 코드를 자신의 DSDT -> LPCB에 적용시키셔서 패치시켜주신 후
재부팅을 하시면 아래와 같이 정상적으로 로드됨을 확인하실 수 있을 것입니다.
여담으로 SMBUS와 관련한 AppleSMBusPCI.kext를 로드하게끔 하는 dsdt코드는 아래와 같습니다.
Device (BUS0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Name (_CID, "smbus")
? ? ? ? ? ? ? ? Name (_ADR, Zero)
? ? ? ? ? ? ? ? Device (DVL0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Name (_ADR, 0x57)
? ? ? ? ? ? ? ? ? ? Name (_CID, "diagsvault")
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
위 값을 SBUS나 SMBUS형태의 이름을 지닌 곳에 추가하셔서 적용해주신 후
재부팅 하시면 아래와 같이 정상로드됨을 확인하실 수 있을 것입니다.
P.S. 해당 부분에 대한 참고는 뉴해킨님의 글을 참고하였습니다.
읽어주셔서 감사합니다 :)
성공했습니다. 로드 잘되네요~ 그러나 스피드 스텝이 중간이 없어요 ㅠㅠ 8,34,35,36,37,38 나옵니다..ㅠㅠ
Ksj님 글을 보고 AppleLPC.kext 를 로드해보려다 잘 안되어서 댓글 남깁니다.
제가 사용하는 보드는 gigabyte z170-ud5 th 입니다.
IORegistryExplorer 로 LPCB를 확인한 결과 pci8086,a145 이었구요
S/L/E 에서 AppleLPC/info.plist 를 뒤져봐도 제 LPCB 값과 유사한 값이 없었습니다.
dsdt의 LPCB 에 작성해주신 내용은 추가하였습니다만 AppleLPC.kext 가 로드되지 않더군요...
제가 잘못하거나 누락된 부분이 있는지요?
혹시 몰라 dsdt.aml 파일 첨부합니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +29 | 936 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 574 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1400 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 574 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 905 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4002 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5081 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
Hot AMD Sequoia용 AppleALC 1.9.2 +3 | 105 | 24.10.2319:04 | 사노라맨 |
Hot [Sequoia 15.0.1, OC r1.0.2] ASUS TUF B550-PLUS / RYZEN 5 5600X / RX470 +2 | 100 | 24.10.2322:26 | 뿌엥 |
Hot OCLP로 지원되지 않는 기기/dGPU를 사용하는 해킨토시의 사이드카 품질 문제 해결방법 +1 | 113 | 24.10.2321:29 | 해킨도전자 |
100 | 24.10.2322:26 | 뿌엥 | |
113 | 24.10.2321:29 | 해킨도전자 | |
105 | 24.10.2319:04 | 사노라맨 | |
778 | 24.10.1412:27 | shl628 | |
657 | 24.10.1316:00 | 수박 | |
344 | 24.10.1222:56 | Stultus | |
936 | 24.10.1121:10 | 좌절금지 | |
730 | 24.10.1115:53 | 수박 | |
574 | 24.10.0900:22 | 줌바이퍼 | |
1400 | 24.07.1219:19 | Stultus | |
1206 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
749 | 24.09.2923:48 | 머트 | |
628 | 24.09.2822:28 | 머트 | |
463 | 24.09.2808:22 | Tamy | |
892 | 24.09.2321:32 | Stultus | |
994 | 24.09.2210:59 | 좌절금지 | |
642 | 24.09.2203:23 | 누림어멈 | |
1183 | 24.09.1919:17 | 좌절금지 | |
574 | 24.09.1917:09 | 좌절금지 | |
498 | 24.09.1813:37 | Stultus | |
905 | 24.09.1723:58 | 좌절금지 | |
600 | 24.09.1722:40 | 좌절금지 | |
453 | 24.09.1717:13 | 맥가즈아 | |
562 | 24.09.1708:13 | 김경석 | |
234 | 24.09.1617:47 | Panictosh | |
768 | 24.09.1504:35 | Tamy | |
584 | 24.09.1319:18 | Stultus | |
706 | 24.09.1019:44 | 치토 | |
484 | 24.09.0118:13 | 머핀X | |
460 | 24.09.0112:54 | 해킨도전자 | |
546 | 24.08.3115:34 | 머핀X | |
306 | 24.08.2601:42 | 화정큐삼 | |
305 | 24.08.2422:59 | 하나브 | |
318 | 24.08.2316:25 | 화정큐삼 | |
415 | 24.08.1810:56 | CanBe | |
363 | 24.08.1800:04 | 화정큐삼 | |
300 | 24.08.1722:03 | 화정큐삼 | |
201 | 24.08.1710:14 | jbhlyk | |
312 | 24.08.1622:06 | Stultus | |
218 | 24.08.1511:16 | hackillious | |
169 | 24.08.1421:30 | 세유니 | |
419 | 24.08.1419:58 | Stultus | |
377 | 24.08.1311:26 | 오디세이 | |
270 | 24.08.1115:46 | 좌절금지 | |
186 | 24.08.1111:21 | 티타보르 | |
233 | 24.08.1022:46 | Stultus | |
536 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |