추가사양 및 설치(할)OS
공지숙지/증상설명
첨부파일 :

SSDT-SAT01-SATA.dsl

이건 제대로 작동하는지 적용하니 SAT0 + 1이 사라지고, SATA가 생성되었습니다

SSDT-ECDV-EC.dsl

하지만 애는 먹여도 ECDV도 안 꺼지고, EC도 안 생기네요 (렙탑이라 Fake EC가 아닌 기존 장치를 바꿀려고 합니다)


ACPI로 Rename할껄 SSDT로 처리하게 할려고 하나씩 수정중입니다


일단 작동하면 이후 조건문으로 OSI를 지정해서 되는 부분 추가 할 작정입니다

DSDT.dsl

DSDT도 같이 올립니다 (어차피 여기서 주소등 뽑아야할테니)


Clover로 잘 되는데도 OpenCore로도 한번 구성해볼까했는데 쉽지가 않네요




추신 : 이외에도 리커버리 진입 시도하면 다운되거나, 잠자기에서 깨우면 터치패드 마비되는등 갈길이 머네요




구독 인기인 달성율 0% 구독자 명
베스트글 달성율 0% 0번 인정받음
🔔 (0명)
뽀로로SSDT로 이름을 바꾸는 것은 기존 장치를 Off하고 새로...뽀로로SSDT로 이름을 바꾸는 것은 기존 ...

SSDT로 이름을 바꾸는 것은 기존 장치를 Off하고 새로운 장치를 On해주는 것이 기본 원리입니다. 그런데 ACPI는 여러 군데(A)에서 한 오브젝트(A)를 언급하는데, 그 언급된 오브젝트의 정의나 이름만 바꾸어(A에서 B)버리고 언급되는 부분 또한 이름을 일치하게 바꾸지 않으면(A에서 B로 바꾸지 않음) 오류 납니다(A와 B 이름 불일치). SSDT에서 M(_STA){Return(0)}나 Name(_STA,0)는 모든 이름을 바꾸는 용도로 사용하실 수 없어요.

1. SAT0와 SAT1은 서로 다른 장치입니다. 둘 다 경로는 \_SB.PCI0아래 있습니다. config.plist에서 Rename으로 둘 다 SATA로 바꾼다면 똑같은 이름의 Object가 두 번 정의되서 어차피 오류입니다. 그런데 한 번만 정의하셨으니 둘 다 Rename을 진행하신것도 아니고요. 그 중 SAT0만 생각해본다면 DSDT에서 검색해보면 SAT0는 23번 중 1번 정의 22번 언급됩니다. 다른 OEM SSDT에서도 SAT0를 언급할 수도 있죠. 이 22번 이상의 SAT0가 바뀌는 것이 아니기 때문에 22군데는 전부 오류입니다. SAT1을 보면 _ADR는 새로 생성한 SATA의 _ADR와 다릅니다. 완전히 다른 장치로 Rename이라고 볼 수 없습니다.

2. DSDT에서 ECDV 안에 이미 _STA가 정의되어 있어서 이 부분을 무력화시키지 않으면 SSDT로 없애줄 수 없습니다. 이 문제를 건너뛰고 보면 DSDT에 ECDV는 1번 정의, 14번 언급됩니다. 14번 중 4번 직접적으로 언급되는 ECDV는 ECDV 안에 언급되므로 ECVD를 Off하고 EC를 On해서 그 안에 넣어주면 되고 그렇게 하셨네요. 그런데 나머지 하위 항목들은 왜 안 넣으셨는지 전혀 모르겠습니다. 14번 중 1번은 Scope(~~.ECDV){}이라서 아무런 의미가 없어서 상관 없습니다. 나머지 9번은 ECDV와 전혀 다른 부분에서 ECDV를 언급하는데 이 부분은 단순한 SSDT로 못 바꿉니다. 각 9번을 config.plist에서 위치 길이 계산해서 드롭해서 SSDT로 새로 정의하셔야 합니다.


아니면 그냥 config.plist Rename 쓰시죠.

🔔 (0명)
칼리제이션제가 할말 다하셔서 칼무륵👍👍칼리제이션제가 할말 다하셔서 칼무륵👍👍
제가 할말 다하셔서 칼무륵👍👍
🔔 (0명)
뽀로로ㅋㅋㅋㅋ아일 리브 더 넥스트 원 투 유.....??!뽀로로ㅋㅋㅋㅋ아일 리브 더 넥스트 원 ...
ㅋㅋㅋㅋ아일 리브 더 넥스트 원 투 유.....??!
🔔 (0명)
칼리제이션I think that's a bad idea😂!!✌️칼리제이션I think that's a bad idea😂!!✌️
I think that's a bad idea😂!!✌️
🔔 (0명)
dateno1아 저 방법으로 전체를 바꾸지는 못하나보네요 1. 원래...dateno1아 저 방법으로 전체를 바꾸지는 ...
아 저 방법으로 전체를 바꾸지는 못하나보네요

