X86 Open로그인

추천하기 twitter 로그인 facebook 로그인 google 로그인 카카오 로그인 네이버 로그인
1

커스텀 맥을 꾸려놓고 서서히 안정화가 되어갈 무렵에 제 시선은 이제 코스메틱을 향해 갑니다.
일전에 @아이뱅크 님께서도 슬롯이름이 이상하다고 하셨었는데요. 그 부분에 대해 오늘은 서술을 해볼까 합니다.

EFI String을 변경하는 방법은 아래와 같습니다.

1.  gfxutil로 plist파일을 생성한 다음, xml 데이터를 hex로 바꾸어 com.apple.Boot.plist에 적용하는 방법
2. 클로버 컨피규레이터에서 1)의 과정에서 만들어진 hex 코드를 넣는 방법
3. SSDT에 곧장 인젝션 하는 방법

 

뉴해킨님께서 말씀하시길.. "SSDT에 넣는게 더더욱 간편할 것이다
네 그래서 제가 한 번 넣어봤습니다. ㅠㅠ

 

이 작업에서 필요한 준비물을 사열 해보겠습니다.

가. MaciASL
나. 인젝션 시켜 적용시킬 SSDT-1.aml
다. 인젝션 시킬 SSDT-1.aml의 테이블을 불러올 Config.plist
라. IORegistryExplorer
마. 불타오르는 열정

 

자 그럼 IOResistry에서 불러온 스샷을 보겠습니다. 

SC .jpg

제 메인보드는 Z420의 C602/X79 보드입니다. 다른 유저분께서는 NPE2@2/GFX1@0으로 안뜰겁니다.
대부분 PEG0...  이런식으로 보일거에요 : ) 

지난 번에 SSDT GPU Injection을 해주었으니 GFX1이라고 잘 인식되고 nv_disable=1 옵션은 영영 세이굿바이 했습니다.

 

SC 1.jpg

며칠전에 작업을 끝낸 Fresco FL1100의 트리 구조입니다. 만약 MacPro6,1을 쓰시는 분께서 USB 3.0 PCIe를 장착 하시거나
메인보드에서 USB 3.0을 지원할 경우 XHC / XHC1 / XHC2 이런식으로 보여야 제대로 인식된 것이라고 할 수 있습니다.
그런데 만약 저 이름이 SLT1 또는 PEGP이런 글귀로 적혀 있다면, 해당 Kext가 불러올 시스템 버스가 없기 때문에
정상 동작하지 않는다고 할 수 있습니다. (몇 몇 포트만 동작하거 심지어 제대로된 링크 스피드가 안될 겁니다)
 

이 작업을 앞으로도 필요하실 때마다 하시게 될텐데요. 하단에서 수정하는. SSDT-1.aml 교정 방법으로 알아보도록 하죠.

SC 2.jpg

 

네... 오늘 작업하게될  BCM94360CD를 SSDT-1.aml에 인젝션 시키면서 PCI카드가 아니라 순정처럼~!!!

Bluetooth 탭에서만 보이게 만들겁니다. 신형 맥에서도 PCI카드로 인식 안하고 ARPT (에어포트 약자)로 호출하니 그 것을 거스르면;;
대략 pci id장치 주소가 PCI 정보에 뜨게 됩니다. (물론 사용하는데는 전혀 지장 없습니다만 보기에 좀 안좋다 뿐이죠. ㅎㅎ)

 

SSDT-1.aml을 이용해서 PCIe 슬롯에 설정된 장치를 리얼맥과 같은 구조로 바꾸기 위해선 4차 경로의 이름을 리얼맥의 이름으로 
바꾸는 단계를 주로 사용하게 됩니다. 이 과정의 원리를 이해 하시면 SSDT에 인젝션하는건 쉬워지실 것이라 여겨집니다.
 

DSDT 
   ㄴ PCI0 

          ㄴ NPE2
                  ㄴ SLT2
          ㄴ NPE3
                  ㄴ SLT5
          ㄴ PEX2
                  ㄴ SLT1

 

 

 

상단의 트리 구조를 아래의 트리대로 바꿀 겁니다. (상단의 트리 정보는 C602/X79 칩셋의 DSDT에 기반합니다.

 

 

DSDT 
   ㄴ PCI0 

          ㄴ NPE2
                  ㄴ GFX1
          ㄴ NPE3
                  ㄴ XHC1
          ㄴ PEX2
                  ㄴ ARPT

 

이렇게 하는 큰 이유가  MacPro6,1리얼맥에서는 위 정보를 토대로 각 장치를 연결시켜 주게 되어있는데, 그 정보가 없다면
시스템 정보에서는 장치 ID만 불러오므로 시각적인 충격을 당하게 됩니다. (실 동작에는 전혀 문제가 없어요 ㅎㅎ)

다만 유의할 사항을 알려 드린다면,

가) Return 함수의 Package (0x0C) 수량은 10진수를 16진수로 바꾼 것 입니다.
나) "AAPL,slot-name ","PCIe Slot 2"가 추가되면 0x0C는 12개 이므로 14의 10진수를 16진수로 변환하여 0x0E로 바꿔야 합니다
다) Package 수량은 쿼테이션 마크가 열고 닫힌 기준이 1개씩으로 계산 하시면 됩니다.
라) Name (_SUN, 0x01) 함수를 삭제해야 SSDT EFI String Injection이 가능합니다.
마) DSDT에 이 정보가 있어도 시스템 정보보기에서는 불러오질 못합니다.

 

