먼저 KsJ님께 감사의 말씀을 드립니다.
[글을 처음부터 다시 쓰게 되어서 내용이 약간 바뀐 점 양해바랍니다.]
기본적으로 스피드스텝 확인용으로 AppleInteinfo.kext 등을 이용해여 터미널에서 8~38까지 배수가 촘촘히 나오는지 확인만 하는 단계였습니다.
저 또한, 이런 방식으로 스피드스텝이 잡혔다고 생각했으나 인텔 파워 가젯을 통해 스피드스텝이 잡히지 않음을 알 수 있었습니다.
P-states에서 배수는 전부 나왔지만, 인텔 파워 가젯에서 CPU 프리퀀시는 3.0 아래로 내려온 적이 없었습니다. 아무것도 안하는데 CPU에 과부하가 걸리는 것이나 다름없으므로 실질적으로는 스피드스텝이 잡히지 않은 것입니다.
따라서 이런 이상현상을 고쳐주기 위해 별도의 kext를 로드시켜주어야 합니다. 여기서 말하는 kext는 AppleLPC.kext와 ACPI_SMC_PlatformPlugin.kext 입니다.
그리고 이 과정에서 두 가지의 선택지가 있습니다.
하나는 dsdt를 통해 DTGP 문구를 추가하여 패치하는 방법입니다.
다른 하나는 FakeSMC.kext에 패치하여 로드하는 방법입니다.
[로드 방법에 앞서 결과론적 이야기부터 말씀드립니다.]
지금도 커스텀맥 초보이지만, 옛날에는 더 초보였습니다. 그 때는 가끔 커스텀맥 로딩 게이지가 느리게 올라갈 때가 있음을 느꼈는데, 정확한 이유를 판단하지 못하였습니다. 다만 스피드스텝 패치 이후에 자주 발생하였던 문제로 항상 의심을 하고 있었습니다.
하지만, 로딩 속도에 영향을 주는 kext가 존재하였습니다. 바로 ACPI_SMC_PlatformPlugin.kext 이 녀석입니다.
내용추가: 만약 AppleLPC.kext 로드만으로 스피드 스텝이 잡힌다면 ACPI_SMC_PlatformPlugin.kext는 패치하지 않으셔도 됩니다. 로딩속도만 늦어집니다.
AppleLPC.kext만을 로딩하면 인텔 파워 가젯에서 0.8GHz 이상의 모든 프리퀀시가 표시됩니다.
그러나 AppleInteinfo.kext를 이용하여 P-states 배수를 찍어보면 8, 20, 21, 22 - 중간에 비는 배수가 너무 많게 됩니다.
SSDT에 수동으로 TDP를 패치하여도 결과는 똑같습니다. ACPI_SMC_PlatformPlugin.kext 로드가 안되었기 때문에, 병목현상이라 말할 수 있겠습니다.
ACPI_SMC_PlatformPlugin.kext를 로드하면 맥의 부팅속도가 약간 느려집니다. 즉, 게이지가 차는 속도가 중간 부분에서 약간 더딘다고 하는게 맞겠습니다.
리얼맥을 쓰시면 아시겠지만, 리얼맥의 게이지 차는 속도도 중간 부분에서 약간 더딥니다. 제가 사용하는 맥프레 15년형 13인치에서는 ACPI_SMC_PlatformPlugin.kext 대신에 X86 시리즈 kext를 로드하는 차이만 있을 뿐
실제로, IOResistryExplorer로 보면 AppleACPICPU 하위 디렉토리에 ACPI_SMC_PlatformPlugin.kext 혹은 X86시리즈 kext가 로드되는 사실을 확인할 수 있었습니다.
- 전력 공급에 한계가 있는 맥북과 고성능을 중요시 하는 맥프로를 비교해봤을 때,
- 그리고 ACPI_SMC_PlatformPlugin.kext 가 맥프로에서 사용되는 사실로 미루어 볼 때
사실상 CPU의 전력관리를 하는 부분에 있어서는 ACPI_SMC_PlatformPlugin.kext 와 같은 역할을 하기 때문에 일맥상통합니다.
패치 이후에 1~2초 부팅속도가 늦어진다고 해도 원래 당연히 로드되어야 할 kext가 그간 로드되지 않았기 때문에
바람직한 패치로 봐주시면 감사하겠습니다.
[AppleLPC.kext, ACPI_SMC_PlatformPlugin.kext 를 로드하는 방법]
1. AppleLPC.kext를 로드하기 위한 방법으로 먼저, IOResistryExplorer로 LPCB를 찾아야 합니다.
Property: Name에서 pcixxxx,xxxx를 확인할 수 있습니다. 저는 pci8086,8c50 이군요.
이 값에 따라서 자동적으로 AppleLPC.kext가 로드가 될 수도 있고, 그렇지 않을 수도 있습니다.
만약 AppleLPC.kext가 로드되어 있는 분이라면 잠시 뒤에 설명할 ACPI_SMC_PlatformPlugin.kext 로드만 해주시면 되겠습니다.
2. /S/L/E로 이동을 합니다. 먼저 AppleLPC.kext를 찾아보겠습니다.
kext 내부에 있는 info.plist를 불러온 후 아래와 같은 IOKitPersonalities - AppleLPC - IONameMatch로 이동하면 아래와 같이 확인할 수 있습니다.
여기서 0~19까지 다양한 Name이 있습니다. 1번에서 우리가 확인했던 값과 일치를 하지 않으면 AppleLPC.kext가 로드되지 않습니다.
IONameMatch를 제외한 나머지 정보는 필요하므로 info.plist 내부에 있는 AppleLPC를 복사하겠습니다. kext가 아니라 plist내부에 있는 구문을 의미합니다.
3. /E/E/clover/kexts/10.11/FakeSMC.kext로 이동을 합니다. kext 내부에 있는 info.plist를 열어줍니다.
별도로 FakeSMC.kext에 작업을 하지 않았다면 IOKitPersonalities 하위 디렉토리에 AppleLPC 관련 구문이 없습니다.
따라서 하위 디렉토리에 2번에서 방금 복사하였던 구문들을 넣어줍니다.
단, IONameMatch에서 0~19번의 pci값들은 전부 지우고, 1번에서 확인한 본인의 pcixxxx,xxxx값을 넣어주어야 합니다.
4. ACPI_SMC_PlatformPlugin.kext를 로드하기 위해 /S/L/E/IOPlatformplugin.kext/Contents/Plugins/ACPI_SMC_PlatformPlugin.kext로 이동합니다. kext 내부에 있는 info.plist를 불러옵니다.
2번과 같은 방법으로 IOKitPersonalities 하위에 있는 ACPI_SMC_PlatformPlugin 관련 구문들을 전부 복사합니다.
이후에 3번과 같은 방법으로 FakeSMC.kext 내부에 있는 info.plist에 복사한 정보를 붙여넣기 합니다.
성공적으로 패치한 FakeSMC.kext 내부의 info.plist는 다음과 같이 변형됩니다.
[AppleLPC.kext, ACPI_SMC_PlatformPlugin.kext 로드 파악 여부]
재부팅 이후에, 확장파일에서 로드여부를 확인할 수 있습니다.
또한, 시스템 환경설정 - 에너지 절약 탭에서 컴퓨터 잠자기 메뉴바가 자동적으로 생성됩니다.
[파워냅과 관련한 정보]
아이뱅크님의 댓글을 보고 추가적인 내용을 작성합니다.
파워냅 기능을 사용하기 위해서는 AppleLPC.kext가 로드된 상황에서 X86PlatformPlugin와 X86PlatformShim kext가 로드되어야 합니다.
또한, 정상적으로 파워냅을 사용하기 위해서는 Hibernate=0, darkwake=10 옵션을 주어야 합니다.
darkwave=1 을 주었을 경우 잠자기 모드로 전환해도 실제로는 컴퓨터의 전원이 꺼지지 않습니다.
darkwave=10을 주었을 경우 랜포트를 제외한 나머지 전원은 모두 꺼지게 됩니다.
Hibernate=0 대기모드로 전환을 방지하는 역할을 합니다.
다만 한 가지 의문점이 있습니다. 리얼맥과 비교했을 때, ACPI_SMC_PlatformPlugin.kext 는 로드되지 않고, X86PlatformPlugin와 X86PlatformShim kext가 로드된 것으로 확인하였습니다.
그만큼 예민한 부분이므로 FakeSMC.kext에 X86PlatformPlugin와 X86PlatformShim 관련 패치를 한다고 하여도 제대로 로드가 되지 않습니다.
따라서 이 글은, 스피드스텝 및 CPU Frequency, 전력관리 등을 순수하게 안정화 하는 작업 정도로 봐주시면 감사하겠습니다.
현재 아이뱅크님의 스크린샷으로 추측하건데, X86platformplugins.kext와 shim.kext가 로드가 되었으나 제대로 작동하지 않는 것으로 생각됩니다.
따라서 이 글에서 파워냅 관련 이슈 해결은... 힘들어 보입니다 <- 저도 그래서 KsJ님 다음 강좌를 기다리고 있습니다.
해당값이 있고 AppleLPC.kext가 정상적으로 로드가 된다면 FakeSMC.kext에 따로 패치해주지 않으셔도 됩니다.
결론은, 스피드스텝으로 8부터 시작하는 배수가 촘촘히 나왔는데, 인텔 파워 가젯으로는 시피유 프리퀀시가 게속해서 높게 나오는 분들을 위한 글이라 생각해주시면 됩니다.ㅎㅎ
즉, 아무것도 안해도 시피유가 계속 3.0 이상으로 유지가 되는 현상은 분명히 정상적이지 않기 때문에, 또한 무리가 가기 때문이고 <- 이런 이상현상을 해결할 수 있는 방법은 AppleLPC.kext 와 ACPI kext를 로드하는 것입니다.
로드가 되었으나 제대로 작동하지 않는 것으로 생각됩니다.
이부분에 동감합니다.
X86platformplugins.kext와 shim.kext가 로드가 다른 방법을 소개해 주셔서 적용해보았습니다.
X86platformplugins.kext와 shim.kext 이부분이 부팅하는 과정에서 오류가 나와 어쩔수 없이 dsdt, ssdt를 추가 시켰는데 뺄 수 가 있게 되었습니다.
dsdt, ssdt 없이 정상적으로 나옵니다.
그렇군요. 저는 반대로 로드가 안되있는 상황이라... 파워냅 관련 해외 포럼 뒤지고 있습니다.
할게 많아지네요...ㅎ
이런걸 발견했네요.
darkwake=0 -> Power Nap Disabled
darkwake=1 -> Power Nap Fully Enabled (System fully wakes. Fans on, monitors on, Hourly)
darkwake=2
darkwake=3
darkwake=4
darkwake=5
darkwake=6
darkwake=7
darkwake=8 -> Power Nap Enabled (System Fully wakes, sometimes monitor come on, sometimes not [don't know why])
darkwake=9
darkwake=10 -> Power Nap Enabled (Fans & monitors do not come on, system.log show the times that the computer woke from sleep. Time Machine Backup are performed hourly in sleep mode)
darkwake=11
그렇다다면 클로버 명령어 darkwake=10 이렇게 하면 되겠네요 일단 테스트 해보야 겠습니다.
감사합니다.
일단 불은 메인보드불켜진 것 전원선 빼기전에는 불이 들어오니 문제는 없고
달라진 점 무선네트워크 불이 들어와 있습니다.
나머지는 완전히 꺼졌습니다.
일단 잠재워 보아야 겠습니다.
오! 효과가 있는 것으로 보이는데요?
파워냅 체크하실때 아이메시지나 메일을 한번 수신되게끔 해보세요. <- 무슨 뜻인지...아시리라 생각합니다! 좋은결과 있길 바라겠습니다.
1시간이 지났는데 깨어나 열심히 작업을 하고 있습니다. 타임머신 작업을 걸어놓았거든요
지금은 시피유 팬 켜졌다가 10분정도 돌다가 다시 잠들었습니다.
그.. 저도 그 부분을 자세히 보고 싶긴한데.
X86PlatformPlugin, X86PlatformShim 이 두녀석이 로드될 생각을 안해서 -_-;;
다만 파워냅일 때 잠자기 모드가 된다는 건 이전보다 좋아진 상황 아닌지요 ㅎㅎ 그런 차원에서 말씀드렸습니다.
지금 1단계 전진 했습니다. 감사합니다.
아직 기쁨을 잠시 미루고 있습니다.
속으로는 쾌재를 부르고 있습니다.
X86PlatformPlugin, X86PlatformShim 두녀석과 관계없이
파워냅 설정 화면은 나왔습니다.
이 3770k모델 말고도 2500k 애즈락보드에서도 나왔기 때문에 당연하다고 생각했습니다.
아침이 되니 잠속에 잠기네요 . 못 일어납니다. 리셋누르고 하이버네이션 캔슬 명령으로 다시 살아났습니다.
그시간에 일어나서 한 일은 타임머신 백업 작업을 시작하고 있었습니다.
깊은 잠에서 잔후 타임머신 백업 작업 그리고는 못일어나는 상태
한번더 darkwake=10번으로 잠을 재웠습니다.
KsJ님 강좌에 추가된 내용입니다.
0번은 얕은 잠자기 혹은 기본 잠자기라고 합니다.
램에 전력을 상주시켜서 동작하게끔 하는 것이지요.
그런데, 기타 이유로 전력공급에 문제가 생기거나
사용자의 과실로 인하여 전력이 차단되어버린 경우
램은 휘발성이기 때문에, 자료가 모두 날라가버립니다.
이로 인하여 이를 방지하고자 얕은 잠자기에 들어가서 어느정도의 시간이 지나면
운영체제가 알아서 깊은잠자기로 돌입할 준비를 하게 됩니다.
이 과정에 램에있던 정보를 모두 하드디스크로 옮겨쓰게됩니다.
이를 통하여 전력이 차단되어버려도,
하드디스크에 램 정보가 남아있기에 나중에 전력이 다시 들어오고
사용자의 요청으로 컴퓨터를 키게 돼면
해당 자료를 램으로 다시 올려서 부팅시켜 아무일도 없었던 것 처럼
잠자기가 잘 된 것처럼 보여지게 한다는 것이지요.
이때 소모되는 전력은 완전 차단이기 때문에
얕은 잠자기랑 비교가 불가합니다.
그리고 아에 잠자기 자체를 깊은잠자기로 할 수 있는데,
이 경우에는 25로 두면 잠잘때 바로 하드디스크로 저장해놓고 전력을
다 차단해버리므로 멀티탭 전원을 차단하거나 하여도
이상없이 잘 동작한다는 이점이 있습니다.
하지만 3번과 25번의 경우에는 심각한 경우에
하드디스크의 정보를 다시 불러오지 못하여
파티션손상이 일어나 하드디스크를 포맷하고 다시 재설치해야하는 경우도
간혹 있으며 ssd의 경우 읽고 쓰기가 많이 일어나
수명을 조금 단축시킬 수 있는 부분이 있기 때문에
대부분 전력보급이 많이 제한적인 맥북시리즈에서 사용됩니다.
감사합니다. 이글은 잠자기 파워냅적용하기 위해 다시한번 읽어보았습니다. 아직도 모르는 것이 더 많으니까요 강제종료후 하이버네이션 취소하거 들어갔는데도 제가 어지러 놓은 책상 그대로 있데요
저도 한가지 발견했습니다.
ACPI_SMC_PlatformPlugin.kext을 캐스팅하는 순간 컴퓨터잠자기 모드가 활성화되고 그대신 없어진 화면이 있습니다. Powernap 활성화입니다.
즉 IanMinchangShin님과 동일한 화면이 되었습니다.
활성화도 마찬가지이고요
그러나 제 리얼맥 5k 맥미니 맥북미니에서는 ACPI_SMC_PlatformPlugin.kext 은 로드되지 않았습니다.
심지어 리얼맥 5k는 바꾸기전 모양과 동일 했습니다. 이전모델과 달리 엘캐피턴에서는 컴퓨터잠자기 화면이 아이맥에서는 보이지 않는가 봅니다.
오히려 강좌를 보고 인터넷에서 찾으니, 제가 원하는 정보가 있어서 거기에 조금 응용을 했을뿐입니다. 아직 갈 길이 머나먼 초보입니다 (__)
부족하지만 좋게 봐주셔서 감사합니다.
dsdt의 DTGP를 찾아보려 했는데.... 그게... 아예 없어가지고요. 혹시나해서(!) 첨부해보겠습니다.
dsdt 마지막 문장이
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.LPCB.SPTS (Arg0)
\_SB.PCI0.NPTS (Arg0)
\_SB.PCI0.LPCB.SIOS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.LPCB.SWAK (Arg0)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.LPCB.SIOW (Arg0)
}
}
이것이 DTGp입니까?
리얼맥 디스플레이끄기는 나오나 컴퓨터잠자기 화면이 나오지 않습니다.
엘캐피티탄 리얼아이맥도 잠자기관련 깨어나지 못한 문제 때문일까요
화면 자체가 없습니다.
저는 리얼맥이나 커스텀맥이나 동일합니다.
5k레티나 late2014버전
2015 맥북도 마찬가지입니다. 아마도, 하스웰 CPU를 사용하면서부터 전부 이렇게 바뀌지 않았나 싶습니다.
지금 사실 감이 하나 오는게 있긴 합니다.
ACPI_SMC_PlatformPlugin의 Resources를 보면 iMac은 12,2까지, Macbook은 8,2까지, MacPro는 5,1까지 <- 구버전의 정보만 있었습니다.
과거 맥의 경우 컴퓨터 잠자기 막대가 있었던 점을 고려하고, 현재 맥이 하스웰 CPU 이후의 부품을 채용하고 있다는 점에서
최신기종에는 더 이상 ACPI_SMC_Platformplugin.kext가 로드되지 않으며, 파워냅 활성화 여부도 갈릴 수 있다라는 제 개인적인 생각입니다.
우리 대장이 말 안든 사람 한곳으로 국적을 모아노았어요... 일명 관리대상 국가입니다. ㅋㅋㅋㅋ
아니요
대장님 우리글 수시로 감시하고 있습니다. ㅋㅋㅋ
퇴근하고 나면 금방 아시겠죠....
적어주신대로 IOResistryExplorer 로 LPCB 에서 제 pci8086,a145를 AppleLPC info에다가도 넣어주고 FakeSMC 에도 넣어주라는대로 넣어주었는데도 AppleLPC가 로드되지 않습니다;;
왜 그런걸까요?ㅠㅠ
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +29 | 937 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 575 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1403 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 575 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 909 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4002 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5086 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
Hot AMD Sequoia용 AppleALC 1.9.2 +3 | 106 | 24.10.2319:04 | 사노라맨 |
Hot [Sequoia 15.0.1, OC r1.0.2] ASUS TUF B550-PLUS / RYZEN 5 5600X / RX470 +2 | 103 | 24.10.2322:26 | 뿌엥 |
Hot OCLP로 지원되지 않는 기기/dGPU를 사용하는 해킨토시의 사이드카 품질 문제 해결방법 +1 | 119 | 24.10.2321:29 | 해킨도전자 |
103 | 24.10.2322:26 | 뿌엥 | |
119 | 24.10.2321:29 | 해킨도전자 | |
106 | 24.10.2319:04 | 사노라맨 | |
784 | 24.10.1412:27 | shl628 | |
666 | 24.10.1316:00 | 수박 | |
344 | 24.10.1222:56 | Stultus | |
937 | 24.10.1121:10 | 좌절금지 | |
732 | 24.10.1115:53 | 수박 | |
575 | 24.10.0900:22 | 줌바이퍼 | |
1403 | 24.07.1219:19 | Stultus | |
1210 | 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 | |
894 | 24.09.2321:32 | Stultus | |
994 | 24.09.2210:59 | 좌절금지 | |
644 | 24.09.2203:23 | 누림어멈 | |
1191 | 24.09.1919:17 | 좌절금지 | |
575 | 24.09.1917:09 | 좌절금지 | |
498 | 24.09.1813:37 | Stultus | |
909 | 24.09.1723:58 | 좌절금지 | |
601 | 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 | |
462 | 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 | |
538 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |
저는 이렇게 그림상 Power Nap 활성화도 있고, <"pci8086,1e44"> 가 존재합니다.
그래서 별도로 하지 않아도 된다는 뜻이겠네요
그런데 적용하면 잠자기 상태로 가다가 화면은 꺼지고 살아있는 상태입니다.
해제 하면 아무 문제 없구요
확인해보니 dsdt와 ssdt가 포함되어 있었네요
이방식대로 하고 빼보아야 되겠습니다