1. 원래 SAT1은 더미같은거고 (실재로 DSDT 하위에 거의 아무것도 없음), SAT0를 SATA로 바꾸어야 하는지라 SAT0 + 1 둘 다 꺼버리고, 주소를 지정해서 값을 재삽입할려고 한겁니다 (한마디로 SAT1은 안 건드려도 그만인데, 혹시나해서 죽여버릴려는것뿐입니다)

2. ECDV를 통째로 복사해서 붙인다음 수정해서 EC로 만들어버릴려다가 말았는데, 역시 그렇게 해야하나요?

다만 나머지 ECDV를 호출하는 애들이 문제가 되겠네요


전체적으로 좀 더 많은 부분을 DSDT에서 가져온다음 SSDT로 만들어야하나보네요

그런데 외부에서 ECDV나 SAT0를 부르는 부분을 다 EC나 SATA로 바꾸어야한다는건데, 모든 DSDT + SSDT를 다 추출해서 일일히 Full로 작업및 삽입하고, DSDT등을 죄다 drop하는 방법 말고 저걸 처리할 방법은 없을까요?
🔔 (0명)
뽀로로config.plist rename과 SSDT를 병행하세요. 그리고 SAT...뽀로로config.plist rename과 SSDT를 병...
config.plist rename과 SSDT를 병행하세요.
그리고 SAT0->SATA는 전혀 필요 없는 부분이고, ECDV는 놔두고 그냥 EC만 추가하셔도 상관 없습니다.
🔔 (0명)
dateno1그게 rename이 전혀~ 안 먹어요 원래는 먹었는데, DSDT...dateno1그게 rename이 전혀~ 안 먹어요 ...
그게 rename이 전혀~ 안 먹어요

원래는 먹었는데, DSDT.aml을 추가하는 순간 안 먹네요 (ioreg 가보면 바꾸기전값이 들어있음) (혹시나해서 dsdt를 비활성화하면 다시 작동) (버그인지 원래 그런지 불명)

심지어는 DSDT를 추가하는 순간 WEG등의 동적 처리조차 무효화되네요

그리고 멀티 부트를 고려해버리면 피하고싶다보니... (다른 로더 물려서 또 부트하면 되지만, 그럴바엔 그냥 Clover 1개 쓰는게 낫죠)

SAT0 -> SATA 물른 필수는 아니지만, 호환성 향상을 도와준다고 합니다 (옛날부터 이거때문에 먹임)

데탑은 Fake EC가 추천되지만, Laptop은 추천되지 않습니다 (OpenCore 가이드 계열에도 나옵니다)

https://khronokernel.github.io/EC-fix-guide/desktop-ec.html
이런식으로 데탑은 Fake
https://khronokernel.github.io/EC-fix-guide/laptop-ec.html
렙탑은 Rename이 추천됩니다

이건 Clover때도 마찬가지였습니다 (다만 제경우는 Clover에서는 ECDV -> EC 하는 순간 부트 불능 (OC는 괜찮음)에 빠져서 못하고 Fake 썻는데도 다행히 큰 문제 안 생김)

아마 Fake EC로도 또 다시 괜찮을꺼라 생각하지만 전원 관리쪽 연동이 완벽하게 되는게 아니라서 그런지 베터리 사용시간이 Windows일때보다 꽤 심하게 짧더군요

제경우 Rename에 추가해둔 항목들 전멸해도 MacOSX 작동에 큰 지장이 없을정도라 (DSDT/SSDT로 다 잡음) 안 고집해도 괜찮은데, 최저한도로 방법정도는 습득해두고자합니다
🔔 (0명)
뽀로로오픈코어는 클로버와 성격이 다르고 전 DSDT를 안 써서...뽀로로오픈코어는 클로버와 성격이 다르...

오픈코어는 클로버와 성격이 다르고 전 DSDT를 안 써서... 오픈코어에서 DSDT를 추가하면 Rename이 적용 안 되는건지도 모르겠네요.

오픈코어 가이드는 Acidanthera가 만든게 아니다보니...틀릴 수도 있습니다: https://github.com/acidanthera/bugtracker/issues/743

질문자 :

2. Use SSDT-EC-USBX without disabling (returning _STA to Zero) the original EC device

이게 맞는지?

vit9696 : 

For the time being go with 2 if it works for you.

랩탑도 EC 추가하면 됩니다.

