시스템 사양 선택 | 2번 |
---|
*적용중인 도장
안녕하세요, 시험이 얼마 안남았지만 흥미로운 사실을 발견해 팁글 작성중인 exacore39입니다..ㅋㅋ
최근 삼성 랩탑에서 공통적으로 일어나는 증상이 있는데요,
바로 macOS에서 Lidwake(뚜껑 열어 깨우기)가 작동하지 않는다는 것입니다.
이에 대해서 삽질을 매우 많이 했는데.. 오늘 해결하여 팁글 적어봅니다.
https://x86.co.kr/qa/6044535#comment_6305227
해결 방법부터 말씀드리자면, Lid 디바이스를 Notify하는 디바이스에 _PRW Method를 추가하는 것입니다.
(삼성 랩탑이 아닌 경우에는 Lid디바이스 자체에도 _PRW Method를 추가해 보아야 할 수도 있습니다.)
*_PRW Method는 Power Resource for Wake의 약자로 _PRW Method를 포함하는 디바이스는 시스템을
잠자기 상태에서 깨울(S0 State) 수 있습니다.
주의사항
윈도우라고 인식되어야만 lidwake가 작동하는 것 같습니다.
SSDT-XOSI가 윈도우에서 BSOD를 유발해 SSDT-OSYS를 사용해 보았으나, 작동하지 않았습니다.
SSDT-OSYS와 SSDT-GOST 및 Rename 패치로 윈도우 작동 및 Lidwake작동이 동시에 가능합니다.
https://github.com/PKRN0/Samsung-NT350XCR-AD5AS-Opencore
SSDT를 사용하지 않는 것이 아니라면, DSDT를 같이 사용하는 것은 추천드리지 않습니다.
물론 DSDT만으로 EFI를 제작하셨다면, 아래 과정을 토대로 SSDT제작 대신 DSDT에 그대로 수정하시면 됩니다.
SSDT 작성 과정으로 넘어가 보겠습니다.
1. 시스템 DSDT를 추출합니다. (Clover F4, OpenCore SysReport, MaciAsl-비추)
이 글을 읽고 계실 분이면 이미 알고 있을 것이라 생각해서 과정은 생략하겠습니다.
2. Lid 디바이스의 이름을 알아냅니다.
추출한 DSDT 파일을 MaciAsl로 열어 PNP0C0D 를 검색(Cmd+F)해 줍니다.
저의 경우 LID0입니다. 앞으로 LID0 기준으로 설명하겠습니다.
3. DSDT에서 LID0을 검색합니다.
검색하면 여러 개가 나오는데, Notify가 있는 디바이스의 이름을 알아내시면 됩니다.
찾아보시면 이를 포함하는 것이 그냥 Root에 있거나, 그 디바이스가 이미 _PRW Method를 가지고 있는 경우를 제외하면
저의 경우에는 _SB.PCI0.LPCB.H_EC 디바이스만 남았습니다.
이제 이 디바이스의 위치를 기억해 줍니다.
4. IORegistryExplorer를 열어 장치를 실제로 깨울 수 있는 디바이스를 검색합니다.
저의 경우는 파워 버튼 (PWRB) 였습니다.
우측의 acpi-wake-gpe의 값을 기억해 주세요. 저의 경우에는 0x10 입니다.
5. 이제 MaciAsl에서 새로운 파일을 만들어서 다음과 같이 입력해 줍니다.
DefinitionBlock ("", "SSDT", 2, "hack", "Wake-Fix", 0x00000000)
{
External (_SB_.PCI0.LPCB.H_EC, DeviceObj) // 3.에서 찾은 디바이스를 넣어주세요. 앞의 _SB는 _SB_로 바꾸어 주세요.
External (GPRW, MethodObj) // 2 Arguments
Scope (\_SB.PCI0.LPCB.H_EC) // 3.에서 찾은 디바이스를 넣어 주세요. 이번에는 \를 앞에 붙여야 합니다.
{
If (_OSI ("Darwin"))
{
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x10, 0x04)) // 0x10 대신 4.에서 구한 값을 넣어주세요.
}
}
}
}
위의 주석(//)에 쓰인 글을 읽고 본인의 DSDT에 맞게 수정해 주세요.
이제 이 파일을 aml로 저장하여 ACPI폴더에 넣고 config.plist->ACPI->Add에 추가해 주세요.
끝입니다!
이제 재부팅하고 잠자기에 넣은 후 뚜껑을 열어보면 전원LED가 점등되며 화면이 들어오는 모습을 보실 수 있습니다.
저의 경우 기존에는 전원버튼을 5초 가량 눌러야 깨워졌는데, 전원버튼도 누르자마자 일어나게 되었습니다.
ACPI 초짜라 잘못된 부분이 있을 수 있습니다. 지적해 주시면 감사하겠습니다.
도움이 되셨으면 좋겠네요. 좋은 하루 되세요 :)
추가) Github에서 SSDT-H_EC로 업데이트 되고 있습니다.
SSDT-XOSI대신 사용할 수 있는 SSDT-OSYS, SSDT-GOST와
Rename패치도 있으니 필요하신 분들은 아래 깃허브 Repository 참고하시면 될 것 같습니다.
음.. 저는 Coffee~Ice Lake 정도의 삼성 노트북에서 일어나는 문제인 줄 알았더니
Haswell 삼성 노트북에도 이런 문제가 있군요..
어쩌면 다른 문제일지도 모르겠습니다만,
OEM DSDT와 EFI 폴더 업로드해 주실 수 있나요?
혹시 SSDT-OSYS도 같이 사용하고 계시다면 비활성화하고 XOSI만 사용해 보세요.
둘다 동일한 역할을 하나, XOSI는 전체에, OSYS는 작성한 Device에 대해서만 적용됩니다.
방금 테스트해보니 특정 디바이스에 윈도우라고 인식되어야만 제대로 동작하는 것 같습니다.
XOSI는 작동하나, OSYS는 lidwake가 작동하지 않더군요.
테스트 해보고 업데이트 하겠습니다.
OC.zip EFI폴더 업로드 드립니다. acpi-wake-gpe 값이 0x1b여서 10을1b로 수정하였습니다.
dsdt 추출이 잘못됐네요.
클로버에서 부팅 시 에프4나
오씨디버그 시스리포트로 acpi 전체 다시 좀 올려주세요. 제가 고쳐 드리께요
ACPI.zip sysreport로 추출한 acpi폴더 압축하여 올려 드립니다. 실사용때 dsdt는 적용하지 않고 있습니다.
SSDT갯수가 너무 적네요.
원래 올려주신 dsdt maciasl로 추출하신 것 같은데 거기에는
External(H_EC.LID0, ) 이 선언되어 있어서 외부 ssdt에 있을 줄 알았는데 없네요.
이 익스터널 직접 집어넣으신 건가요? 그건 아닐 것 같은데
일단 있는 acpi만으로 다른 dsdt들 참고해서 수정해봤습니다.
될랑가는 모르겠지만 걍 함 써보세요.
글고 혹시 mciasl 실행시켜서 맨 위에 메뉴에 file new 에 보면 로드된 dsdt ssdt 쫙 나오는데
ssdt가 아래쪽에 있는데 거기에 혹시 lpcb나 h_ec lid 관련 ssdt가 있나 함 보세요
직접 보지 않고는 힘들 것 같네요
수정해주신 dsdt 적용하니 lid 오픈 시 잠자기에서 깨납니다. 감사합니다. external 선언된건 이전에 전원버튼으로 깨우기 할때 전원버튼 두번 눌러야 모니터 화면이 나와서 이걸 해결하느라 핫패치한 ssdt에 H_EC.LID0이 있었습니다. 귀족님꼐서 수정해주신 dsdt적용하고 기존 핫패치 제거하니 뚜겅열때 깨나기가 잘되고 있습니다.
lid0 디바이스가 어디에 어떻게 구현되어 있는지 정확하게 알 수만 있다면
쉽게 ssdt로 가능하겠지만
님 콘피그로 증상들을 보아하니 dsdt.aml을 쓰셔야 될 것 같네요.
dsdt.aml을 쓰면 단점이 ssdt를 입력해도 소용 없는 경우가 생기는 게 단점입니다.
구체적으로 어떤 경우냐 하면
기존에는 dsdt 내용을 수정하려면 rename 과 ssdt로 가능했지만
dsdt.aml을 로드하게 되면 dsdt.aml파일을 직접 수정해야 됩니다. rename이 안되거든요.
dsdt.aml 여러 개 수정하다보면 실수로 오류를 발생시킬 수도 있고 어디를 패치했는지 헷갈리기도 하고 안 좋은데
많이 뜯어고쳐야 되면 dsdt.aml 을 쓸 수 밖에 없습니다.
기존 ssdt wak pts 이런 거 그냥 dsdt 안에 내용이 들어있고 그 부분을 직접 수정해서 쓰셔야 돼요.
물론 dsdt에 아예 없는 내용을 추가하는 ssdt는 ssdt 추가로 가능하구요.
lid open 깨우기가 해결 된것이 아니었습니다. 귀족님의 얘기대로 dsdt를 사용하면서 rename 패치가 발효되지 않아 instant wake 상황이 발생된거 였습니다.
뚜껑 닫고열기로 잠자기 깨우기는 잘되는데 잠자기 버튼 클릭으로 잠자기가 안됩니다.
최근 바빠서 댓글은 틈날때 달지만 EFI는 다운만 받아놓고 열어보지 못하고 있었는데,
그래도 귀족@귀족 6166053 님의 도움으로 1차 성공은 하셨군요..
혹시 기존의 LID0관련한 SSDT를 비활성화하고 DSDT대신 SSDT-Wake-Fix를 사용해 보셨나요?
시험기간이라 자세히 도움 못드리는 점 양해 부탁드립니다 ㅠ
LID0관련 ssdt제거 후 lid open시 전원버튼이 점등이 되는데 화면이 안켜집니다. 이 상태에서 다시 전원 버튼 누르면 전원버튼 led가 꺼지면서 노트북이 리부팅 됩니다. ssdt-wake-fix 사용 후 먼가 작용을 하고 있는것 같은데....
일단 님 컴 상태를 제대로 알아야 되는데 제가 제대로 아는 정보가 없네요.
웨이크 관련 픽스 두 개 있던 거 그거 넣으면 잘 작동하나요?
웨이크 관련 픽스는 왜 집어 넣으셨는지
넣기 전 과 후의 차이점이 무엇인지 궁금하고요.
인스턴트 웨이크는 원인이 무엇인지도 알아야 되고요.
pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"
원인이 무엇인지 캡쳐 좀 부탁드립니다.
ioreg -l -p IOACPIPlane| grep "acpi-wake-gpe"
이거 뚜드리면 뒤에 십진수 나오는 걸 16진수로 바꿔서 prw메쏘드 첫번째 인자에 집어 넣어야 돼요.
이것도 캡쳐 좀 부탁드릴께요.
105는 16진수로 69이고 109는 16진수로 6D거든요.
일단은 먼저 번에 올린 dsdt는 파워버튼과 중복되니 다른 걸로 넣어봤어요.
이거 함 써보세요 한 개는 0a 한 개는 6f로 넣었거든요
먼저 도음을 주신점 감사드립니다.
웨이크 관련 픽스는 먼저 인스턴트 웨이크 해결을 위해 GPRW패치와 rename패치를 하였습니다.
다른 하나는 뚜겅을 닫음으로 잠자기 진입시 뚜겅을 열고 전원버튼으로 깨우기를 진행하면 전원버튼이 점등이 되는데 화면이 안켜진니다. 이를 해결하기 위해 github 뚜지다가 패치 방법이 있어 적용하여 이때까지 사용했습니다.
귀족님 댓글을 보고 관련 ssdt 제거하고 테스트를 진행 하였습니다.
인스턴트 웨이크는 GLAN HDEF 두개가 원인입니다. 귀족님께서 올려주신 ddst에서 GLAN HDEF관련 method삭제하니 인스턴트 웨이크는 사라졌습니다.
_pwd method 첫번째 인자를 0A, 6F, 69, 1B로 테스트 진행하였는데 웨이크가 안됩니다. log를 보면 0A, 6F, 69는 뚜겅을 열었을때 LID0이 인식이 안되었고 1B로 적용할때 LID0이 인식 되었는데 다 lid open wake에 실패하였습니다.
1시 56분 부터는 다크웨이크가 없네요.
저 때 부터 제가 오늘 아침에 올린 dsdt 쓰신 건가요?
제가 잠자기 패치했는데
gprw는 이제 필요 없을 것 같네요.
1시56분부터 슬립 들어가자마자 다크웨이크 뜨고 다시 슬립
실제로 다크웨이크는 없잖아요
잠자기는 고친 게 맞는 것 같은데 맞나요?
그리고 님 컴 시계 맞는 건가요?
acpi wake gpe 에 09가 있는데 09 함 넣어보세요
그래도 안되몀 lid0 밑에다가 gpe 하나 더 만들어 줘보세요
09도 아닌것 같습니다. 27이 맞는거 같습니다. 27(0x1B) 적용때만 log에 lid0이 표시 됩니다.
아 제가 고친 게 아니라 님이 prw를 어뵤앴군요.
잘하셨습니다.
앞으로 dsdt를 계속 쓰셔야겠네요
pts wak 등등 잘 편집해서 넣으시길
전 여기까지만 할게요. 나머지는 님이 잘 연구해보세요
제가 보기엔 1b는 아닌 것 같네요
lid0 디바이스가 제대로 구현되어 있어야 되는데
구현되어 있지 않아 다른 걸 참고 해서 만들었는데 디바이스부터 제대로 만들었는지 잘 모르겠네요.
lid0 밑에다가 gpe를 함 추가해보세요
님 컴을 직접 보면 쉬울텐데 직접 보질 못해서 아쉽네요.
dsdt 넣지 말고 ioreg 에서 lid0이 잡히나 함 봐보세요. h_ec 도요.
제껀 이렇게 prw 인자가 43이거든요
고치셨나요?
엑사코어님의 팁을 무시하고 제 맘대로 진행했는데
제가 잘못한 것 같네요.
그 동안 시간이 없어서 못 올려 드렸는데
엑사코어님 조언대로 dsdt 넣지 말고 이 ssdt 함 추가해보세요.
엑사코어님과 동일하게 파워버튼에 해당하는 1b가 맞는 것 같고요.
dsdt를 넣으면 웨이크 픽스가 작동되지 않아 화면이 안나왔던 것 같아요.
그 웨이크 픽스 조금 엉망인 것 같아 님 컴 상태가 어떤지 모르고 편집하기가 어려워서 웨이크 픽스를 뺐었거든요.
일단 함 써보세요.
조금 많이 늦은 댓글입니다만..
H_EC 디바이스에 _PRW method 추가, SSDT-XOSI 사용 이 둘만으로 해결이 안된다면
약간 다른 문제일 가능성이 있을 것 같습니다.
CPU 세대 차이에 의해 해결해야하는 또다른 문제가 있거나 아예 다른 문제일 수도 있을 것 같네요 ㅠ
알려주신 방법으로 7세대인 NT901 에 적용해 볼 예정입니다.
일단 같은 디바이스를 사용한다는 가정하에 만든 SSDT-Wake-Fix.aml 로 일단 적용해 보겠습니다.
잘 되었으면 좋겠습니다.
제노트북도 예제로 올려주신 SSDT 에서 수정할것이 하나도 없이 모든값이 동일합니다.
그런데, 일단 실패입니다. 뚜껑 연채로 잠자기만 하면 이건 잘 깨어나는데요.
뚜껑을 닫으면 영원히 못깨어 납니다.
어쩔 수 없이 뒤 뚜껑 열어서 배터리 잠시 분리해서 켜야 할 거 같습니다. ㅜㅜ
한가지 미적용한 시행착오가 있었습니다.
본문을 다시 읽어보니 DSDT와 혼용하지 말라고 하셨는데, 그걸 간과 했습니다.
거기에 너무나 급한나머지 올려주신 SSDT-Wake-Fix.aml 적용하고 config.plist 저장하는걸 깜박했습니다.
배터리 한번 분리하고, config.plist 에서 DSDT 비활성화, SSDT-Wake-Fix.aml 만으로 모든게 완벽합니다.
3년전에 올라왔던 이글을 이제서 알게 된것이 한탄스럽네요.ㅎㅎ
한 5년동안 사용해 오면서 잠자기 오류로 계속 고생하면서 사용해 왔습니다.
이제 완벽한 해킨맥북이 생겨서 너무 기쁩니다.
정말 감사합니다.^^
성공하셨다니 너무 기쁘네요!! 당시에 여기에 정말 많은 시간을 썼던 것 같은데, 시간이 꽤나 지났지만 도움받은 분이 계시다니 뿌듯하기 그지없습니다...
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +28 | 791 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +22 | 544 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1365 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 560 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 889 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 3975 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5033 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
21 | 24.10.2319:04 | 사노라맨 | |
460 | 24.10.1412:27 | shl628 | |
595 | 24.10.1316:00 | 수박 | |
323 | 24.10.1222:56 | Stultus | |
791 | 24.10.1121:10 | 좌절금지 | |
405 | 24.10.1115:53 | 수박 | |
544 | 24.10.0900:22 | 줌바이퍼 | |
1365 | 24.07.1219:19 | Stultus | |
1174 | 24.10.0500:31 | 줌바이퍼 | |
563 | 24.10.0410:49 | Tamy | |
733 | 24.09.2923:48 | 머트 | |
623 | 24.09.2822:28 | 머트 | |
448 | 24.09.2808:22 | Tamy | |
879 | 24.09.2321:32 | Stultus | |
990 | 24.09.2210:59 | 좌절금지 | |
626 | 24.09.2203:23 | 누림어멈 | |
1163 | 24.09.1919:17 | 좌절금지 | |
560 | 24.09.1917:09 | 좌절금지 | |
496 | 24.09.1813:37 | Stultus | |
889 | 24.09.1723:58 | 좌절금지 | |
592 | 24.09.1722:40 | 좌절금지 | |
450 | 24.09.1717:13 | 맥가즈아 | |
558 | 24.09.1708:13 | 김경석 | |
226 | 24.09.1617:47 | Panictosh | |
760 | 24.09.1504:35 | Tamy | |
580 | 24.09.1319:18 | Stultus | |
694 | 24.09.1019:44 | 치토 | |
482 | 24.09.0118:13 | 머핀X | |
448 | 24.09.0112:54 | 해킨도전자 | |
537 | 24.08.3115:34 | 머핀X | |
300 | 24.08.2601:42 | 화정큐삼 | |
300 | 24.08.2422:59 | 하나브 | |
316 | 24.08.2316:25 | 화정큐삼 | |
411 | 24.08.1810:56 | CanBe | |
358 | 24.08.1800:04 | 화정큐삼 | |
297 | 24.08.1722:03 | 화정큐삼 | |
197 | 24.08.1710:14 | jbhlyk | |
309 | 24.08.1622:06 | Stultus | |
214 | 24.08.1511:16 | hackillious | |
161 | 24.08.1421:30 | 세유니 | |
416 | 24.08.1419:58 | Stultus | |
375 | 24.08.1311:26 | 오디세이 | |
263 | 24.08.1115:46 | 좌절금지 | |
184 | 24.08.1111:21 | 티타보르 | |
231 | 24.08.1022:46 | Stultus | |
523 | 24.08.1022:10 | 오디세이 | |
166 | 24.08.1019:05 | jbhlyk | |
192 | 24.08.0923:20 | RogerT | |
336 | 24.08.0717:18 | 좌절금지 | |
129 | 24.08.0609:17 | RogerT | |
568 | 24.08.0606:14 | 줌바이퍼 | |
86 | 24.08.0523:34 | jbhlyk | |
260 | 24.08.0521:10 | 수인과윤슈 | |
880 | 24.08.0521:08 | 좌절금지 | |
603 | 24.08.0221:07 | Stultus | |
389 | 24.07.3019:12 | Tamy | |
340 | 24.07.2915:37 | 해킨도전자 | |
272 | 24.07.2813:52 | june119 | |
301 | 24.07.2112:43 | Stultus | |
4030 | 23.05.0502:19 | BlueGuerrilla | |
3727 | 21.08.0213:10 | 김태국 | |
275 | 24.07.1122:47 | Stultus | |
211 | 24.07.1020:44 | Stultus | |
248 | 24.07.0921:44 | Stultus | |
370 | 24.07.0820:57 | Stultus | |
198 | 24.07.0811:28 | 의정이 | |
381 | 24.07.0721:25 | Stultus | |
357 | 24.07.0604:41 | bsiugr | |
645 | 24.07.0509:56 | 애플브리크 | |
2435 | 24.02.1715:21 | 광호 | |
470 | 24.06.2723:24 | 치토 | |
239 | 24.06.2617:24 | talas | |
155 | 24.06.2120:58 | 블루사탕 | |
551 | 24.06.1609:01 | gtrfxdsp | |
387 | 24.06.1401:04 | Mactopia | |
849 | 24.06.1120:40 | Stultus | |
762 | 24.06.1115:07 | 새콤칠리 | |
118만 | 23.02.2118:35 | 좌절금지 | |
311 | 24.06.1001:11 | Steer | |
210 | 24.06.0810:09 | Door |
올려주신 내용대로 ssdt 적용했는데 lid 오픈 했을때 점등이 안되네요? xosi도 넣어 봤는데 안됩니다. 혹시 다른것도 해야 되나요? 노트북은 NT900X3G입니다