터미널에서 Thunderbolt 포트를 비활성화하고 다시 활성화하는 방법은 무엇입니까?


8

Matrox DualHead2Go ME와 2011 년 말 15 인치 MBP (10.9.2 실행)에서이 문제가 발생했습니다. 디스플레이가 절전 모드에서 해제되면 외부 모니터가 다시 활성화되지 않습니다.

Matrox 장치가 자체 절전 모드로 전환되고 OS의 깨우기 신호로 다시 깨우지 않기 때문입니다.

작동하는 것은 Matrox가 연결된 벼락 케이블을 뽑았다가 다시 꽂는 것입니다. 그러나 하루에 여러 번 케이블을 꽂거나 뽑을 때 마모가 걱정되므로 이상적이지 않습니다.

Thunderbolt 케이블의 지속적인 플러그 / 플러그 해제를 피하기 위해 터미널에서 Thunderbolt 드라이브를 켜거나 끌 수있는 방법이 있습니까?


1
허용 된 답변에 대한 참고 사항 : 모두 훌륭하고 도움이되었습니다. 본인의 사례에 대한보다 구체적인 정보를 통해 답변에 현상금을 제공하고 가장 쉬운 (imho) 솔루션을 제공하는 답변을 수락했습니다.
Dennis

답변:


2

Hackint0sh Community는 모든 사람이 사용할 수있는 일부 kext 관리 도구, 진정한 Macintosh를 소유하고 운영하는 도구를 관대하게 만들었습니다.

이러한 도구를 사용하여 자신에게 맞는 것을 정확하게 실험하고 신속하게 발견 할 수 있습니다. SRTools에는 최소한 OS X 확장 기능을 사용하는 경우 시스템을 부팅 할 수없는 상태로 두지 않도록하는 기록 및 실행 취소 기능도 있습니다. 알다시피 ... userland는 userland이고, 커널 공간은 커널 공간이며, wikipedia 페이지를 제외하고는 트웨인이 만나지 않습니다 .

여기에서의 아이디어와 이러한 도구의 용도는 실험하는 것입니다. Finder에서 이동 메뉴에서 "폴더로 이동 ..."또는 유형 선택 ⇪ shift- ⌘ command- g와 형 / 시스템 / 라이브러리 / 확장 주소 필드에 나타납니다, 그리고, "벼락과 확장에 대한보고 창이 열리면 파일 이름에 " 위의 링크 된 유틸리티 중 하나를 사용하여 다양한 kext를 언로드 및로드하여 설정을 테스트하고 실제로 필요한 경우 어떤 것을 표시하는지 확인하십시오. 그런 다음 나중에 프로세스를 간소화 할 수 있습니다 (예 : kext를 언로드 / 리로드 하도록 적용된 매우 간단한 bash 스크립트 사용 ).

특정 설정을 사용자 정의하는 방법을 발견하는 데 도움이되는 훌륭한 자료는 개발자 라이브러리 를 탐색하는 것 입니다. 물론 위키 백과 는 종종 발견하고 때로는 이해하기 쉽도록 필수적입니다.


3

애플은 Thunderbolt-Connection을위한 몇 가지 기능을 가지고 있습니다.

AppleThunderboltDPAdapters.kext
AppleThunderboltEDMService.kext
AppleThunderboltIP.kext
AppleThunderboltNHI.kext
AppleThunderboltPCIAdapters.kext
AppleThunderboltUTDM.kext
IOThunderboltFamily.kext

나는 당신이 찾고있는 명령이 다음 중 하나라고 생각합니다.

sudo kextunload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext
sudo kextload /System/Library/Extensions/AppleThunderboltPCIAdapters.kext

또는

sudo kextunload /System/Library/Extensions/IOThunderboltFamily.kext    
sudo kextload /System/Library/Extensions/IOThunderboltFamily.kext

Mac Pro에 Thunderbolt 포트가 있지만 현재 장비가 없습니다. 어떤 트릭이 트릭을 수행하는지 정확하게 말할 수는 없습니다.

-추가 정보 :

Thunderbolt는 기본적으로 DisplayPort 연결을 통해 PCIe 터널링됩니다. 나는 그것이 ACPIPlatform 또는 IOPCIFamily 커널 확장을 기반으로한다고 상상할 수 있습니다. 어느 쪽이든 언로드하면 아마도 앉아있는 가지를 잘라 버릴 것입니다.

애플은 썬더 볼트 드라이버 생성에 관한 문서와 디바이스가 아직 온라인 상태인지 확인하는 방법을 공개 했다 .

"PCI의 경우 I / O 키트 내의 I / O PCI 제품군 (IOPCIFamily)은 컨트롤러 칩과 다운 스트림 브리지 또는 장치의 PCI 브리지를 열거합니다."

또한 "PCI 장치 드라이버는 I / O 레지스트리의 부모를 통해 주요 IOPCITunnelled (...)를 재귀 적으로 검색하여 Thunderbolt 장치가 연결되어 있는지 확인할 수 있습니다."

또한 개발자 라이브러리를 살펴보십시오 .

Thunderbolt는 복잡한 기술이므로 작은 프로그램을 작성하거나 장치가 오프라인 인 경우 드라이버를 확인하고 다시로드하는 시작 스크립트를 작성할 수 있습니다. 플러그를 뽑았다가 다시 꽂는 대신 수동으로 수행 할 수 있습니다.


나는 그것이의 수집 sudo kext[un]load /System/Library/Extensions/IOThunderboltFamily.kext명령,하지만 난 다음 오류 받고 있어요 : (kernel) Can't remove kext com.apple.iokit.IOThunderboltFamily; services failed to terminate - 0xdc008018. Failed to unload com.apple.iokit.IOThunderboltFamily - (libkern/kext) kext is in use or retained (cannot unload).나는이를 오버라이드 (override)에 대해 가고 싶어 어떻게 어떤 생각을?
Dennis

@Dennis 나는 이것을하려고 할 때 같은 문제를 겪었습니다. 나는 stackexchange에 대한 설명을 발견 : stackoverflow.com/questions/13536970/...을 그리고 난 다음 어때으로 나열된 SRTools을 시도하고 내 TB-> 이더넷 어댑터 ..를하지만 언로드 적어도 3 kexts에이를 위해 작동하는 것 같다
rwenz3l

2
@Dennis의 Kext는 다음과 같은 종속성을 갖습니다. "로드 된 다른 kext가 언로드중인 kext에 대한 종속성이있는 경우 언로드가 실패합니다. kextstat (8) 도구를 사용하여 kext에 종속 항목이 있는지 판별 할 수 있습니다."
njboot

@Dennis SIP를 비활성화 한 후 사용해보십시오
Sayan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.