🔔 (0명)
dateno1Fake EC로 안 되는건 아닙니다 (위에도 적혀있지만, 실...dateno1Fake EC로 안 되는건 아닙니다 (...

Fake EC로 안 되는건 아닙니다 (위에도 적혀있지만, 실재로 Clover로 했을때도 ECDV -> EC하니 부트 불능 되어서 Fake 씀)


다만 전원 관리쪽 문제로 피하고싶은게 원인일뿐입니다


그런데 지금 수동 Rename은 안 먹어도 되지만, 동적 처리까지 안 되는건 좀 심각한 문제가 되고 있습니다


예를 들어 WEG이 제대로 처리를 못하니까 PNLF로 밝기는 조절이 되는데, 덮개 동작은 안 되네요 (이쪽도 DSDT 끄면 됨) (이외에도 그래픽이나 사운드 작동등에 문제가 있을꺼라 추정되지만, 아직까지 전부 확인 안 해본 상태)


그렇다고 DSDT를 완전히 추방시킬려니 EHCI등이 안 고쳐지네요 (SSDT로 때워볼려고 했는데 원인이 명확하지 않아서 실패)

🔔 (0명)
뽀로로사람마다 해킨토시 빌드하는 방법이 다 다르긴 하지만,...뽀로로사람마다 해킨토시 빌드하는 방법...
사람마다 해킨토시 빌드하는 방법이 다 다르긴 하지만, DSDT 적용 부분에서 문제가 되니 이쯤 되면 전 개인적으로 SSDT + config.plist Rename만을 사용하라고 말씀드리고 싶습니다. 그리고 이전 글에서 제가 기억하기로는 EHCI 패치는 이전 OS 호환용으로 적용하신다는데, 최신 OS 기준으로 안 하셔도 되지 않을까 싶습니다. 불필요할 수도 있는 부분을 다 제거하고 나면 최신 OS에 호환이 더 좋아질 수도 있지 않을까요.
🔔 (0명)
dateno1DSDT를 안 건드니 PCI List에서 Driver No라고 떠버리...dateno1DSDT를 안 건드니 PCI List에서 D...
DSDT를 안 건드니 PCI List에서 Driver No라고 떠버리고, 실재로 USB 작동에도 문제가 생기네요 (예를 들어 부트 상태에서 USB를 꽃으면 인식 불능)

저도 DSDT 추가하니 너무 귀찮아져서 손되고싶진 않은데 이런 부분을 해결할 수 없네요
🔔 (0명)
뽀로로DSDT는 패치하고 싶은 부분을 직접적으로 바꾸어서 패...뽀로로DSDT는 패치하고 싶은 부분을 직...
DSDT는 패치하고 싶은 부분을 직접적으로 바꾸어서 패치를 진행하죠. 패치하고 싶은 부분을 의미 없는 코드로 만들고(config.plist rename) 패치 코드를 SSDT로 추가하면 내용은 똑같습니다. DSDT 건드는 부분을 config.plist와 SSDT로 진행해보세요.
🔔 (0명)
dateno1저부분 명확한 원인을 잡지 못했습니다 결국 OEM DSDT...dateno1저부분 명확한 원인을 잡지 못했...
저부분 명확한 원인을 잡지 못했습니다

결국 OEM DSDT에서 추출된걸 이용해서 SMBus등의 호환성을 고치니 올라온겁니다 (그런데 SMBus등만 SSDT + Rename으로 잡으니 EHCI는 안 살아남) (동일한 내용의 DSDT에 동일한 패치를 먹이면 되는게, SSDT로 먹이면 SMBus만 고쳐지고, EHCI는 안 고쳐지는 괴현상)
🔔 (0명)
뽀로로그렇다면 패치를 제대로 진행 안 했다고 생각되네요. ...뽀로로그렇다면 패치를 제대로 진행 안 ...
그렇다면 패치를 제대로 진행 안 했다고 생각되네요. 또는 오픈코어는 유저 쪽이나 개발자 쪽이나 안정화가 안 될 가능성이 크므로 직접적인 ACPI 말고 다른 부분에서 문제가 있을 수도 있겠다는 생각이 드는데요, 클로버에서 SSDT + Rename이 잘 진행되는지 확인해보세요.
🔔 (0명)
dateno1Clover는 Rename/DSDT/SSDT 어느쪽 단독 흑은 3개 다 ...dateno1Clover는 Rename/DSDT/SSDT 어느...
Clover는 Rename/DSDT/SSDT 어느쪽 단독 흑은 3개 다 동시에 먹여도 정상입니다

현제 ECDV -> EC 안 되는것빼곤 거의 모든게 문제없이 잘 먹히는걸 확인하고, 심지어는 PCIe SD Reader같은 골치아픈넘까지 다 잡은 다음 그걸 그대로 OC로 바꿀려니 애먹이네요
🔔 (0명)
뽀로로차근차근 잘 해보세요 화이팅뽀로로차근차근 잘 해보세요 화이팅
차근차근 잘 해보세요 화이팅
🔔 (0명)
dateno1심심풀이 수준으로 하는 작업이라 의욕은 그닥 안 생기...dateno1심심풀이 수준으로 하는 작업이라...
심심풀이 수준으로 하는 작업이라 의욕은 그닥 안 생기지만, 틈틈히 끄적여봐야겠네요
서버에 요청 중입니다. 잠시만 기다려 주십시오...