드디어 USB 강좌 3번째 시리즈입니다.
요번 편은 실.전 편으로써 USB 완전 정복하기 1편의 응용편으로
USB 3.0을 완전히 곱씹어 보는 시간이 되겠습니다.
요번 강의는 그냥 따라하셔도 상관은 없겠으나,
몇가지 기본 사항은 모두 생략합니다.
USB에 관한 구조 글은 완전 정복하기 2편을 참고해주세요 :)
++ 조금 더 제대로 패치하고 싶으신 분들께서는
https://github.com/RehabMan/OS-X-USB-Inject-All 로 들어가시면 해당 켁스트를 적용하기 위하여
어떤 패치를 해야하는지 7시리즈부터 9시리즈 및 100시리즈 보드까지 패치법을 알려주고 있습니다. [영문인게 함정입니다;]
++ BIOS는 XHCI Smart Auto, XHCI-HandOFF Enable 상태여야합니다.
때때로 EHCI-Handoff Enable도 필요하니 바이오스 셋팅은 자신에게 맞는 것을 적절히 찾아서 시도하시면 되겠습니다.
++ 해당 패치는 NEC가 아닌 Intel Chipset를 사용중인 보드에만 한하여 적용이 가능하며,
랩탑의 경우에는 데스크탑과는 다른 포트구조를 지니고 있는 경우가 많기 때문에, 반드시 자신의 유에스비 지원 루트 등을
파악하신 후 패치해 주시기를 당부드립니다.
++ 적용이 안 되신다고 돌 던지시면, 감사히 받아서 이쁘게 조각하도록 하겠습니다 (??)
자 그럼, 시작하도록 하겠습니다.
엘 캐피탄으로 넘어오면서 애플이 컴퓨터에 미.친.짓 을 해두었습니다.
아에 인식되는 구조 자체를 다 갈아 엎어버린건데요;
이로 인해서 3.0이 대대적으로 먹통이 되는 기이한 현상이 일어나버렸습니다.
3.0이 정상 동작하지 않는 경우는 다음과 같습니다.
[시스템 정보에서 확인하시면 됩니다.]
1. 모든 기기가 3.0포트로 연결되어있다고 표기되는 경우
-> 잘못 인식된 것입니다. 기기들은 2.0의 경우 2.0포트에 물려있어야 하며,
3.0만 3.0포트에 물려있다고 나와야 합니다.
2. 모든기기가 2.0포트로 연결되어 있다고 표기되는 경우
-> 이 경우에는 3.0포트가 표기되어있지 않으면 제대로 3.0이 잡히지 않은 것입니다.
또한 3.0포트에 3.0기기를 물렸을 때 3.0포트로 인식되지 않는다면 이것 또한 잘못 인식된 것입니다.
3. 2.0포트 3.0포트에 제대로 들어가지만 전송 속도가 5Gbit/s가 아닌경우
-> 3.0포트가 제대로 동작하지 않는 경우이므로, 이 경우 또한 패치의 대상입니다.
위와같은 현상에 대해 몇가지 알아낸 사실을 간략하게 다시 짚고 넘어가보도록 하겠습니다.
첫번째로는, AppleUSBXHCIPCI.kext의 인식 구조 변경.
해당 켁스트가 3.0을 인식하는 켁스트 구조인데, 리얼맥에서 완벽 호환되게끔 개편되었습니다.
이로 인하여 자신이 사용하는 SMBIOS와 dsdt를 해당 켁스트가 참조하여
강제로 포트할당을 시도하는데, 이 과정에서 포트의 누락이 발생하게 됩니다.
두번째로는, AppleUSBEHCIPCI.kext의 구조 변경.
해당 켁스트도 같이 바뀌어 버렸습니다. 이 켁스트에는 EHC 에 대한 포트 정보가
들어가있지 않으며, 다른 컨트롤러에게 권한을 위임합니다.
이로인해 첫번째에 언급된 3.0인식 컨트롤러가 2.0까지 하위컨트롤 하는 구조가 되어버렸습니다;
이 두가지를 모두 해결하기 위하여 들어가는 켁스트는 4개입니다.
1. AppleUSBXHCIPCI.kext
2. USBInjectAll.kext
3. FakePCIID_XHCIMux.kext
4. FakePCIID.kext
[ 3번과 4번은 1, 2번만 적용하셔도 될 수 있으나 혹시 몰라 추가 패치분으로 적어두는 것입니다.]
이 4가지 켁스트를 모두 패치하여야 하는 귀찮음과 함께
여러분께서 DSDT까지 작업해 주셔야만 하는 노고도 같이 들어가게 됩니다... . _.;;
참고로, 사용하시는 보드나 칩셋 종류에 따라 들어가는 켁스트와
인식하는 방법은 다소 달라질 수 있기에, 100% 작동은 보장해드리진 못합니다.
그래도 대충 하시다 보면 비슷비슷한 작업이라 감이 오셔서
어느 순간 뙇하며 잡혀있는 유에스비 3.0을 보실 수 있으실 거라 생각합니다 ㅎㅎ
2~4번에 해당되는 켁스트의 경우 특별한 패치는 필요하지 않습니다.
유일하게 1번 켁스트만 패치가 필요합니다.
1번을 패치해 주기 이전에, 먼저 DSDT 패치부터 들어가도록 하겠습니다.
DSDT상에서 EHCX , EHXX를 모두 변경해주셔야 합니다.
EHC1 -> EH01, EHX1 -> EH01, EHC -> EH01....
이렇게 1번은 EH01로 수정해주셔야 하며, EHC2는 02번으로 수정해주시면 되겠습니다.
그리고 EHC하위 디바이스에 물려있는 PR값들도 이름을 다음과 같이 고쳐주시기 바라겠습니다.
1번 포트는 위와같은 이름들로 고쳐주셔야 합니다 :)
2번 포트는 아래처럼 해주시면 되겠습니다.
그리고 XHC1의 경우도 XHC로 통일시켜 주도록 합니다.
또한 하위에 물린 포트들의 이름들을 다음과 같이 모두 수정해주는데,
자신의 보드와 칩셋 정보에 맞게 포트들을 수정해 주셔야 합니다
(반드시입니다. 해당 칩셋 정보는 인텔에서 공식으로 지원하고 있습니다.)
앞선 2번째 강의에서 말씀드린 것 처럼 SSP1~6은 usb 3.0의 지원포트 단자입니다.
이것이 제대로 동작하게 끔 만들어주는 것이 관건이 되겠습니다.
그리고 위의 1~15번까지의 HS포트는 각각 usb2.0 호환으로써 EHCIPCI켁스트와 연동되어 동작되는 부분입니다.
저렇게 DSDT패치가 모두 완료되었다면, 켁스트를 패치하러 가보도록 하겠습니다.
iHex등의 헥스에디터 프로그램으로 AppleUSBXHCIPCI를 열어줍니다.
경로는 /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns에 켁스트가 위치해 있으며,
반드시 작업 전 원본 켁스트를 백업해 주시기 바라겠습니다.
패치할 켁스트를 바탕화면에 옮겨놓고, 패키지 보기를 하셔서 Contents -> MacOS 폴더의 AppleUSBXHCIPCI를 열으셨다면
00 00 83 BD 값으로 검색해 주시면 아래와 같이 나올 것입니다.
검색이 안되는 경우 83 BD만 넣어서 검색해주시면 되겠습니다.
총 풀 Data 값은 00 00 83 BC 8C FE FF FF 10 입니다. (아래 사진의 드래그가 되어진 부분입니다)
저기서 중요한 것은 드래그 한 부분이며, 끝단에 15입니다.
여러분들께서는 아마 10으로 되어있으실텐데, 이 값을 7~8시리즈 칩셋은 15로 수정해주시고
100시리즈 보드를 사용중이신 분들께서는 1b로 수정해주시면 되겠습니다.
이것은 켁스트가 자체적으로 포트의 갯수 제한을 걸어둔 부분을 풀어주는 패치입니다.
이것을 적용하지 않으면, 위 패치를 적용하였을 때에 XHCI의 HS포트들로 인하여 SSP포트가 정상 인식되지 않아
결국 3.0포트가 씹혀서 인식되지 않게되는 현상이 일어나므로, 모든 포트를 인식할 수 있게끔 해주는 것이라 보시면 되겠습니다.
고치셨으면 저장하신 후 켁스트를 S/L/E에 패치해줍니다.
아, 해당 AppleUSBXHCIPCI.kext의 경우에는 패치 경로가 다릅니다.
/System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns 폴더에 패치해 주시면 되겠습니다.
커맨드용 패치는 아래의 명령어를 통해 가능합니다.
sudo perl -pi -e 's|\x00\x00\x83\xBD\x8C\xFE\xFF\xFF\x10|\x00\x00\x83\xBD\x8C\xFE\xFF\xFF\x15|' /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI.kext/Contents/MacOS/AppleUSBXHCIPCI
sudo touch /System/Library/Extensions/
나머지 2~4번 켁스트들은 S/L/E에 패치해 주시면 되겠으며
3~4번 켁스트의 경우에는 클로버나 키메라 전용 폴더인 E/E여도 상관 없습니다.
아래는 해당 패치법에 대해 개괄적으로 적혀있는 곳의 주소입니다.
https://github.com/RehabMan/OS-X-USB-Inject-All
1번 켁스트를 제외한 2~4번 켁스트는 압축파일로 첨부하오니 사용하시면 되겠으며
해당 인식이 정상적으로 되시면, IORegistryExplorer로 열어보았을 때 다음과 같이 나오게 됩니다.
이렇게 정상적으로 모두 잡히면 되신 것입니다 ^^.
그런데 아직 부족한 것이 하나 있습니다.
바로 USB 3.0 전력문제부분입니다.
해당 부분은 시리즈별로 적용되는 값이 모두 판이하게 다르기 때문에
제가 사용하는 값으로 패치하라고는 말씀드리기가 어렵습니다.
다만 동종 칩셋을 사용하고 계신 분들이 계실 것 같아,
그리고 해킨은 해보지 않으면 모르는 것이 대부분이기에!
적용해보시고 안돼면 다른 값을 찾으셔서 패치해보시면 될 것 같습니다.
아래는 EHC, XHCI에 해당되는 전력 및 애플 기기 연결 픽스 오류 패치입니다.
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x0D)
{
"AAPL,current-available",
0x0834,
"AAPL,current-extra",
0x0A8C,
"AAPL,current-in-sleep",
0x03E8,
"AAPL,current-extra-in-sleep",
0x0834,
"AAPL,max-port-current-in-sleep",
0x0A8C,
"AAPL,device-internal",
0x02,
Buffer (One)
{
0x00 /* . */
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
이 값들을 XHC, EH01, EH02에다가 넣어주시면 되겠습니다.
해당 적용가능 칩셋은 H87 Series, Intel 8 Series /C220 칩셋군입니다.
적용이 완료된 후 아이폰 등의 기기를 연결해 주시면
다음과 같이 나오게 됩니다 ^^..
이상으로 글을 마치며...,
너무나도 인식시키기가 힘들었던 3.0이었음을 푸념해 봅니다. (ㅠㅠ...)
다음 글에서는 조금 생각해 보고 그래픽 혹은 사운드 패치 쪽을 살펴보도록 하겠습니다만,
거의 요번 유에스비 편을 보신 분들께서는 아시겠지만,
가면 갈 수록 DSDT패치는 그 강도가 약해짐을 알 수 있습니다.
대부분 외부 켁스트 드라이버에 의존하거나 기존 켁스트 드라이버를 직접 수정하는 형태로
패치가 진행된다는 것이며, 사운드나 그래픽 카드 부분도 거의 비슷하게 들어갑니다.
[DSDT 패치만을 두고 보면 그래픽/ 사운드의 경우 복사 붙여넣기 수준이 끝입니다.]
읽어주셔서 감사드립니다.
헙... 부럽네요... ㄷㄷ;;;
저는 메인보드가 포트 특성을 타는 탓에; 속도도 제대로 안잡히고, 네이티브 켁스트만으로는 3.0포트중 4개가 다 죽어버려서 사용도 못하는 상황이었던지라, 제대로 써먹으려면 어쩔 수 없이 패치해야할 수 밖에 없어서 포기하고 있다가 이제야 부랴부랴 잡았네요......; ㅠ
항상 읽어주셔서 감사드립니다 ^^
^^; 저는 Asrock B85M Pro4 사용 중입니다.
제 보드에서 한가지 문제점은 이상하게도 전면부에 있는 하나의 3.0 포트가 이상하다는 것입니다.
신기한건 컴퓨터를 켰을 때는 이놈이 3.0USB는 무시해버리고 -_- 2.0USB만을 인식하는데,
잠자기를 하고 깨운 뒤 3.0 USB를 물려주면 인식이 됩니다... 그나마 다행스러운건 후면포트에 있는 2.0 3.0은 전부 다 잘 지원한다는 것인데, 지금 생각해보니 이건 전력문제도 아닌 것 같습니다.
잠자기 후에 정상이 되는 시스템이라.. 음 이건 어느 부분을 손봐줘야 할지 모르겠군요. 혹시 힌트를 얻을 수 있을지요?
잠자기 후에 정상화 되는 시스템이라니.. 신기하네요!!
그런만큼 더 정확한 진단법을 찾기가 쉽지 않아보여요.. =_=;;;
전면부 USB 3.0이라면, 메인보드에서 연결되어있는 포트 단자를 확인해 볼 필요가 있어보입니다.
우선 기본적인 백패널 자체의 후면단자는 4포트 지원이므로 이 포트들에 3.0기기를 물려서 나오는 SSP값을 제한
최종 미인식 2포트를 찾거나, 혹은 잠자기 후에 전면부가 인식된다 하셨으니 인식시켜서 포트 번호를 찾아보면 될 것 같습니다.
종종 중복할당되는 경우도 있어서 구분을 잘 지어서 확인해보아야 할 것 같아요.
1번째로 잠자기 전에 USB 3.0 모든 포트에 3.0기기를 물려서 활성화되는 SSP및 기타 HS, EHC포트를 확인하고
2번째로는 잠자고 난 후 USB 3.0 전면부 포트에 물려서 활성화되는 포트를 확인하는 것입니다.
두 포트가 중복되지 않고 인식되는 경우라면, 해당 2포트에 관한 문제로 볼 수 있겠습니다.
만약 두 포트가 중복되는 상태로 인식되는 경우라면, 전적으로 켁스트 드라이버가 운영체제로부터 할당받은 부분이
잠자고 난 후에 바뀐다고 보는게 맞을 것 같습니다.
네이티브 켁스트를 사용 중이시라면 적용하신 smbios 기종이 지원해주는 네이티브 켁스트에서의
유에스비 할당 포트를 확인하여 패치 방법을 정하는 것이 좋다 보여집니다.
저처럼 포트가 아에 할당되지 않는 경우에는 모든 포트를 강제로 인젝션 시켜야하는 방식을 사용해야하고
포트는 모두 할당이 잘 되는데, 주소 값이라거나 몇가지 문제라면 네이티브 켁스트의 plist편집 등을 사용하여
켁스트를 정상로드하는 패치방법 등을 사용하면 되리라 보여집니다.
이건 거의.. 과학실험에서 대조군을 정해놓고 두개를 서로 비교하며 다른 부분만을 찾은 후에
이것을 바탕으로 어떤 패치법을 사용해야할지 고민해야하는 방식이라고 할 수 있겠네요 ㅎㅎ;
지금보니 전면부는 2.0, 3.0 섞여있는데 맥에서는 전부 3.0으로 잡고 있군요.
차라리 이 부분을 강좌해주신 것으로 싹 고쳐버려야 겠습니다.
2번포트에서 KsJ님께서 말씀해주신 부분처럼 바꾸기 위해서
1. PR01 -> PRT1로 바꾸어야 하는 것인지
2. PR 넘버를 전부 KsJ님께서 언급해주신 번호로 바꾸어야 하는지...
(3. 정말 초보적인 질문을 해서 죄송합니다. 보드의 칩셋을 참고하여 바꿔주시라고 말씀해주셨는데, 혹시 칩셋의 어떤 부분을 참고해 바꾸어야 하는 것인지 알려주실 수 있으십니까..?)
1. 말씀하신대로, PR01 -> PRT1로의 변경이 맞습니다 :)
2. 음.. PR넘버의 경우에는 만약 DSDT상에 포트가 위 그림의 경우에는 6개이므로 그대로 11~16으로 사용하는 것이 맞습니다.
다만, EH02라면 PR의 값은 11~16이 아닌 21~26으로 바뀌게 됩니다.
본문에서의 칩셋군의 참조는 DSDT의 변조를 막기위한 점검과정이라 생각해주시면 되겠습니다.
그럴 일은 없겠지만 실제 기기가 지원하는 포트정보와 DSDT상의 포트정보가 불일치하는 경우가 있는데,
이런 경우를 막기 위함입니다.
에를들어, 타인이 만들어둔 DSDT를 자신의 것으로 강제적용한 부분인데 이것을 그냥 그대로 사용하게 될 경우.
바이오스 상에서 자신도 모르게 기본 값으로 유에스비의 일정 기능을 비활성화한 상태에서 그냥 DSDT를 추출해버린 경우 등을 예로 들 수 있겠습니다.
순수하게 전글처럼 자신의 칩셋군에 해당하는 인텔사의 기술지원문서를 살펴보면
EHC #1, EHC #2에 각 포트가 몇개씩 붙어있는지를 알 수 있으며
XHC에서 지원되는 하위 2.0포트가 총 몇개이고 3.0포트가 몇개인지를 알 수 있습니다.
포트 번호도 같이 기술 지원문서에 나오니 해당 부분을 참고하여
빠진 포트가 있다거나 한 부분들을 찾아서 매꿔주고 해야한다는 것입니다 @_@.....
[그냥 맘편하게 윈도우에서 DSDT 원본추출이 나을지도 모릅니다 ㅎㅎ]
하여도, 보여주신 사진상으로만 보았을 때에는 칩셋을 굳이 참조하지 않으셔도 될 것 같고
칩셋군도 저와 동일한 C220 8series 칩셋군을 사용 중이시므로 해당 부분은 21~26으로 패치하시면 되겠습니다.
해당 EH02 포트는 XHCI가 사용하는 하위 2.0 USB지원포트에 해당되기 때문입니다.
(한마디로 3.0포트에 2.0기기 물리면 EH02 포트가 활성화된다고 보시면 되겠습니다.)
그..그렇군요. 한가지 우려스러운 것은 XHC 상의 일부가 달라보여서요..
HS 위에 있는 것들이 조금 다르더군요.
(우선은, 말씀해주신대로 윈도우에서 원본 추출하는 것도 하나의 방법이 되겠군요. 전 왜 이생각을 못했을까요..ㅜ_ㅜ
저도 조금 고생은 해봐야(?)하니...ㅋㅋ 윈도우를 설치해보고 원본 dsdt 추출도 한 번 해봐야 할 것 같습니다.)
아, 저 윗부분의 메소드들은 해당 사용중이신 컴퓨터에서 정상동작 되는 부분이라면 굳이 따로 패치해주지는 않으셔도 됩니다.
구글링해서 제가 사용하는 보드의 DSDT본을 구한적이 있었는데, 아에 구조 자체가 판이하게 다르더군요.
그래도 적용했더니 통째로 잘 돌아가더랍니다. (다만 잠자기 오류가 심각했습니다 ㅎㅎ;;)
하여 두 스샷으로 보았을 때에 윈도우까지 설치하시면서... 삽질할정도로 심각한 상태는 아닌 것으로 보여집니다.
일단 절반은 성공하였습니다. 다행히 이제 잠자기를 안해도 전면부에서 3.0으로 인식이 되는군요. 속도도 5기가 제대로 나오구요.
다만, 지금 모든 포트가 3.0 으로 인식이 되고 있습니다 ㅋㅋ; 다행스럽게도 파란색 포트에 연결하면 5기가 속도는 제대로 나옵니다.
어후... 이거 분리하는게 말은 간단해보여도, 엄청 어렵겠군요. 답은 로케이션 아이디에 있는 것 같은데 말입니다.
KsJ님, 감사합니다. 답은 간단한 곳에 있었군요.
맨 처음에 저는 /S/L/E에 FakePCIID_XHCIMux.kext, FakePCIID.kext를 넣어줬습니다. 권한복구를 해줬는데, 전부 3.0으로 물리더군요.
이후에 /E/E에 10.11 폴더에 위 두개의 켁스트를 넣어주니 정상적으로 분할되었습니다. 물론 dsdt 수정은 KsJ님께서 말씀해주신대로 따라했구요!
대신에, /E/E로 켁스트를 옮겼기 때문에 부팅옵션은 kext-dev-mode=1을 주었습니다.
인식 역시 잘되고 있음을 확인할 수 있었습니다.
*제가 커스텀맥을 설치하면서, 제 신조가 '모로가도 서울만 가면 장땡'입니다만, 이론상 /S/L/E에 모두 켁스트를 싸그리 넣어도 되어야 한다고 생각하는데, USBInjectAll.kext 만 권한복구가 제대로 되고 나머지 페이크형제 두 녀석은 제대로 권한복구가 되지 않은 것 같습니다.
(대신에 dsdt와 페이크 켁스트를 따로 /E/E에 넣어두어서 부트로더 백업하기엔 편할 것 같아요)
오, 이제 3.0에 3.0을 물리면 뜨는 정보가 5기가비트 전송률이라면 게임은 끝난거네요 ^^
아 아니, 이미 전송률 문제는 해결이 끝난거였었죠? 성공하신거 축하드립니다!! ㅎㅎ 이제 맘껏 즐겨주시면 되겠습니다 ㅋㅋ...
첨부해 주신 사진을 보니 매우 잘 잡힌 것 같네요.
그나저나 저도 S/L/E에 넣으면 무조건 동작해야한다고 생각하고는 있는데, 희안하게 여기에 넣어도
제대로 안되는 켁스트들이 있는 것 같더군요.
아마 맥이 외부 드라이버 켁스트를 지원할 때 최저로 요구하는 수준마저도 지원을 안해주는 그런류의 켁스트들이지 않을까라며
추측만 하고 있을 뿐이네요 ㅎㅎ;
저는 오즈모시스 사용자라 바이오스 작업할 때 아에 같이 넣어버려갖고, 편하게 사용하고 있는 중이에요 ^^;
다만 추가패치가 필요해져서.. 어떻게 좀더 편하게 할 수 있는 방법을 만들어봐야겠네요. 헣;;
더 밑단에서 정교하고 네이티브에 가까운 오즈모시스인만큼 KsJ님께서는 /S/L/E에 넣어도 잘 될 것 같다는 생각이 듭니다. (한참 얕은 지식으로 제가 오즈모시스에 대해 아는척하네요.ㅠㅠ)
혹시 이 글을 보고 다른 분께서 따라하실 때 클로버 부트로더 기준으로 /S/L/E에 넣어 성공하신 분의 사례가 있으면 좋을 것 같다는 생각이 듭니다. 그렇다면 제가 '클로버 이용자는 /E/E에 페이크 켁스트를 넣어야 한다.'라는 주장을 깨트림과 동시에 선택의 폭을 넓힐 수 있을 거라고 생각합니다.
결론은 어떻게든 잘 잡으면 되는 것이지만요.
다시 한 번 감사의 말씀드립니다. 조만간, dsdt 정리도 한 번 하고....
그리고 제가 해결하지 못한 레티나 인식도 다시 쇼부(?) 봐야겠습니다.
저는 희얀하게 패치후에 대용량 파일을 아이튠즈로 옮기면 디바이스를 찾을수 없다고 뜨면서 중간에 취소가 되길래 다시 돌아왔습니다.. 희얀하네요
아.. 아무래도 애플 디바이스 인식오류 문제이신 것 같습니다.
해당 패치가 필요한 보드군이 있고, 아닌 부분이 있는데 딱히 디바이스 연결상 문제가 없으시다면 후반부의 패치구문은 무시해주시면 될 것 같아요.
[해당 구문은 데이터 전송 도중에 연결이 끊어지면서 디바이스가 재인식되어 기존 경로를 찾을 수 없어 나오는 오류입니다.]
요모조모 잡기가 까다로운 녀석이다보니... 쿨럭;
잘 돼셔서 사용하실 수 있었으면 좋겠네요.
파이팅!
그렇군요. 집에가서 한번 도전 해봐야되겠어요 ㅎㅎ외국 능력자들이 많은데 이걸로 된다면 말이 안될꺼 같긴해요. 어떤 변화가 있을지는 기대가 되네요
요즘 KsJ님 덕에 DSDT 수정하는데 열이 올라서 z97 deluxe 보드 칩셋 넣어보고 있는데 인식되는게 잼네요..
USB3.0 IOMatch 값 넣어서 해봤습니다. ASM1042 USB 컨트롤러 사용하는데 거기에는 비슷한 값인 1b73,1100 넣어주었구요.
xhc 에는 8086,8c31 넣어주었습니다.
xhc에만 값을 넣어주니 ASM 부분이 예전처럼 아이폰 디바이스 오류가났었는데 1b73,1100 값을 넣어주니 오류가 사라졌습니다.
속도는 안나오는듯합니다.. usb 꼽아봤는데 속도 5g로 나오긴하는데 파일 넣어보면 2.0 속도 인듯 하였습니다..
패치는 클로버로 Applexhcipci 패치를 해서 헥사값을 15로 변경하였습니다. 그랬더니 HS01부터 SSP01까지만 나오던 것이 SSP06까지 나옵니다.
이걸로 그냥저냥 쓰고 있었는데 ASM1042가 문제가 좀 있어서 사용을 하고 않고 있었습니다. 필받아서 패치를 해보면 어떨까해서 살펴보니,
deluxe 보드 기술문서에 보드 뒷면 포트 2개 그리고 스샷에 7번에 해당하는 usb3.0 두개를 1042에서 관리하는 것으로 확인하였습니다.
패치하기 전에는 뒷면 포트에 USB허브(마우스 키보드)를 연결하고 1042 포트 한곳에 아이폰이나 아이패드를 연결하면 마우스와 키보드가 동작을 안하는 희얀한 현상이 발생했었으나 패치후 그러한 증상이 사라졌습니다.
또한 패치전에는 RP07쪽에 1042칩셋이 있어서 USB를 꼽으면 그쪽에 붙었는데 패치후에는 SSP6에 붙습니다.
먼가 희망을 가지고 데이터를 넣어봤는데 속도는 2.0 속도로 나오는듯 합니다..
집에가서 조금더 테스트를 해보겠습니다.
ㄷㄷ... 기술문서까지 참고하시다니 열정이 대단하신 것 같아요!! (짱짱)
구조를 좀 더 이해하려면 시간이 걸릴 것 같아요. 1042칩셋이 모두를 관리하는게 아니라
특정한 포트들만 관리하는거라면 조금 더 알아본 후에 몇가지 실험을 거쳐서
고쳐주어야 할 부분들을 특정해야할 것 같네요. ㅎㅎ
저도 도와드릴 수 있다면, 최대한 도와드릴게요!
인텔 칩셋 역시 IOMatch가 되네요. AppleAHCIport.kext 보니까 엘케피탄부터 인텔 9시리즈 적용이 되네요..매칭시키니
이리 잘 뜨네요. DSDT 만지면 만질수록 빠져드는것 같습니다
3.76기가면 대략 333억비트이니, 초당 5기가비트로 전송되는 3.0이라면 대충
60초 남짓으로 나와야하는데 4분이라고 나오는군요.
그렇다고 480메가비트로 전송되는 2.0속도라고 보기에는
표기된 전송속도가 빠른거같아요.
333억비트면 480메가비트를 500메가로 쳐도 5기가의 0.1배이니
전송속도는 10배인 600초이므로 약 10분정도가 걸려야하거든요 (최고속도로도요)
3.0의 노말속도로 4분정도가 나오는 것 같은데,
실제로 해당 파일을 디스크로 옮기시면서 걸리는 실 시간을 체크해보세요 (타이머로요)
혹은 유에스비 3.0속도체크해주는 프로그램들이 있는데, 제가 잘 알지를 못해서..
추천해드리기는 어려울 것 같네요. ㅎㅎ
3.0이 정상동작하면 아래처럼 표기가 나옵니다 :)
전송속도 5기가빗 퍼 세크로 말이죠.
(잘 아시겠지만, 반드시 3.0단자에 3.0지원 유에스비 등을 물려주셔야 확인 가능하세요.)
오오...외장하드 물려서 파일 옮기는데 3분 안짝 걸렸네요 ..와우~ ASM에 IOMatch한게 효과가 있나봅니다.
게다가 인텔 USB3.0에 유전원허브 물려서 마우스랑 키보드 연결해둔게 있는데 거기에다가 외장하드 물려서 아까 그데이터 넣어보니 순식간에 옮겨지네요..오오..근데 아이폰만 꼽으면 2.0이 될까요?
와우.. 제대로 연결된 것 같단 생각이 드네요 ㅎㅎ
아이폰은 아쉽?게도 3.0지원이 아니라 2.0지원인 것 같더군요;
저도 3.0포트에 아이폰 시리즈를 연결해 보았는데 라이트닝 자체가 2.0인지 2.0 속도로 잡히더라구요 ㅎㅎ.
아까 이론상 계산한 것이 333억비트에 60초정도였었죠 이게 약 3.5기가정도였구요
해당파일은 4배니까 60초에 4배하면 240초로 4분나오겠네요!
속도는 이론상으로 나온 값과 거의 일치하므로 3.0속도가 제대로 동작한게 맞다고 보여집니다.
(거의 맥스 최고속도로 제대로 뽑힌 것 같네요 ㅎㅎ)
AppleUSBXHCIPCI를 Clover에서 위에 댓글 처럼 패치하고 KsJ님이 언급하신 나머지를 수정하여 TEST하였습니다. 그랬더니 부팅 후엔 정상적으로 USB 모두가 연결되었으나 잠자기 후엔 USB기기들이 모두 다른 포트에 붙더군요.. 문제는 블루투스가 포트가 바뀌면서 제대로 동작하지 않았습니다. 인식은 되었지만 페어링이 됬다 안됬다 하구요. 하여튼 정상적으로 되지 않았습니다.
하지만 Clover에서 Acpi에서 FixUSB를 체크한 후엔 AppleUSBXHCIPCI를 패치 하지 않고 잠자기 후에도 모두 정상 작동하고 Port도 변경없이 제대로 붙어 있더군요.
GA-H97-D3H보드를 사용하는데 USBInjectAll.kext, FakePCIID_XHCIMux.kext, FakePCIID.kext는 Kext 10.11폴더에 모두 넣어주었습니다.
패치한 DSDT를 첨부합니다. 혹시 첨부 DSDT를 보시고 수정이 필요한 부분이 있으면 언급하여 주세요. 나름 수정해서 잘 사용하고 있으나 아직 무슨 내용인지 .... 이해하기 어렵더군요..
다시한번 KsJ님께 감사드립니다.
덧글 감사드립니다, 무한대님.
제가 본문에 언급해둔 AppleUSBXHCIPCI켁스트 패치는 USB3.0의 포트 리밋 해제 패치라고 봐주시면 될 것 같습니다.
이 경우에는 안전성 검증이 되지 않은 일반 패치방법이라, 정상작동의 보증은 어렵지만 클로버에서 지원하는 FixUSB 패치는 클로버 개발진들이
검증을 하여 만들어둔 부분이기에 위 패치법 보다는 조금 더 안정성이 있는 방법이란 생각이 듭니다.
다만, 첨부해주신 dsdt를 보아하니 XHC단의 모든 포트가 잡힐 가능성은 낮아보입니다.
혹 FixUSB패치와 AppleUSBXHCIPCI패치를 동시에 적용하신 경우에도 잠자기 후 유에스비 기기들이 다른포트에 붙는 현상이 일어나시는지 궁금합니다.
그리고 지금 현 상태에서 USB 3.0단자를 물리신 후에,
IORegistryExploror 어플리케이션을 사용하셔서 XHC부분의 포트가 어떤 형식으로 되어있는지 궁금합니다.
해당 FixUSB만을 적용하였음에도 불구하고 HS01~HS14 및 SSP1~SSP6까지 모두 붙어있는지, 아니면
SSP1, SSP2까지만 붙어있는지 말이죠.
(만약 SSP6까지 모두 안나오면, 일부 3.0포트에서 USB 3.0 지원포트이지만 2.0으로 사용할 수 밖에 없는 제한이 생길 가능성이 있습니다.)
감사합니다@
참, 첨부해주신 DSDT를 보니 많이 꼬여있기는 한데 ^^;
본문의 dsm패치는 제대로 잘 넣어주신 것 같습니다.
동작도 제대로 하신다니 97시리즈에도 적용 가능한 패치내용인 것 같네요 ㅎㅎ.
인증 감사합니다 22.
AppleUSBXHCIPCI패치를 하지 않으면 문제가 있더군요. Clover에서 Patch하고 UsbFix까지 적용하면 아래 첨부한 대로 XHC 아래 SSP1~SSP6 모두가 붙어 있습니다. 동작 TEST 결과도
모두 정상 작동하는 것 같습니다.
그리고 아래 DSDT 어딘가에 꼬여 있는 것 같다라는 말씀은 저도 동감하는 부분입니다만
제가 잘 모르는 분야라 시간 되시면 자세히 검토 부탁 드립니다.
첨부해주신 스샷을 잘 보았습니다, 무한대님.
유에스비 관련한 부분은 2.0과 3.0의 동작 이상 유무만 없다면 패치하신 방법이 맞는 것입니다.
완벽히 이래야만 패치가 된 것입니다! 라는 것이 사실상 존재하질 않습니다.
이리하여, FixUSB패치 + XHCIPCI패치한 것이 잠자기 후에도 이상이 없고 잠자기 전에도 이상이 없다면 맞는 것이고
FixUSB패치만 해도 이상이 없다면 이것이 맞는 것이고,
XHCIPCI패치만 해도 이상이 없는거면 이것이 맞는 것입니다 ㅎㅎ;
어느쪽을 선택하시던 정상동작하는 부분이라면 해당 문제는 완전히 해결되었다고 보는 것이 맞겠습니다.
제가 말씀드린 꼬인 DSDT는 모든 경로들이 제대로 정립되어있지 않고,
하나의 경로가 서너개 이상씩 쪼개어져 분포해있는 것을 말합니다.
해당 부분이야 어차피 나중에 정리해주면 되겠지만, 이런 경우에는 그냥
있는 상태에서 패치하는 것이 가장 낫다 보여집니다.
[잘못 건드리면 패닉으로 이어질 가능성이 높기 때문입니다.]
감사합니다 ^^
안녕하세요.
모든 포트가 USB3.0으로 잡히는데, 전송속도가 5GB/s로 잡힌다면 (포트 개수 제한을 제외하고) 실사용에는 문제가 없는지요...?
감사합니다.
USB 2.0과 3.0을 분리해서 표기시킬 수 있는 방법이 있는것으로 알고는 있는데,
실제 3.0 지원 기기들의 속도를 측정하셔서 정상적으로 동작하는거라면, 굳이 분리하지 않고 그대로 사용하셔도 무방합니다.
오히려 2.0 / 3.0 강제로 분리 시도했다가 다른데서 오류가 발생하는 경우가 많은지라 그대로 사용을 추천드립니다.
이걸 어떻게 적용해야 할지 머리가 하애집니다.
Asrock H97 performance 제품인데, 블루투스 모듈(BCM943602CS) 인식이 안되는걸 보면 분명 USB 문제인데...
kext로 해결할 방법은 없는 건가요?
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
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 | 1401 | 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 | 908 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4002 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5082 | 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 | 101 | 24.10.2322:26 | 뿌엥 |
Hot OCLP로 지원되지 않는 기기/dGPU를 사용하는 해킨토시의 사이드카 품질 문제 해결방법 +1 | 114 | 24.10.2321:29 | 해킨도전자 |
114 | 24.10.2321:29 | 해킨도전자 | |
105 | 24.10.2319:04 | 사노라맨 | |
783 | 24.10.1412:27 | shl628 | |
659 | 24.10.1316:00 | 수박 | |
936 | 24.10.1121:10 | 좌절금지 | |
574 | 24.10.0900:22 | 줌바이퍼 | |
1401 | 24.07.1219:19 | Stultus | |
1209 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
463 | 24.09.2808:22 | Tamy | |
893 | 24.09.2321:32 | Stultus | |
601 | 24.09.1722:40 | 좌절금지 | |
562 | 24.09.1708:13 | 김경석 | |
768 | 24.09.1504:35 | Tamy | |
584 | 24.09.1319:18 | Stultus | |
706 | 24.09.1019:44 | 치토 | |
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 | 화정큐삼 | |
419 | 24.08.1419:58 | Stultus | |
377 | 24.08.1311:26 | 오디세이 | |
270 | 24.08.1115:46 | 좌절금지 | |
233 | 24.08.1022:46 | Stultus | |
131 | 24.08.0609:17 | RogerT | |
88 | 24.08.0523:34 | jbhlyk | |
267 | 24.08.0521:10 | 수인과윤슈 | |
621 | 24.08.0221:07 | Stultus | |
391 | 24.07.3019:12 | Tamy | |
308 | 24.07.2112:43 | Stultus | |
284 | 24.07.1122:47 | Stultus | |
215 | 24.07.1020:44 | Stultus | |
257 | 24.07.0921:44 | Stultus | |
384 | 24.07.0820:57 | Stultus | |
397 | 24.07.0721:25 | Stultus | |
359 | 24.07.0604:41 | bsiugr | |
650 | 24.07.0509:56 | 애플브리크 | |
472 | 24.06.2723:24 | 치토 | |
852 | 24.06.1120:40 | Stultus | |
1447 | 24.04.3022:28 | Stultus | |
1027 | 24.04.2718:46 | Stultus | |
3084 | 24.04.1312:15 | Stultus | |
3049 | 24.04.0712:49 | Stultus | |
1537 | 24.04.0619:59 | Stultus | |
1517 | 24.04.0613:43 | Stultus | |
2665 | 24.04.0521:57 | Stultus |
1빠네요 ㅎㅎ 선추천 후정독입니다. (사실 저는 데탑이어서 그런진 모르겠습니다만, USB가 알아서 잘 잡혔고 속도도 잘 나오더랍니다..ㄷㄷ 그래도 전력문제가 있어서 따라해봐야겠습니다.)