SC .jpg

완료된 스샷을 보시면 PEX2.SLT1이 PEX2.ARPT로 적용된 것을 확인할 수 있고 해당 정보는 시스템 정보보기에서 더이상 PCI 항목에 안나옵니다.
원래 리얼맥에서 BCD94360CD가 ARPT이다 보니 PCI에 등록되지 않는건 당연한 방식입니다.

 

SC 5.jpg

시스템 정보 보기에서 PCI정보를 누르면 카드 이름이 XHC1이라고 되어있던 USB 3.0 PCIe 컨트롤러가 Fresco FL1100으로 변경된 것을 확인할 수 있습니다. 또한 슬롯의 이름도 HDMI port로 되어있는 경우가 대부분인데요. PCIe Slot 5로 설정한 값이 출력되는 것을 확인할 수 있습니다!

 

이로인해 심적인 평안을 +20 획득하였습니다!

 

 

 

good poor

아이뱅크님
1명이 이글을 호평하셨습니다. 0명이 불평하셨습니다.

★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 추천 정보가 입력되지 않았습니다.
twitter 공유 facebook 공유 googleplus 공유 카카오스토리 공유 네이버라인으로 공유

글쓴이의 서명이 비어 있습니다.

★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 추천 정보가 입력되지 않았습니다.
  • Profile
    2016/10/18
    0 0

    호오...이제 코스메틱 잡으시는 군요. 

    코스메틱 파트들이 개인적으로 해킨의 꽃이라 생각 합니다. 제일 재미난 부분이죠. 하지만 안정화가 되고 나서 해야 재미있죠. ㅎㅎ

     

    ★ 답변이에게 고마우시면 커피한잔 후원(클릭) ★ 답변이에게 따뜻한 마음으로 전달됩니다. 엑팔 운영자입니다. 광고 및 파트너 문의는 개별 연락 부탁 드립니다.
  • Profile
    2016/10/18
    0 0
    Mactopia : 호오...이제 코스메틱 잡으시는 군요. 코스메틱 파... 에 달린 대댓글입니다.

    이제 마음이 많이 평안해 집니다!!!! 하하하핫!!

  • 멋지네요

    전에 코스메틱 작업하면서 사운드 넣고 랜카드 넣었던 기억이...

     Fresco FL1100 없는관계로 정상적으로 잡히고 있으므로 패스입니다.

    내장글피 죽이고 나니 그래픽만 이렇게 잡히네요

    스크린샷 2016-10-18 오전 9.59.47.png

    스크린샷 2016-10-18 오전 10.10.19.png

     

    스크린샷 2016-10-18 오전 10.11.23.png

     

  • Profile
    2016/10/18
    0 0
    아이뱅크 : 멋지네요 전에 코스메틱 작업하면서 사운드 넣고 랜... 에 달린 대댓글입니다.

    @아이뱅크 님~ PCI에서 Brcm4360을 PCI에서 제외 시켜도 큰 문제 없을 것 같습니다. ^^
    아래처럼 PXSX를 비워내고 RP20의 하단에 ARPT 장치로 BrcmM4360을 로드 시키시면 될 것 같아요!

     

    External (\_SB_.PCI0.0.RP20, DeviceObj)
    External (\_SB_.PCI0.0.RP20.PXSX, DeviceObj)

            Scope (\_SB,PCI0.RP20.PXSX)
            {
                    Name (_STA, Zero)
            }
            Scope (\_SB.PCI0.RP20)
            {
                    Device (ARPT)
                    {

                            Name (_ADR,Zero)
                            Method (_DSM.....

     

  • zisqo : @아이뱅크 님~ PCI에서 Brcm4360을 PCI에서 제외 시켜... 에 달린 대댓글입니다.

    감사합니다. 좀더 설명해줄 수 있나요

    dsdt에 넣는 것입니까?

    ssdt에 넣었을때 오류가 납니다.

    External (\_SB_.PCI0.0.RP20, DeviceObj) .....이부분에서

    추가로 무슨 작업을 해주어야 합니까?

    스크린샷 2016-10-19 오후 12.48.12.png

     

  • Profile
    2016/10/18
    0 0

    @zisqo 님께서 작업하신 ARPT와 XHC1의 _DSM 항목을 비교해 보세요.

    제가 알고 있는 것을 기준으로 부연설명을 하고자 합니다.

     

    우선 시스템 정보보기 PCI에 표시되고 안되고는 _DSM에 정의한 항목의 차이로 인한 것입니다.

    최소한 AAPL, slot-name, name, devide_type, model 항목이 정의되어야만 PCI에 표시됩니다.

    @zisqo님의 ssdt-1파일에서 ARPT 디바이스는 불충분한 정보 입력으로 PCI에 표시되지 않은 것이구요.

    네이티브로 인식되어서 PCI에 표시되지 않은 것이 아닙니다. 코스메틱으로 넣어줄 수도 있습니다.

     

    또한, ARPT 디바이스명은 무선랜 카드이지, 블루투스 장비가 아닙니다.

    무선랜 카드는 ACPI tables에서 PCI 아래에 위치하고 있고, 블루투스 장비는 USB controller 아래에 위치하고 있거든요. 

    이를 표시하는 것은 시스템 정보보기 > 네트워크에 Active services, Hardware, BSD Device Name 에 표기되는 거구요.

     

일반로그인 twitter 로그인 facebook 로그인 google 로그인 카카오 로그인 네이버 로그인
서버에 요청 중입니다. 잠시만 기다려 주십시오...