Bagaimana cara menonaktifkan (dan mengaktifkan kembali) port Thunderbolt saya dari terminal?


8

Saya mengalami masalah ini dengan Matrox DualHead2Go ME dan MBP 15 "saya pada akhir 2011 (menjalankan 10.9.2). Ketika monitor bangun dari tidur, monitor eksternal tidak bangun kembali.

Saya telah mengumpulkan bahwa ini karena unit Matrox masuk ke mode tidurnya sendiri dan tidak dibangunkan kembali oleh sinyal bangun OS.

Apa yang berhasil adalah mencabut dan menyambungkan kembali kabel thunderbolt Matrox saya terhubung dengan. Ini kurang dari ideal, namun, karena saya khawatir tentang keausan dari mencolokkan / melepas kabel beberapa kali sehari.

Apakah ada cara saya bisa menghidupkan dan mematikan drive thunderbolt dari terminal untuk menghindari steker / pencabut kabel thunderbolt yang konstan?


1
Catatan tentang jawaban yang diterima: keduanya baik dan bermanfaat. Saya memberikan hadiah kepada jawaban dengan informasi yang lebih spesifik tentang kasus saya dan menerima jawaban yang memberikan solusi termudah (imho).
Dennis

Jawaban:


2

Komunitas Hackint0sh telah dengan murah hati membuat beberapa alat manajemen kext untuk digunakan semua orang, bahkan yang memiliki dan mengoperasikan tulang, Macintosh asli.

Anda dapat menggunakan alat ini untuk bereksperimen dan dengan cepat menemukan apa yang akan bekerja untuk Anda. SRTools, setidaknya, bahkan memiliki fungsi histori dan undo untuk membantu Anda menghindari meninggalkan mesin Anda dalam keadaan tidak bisa di-boot, yang dimungkinkan saat bermain-main dengan ekstensi OS X. Anda lihat ... userland adalah userland, dan ruang kernel adalah ruang kernel, dan tidak pernah keduanya bertemu, kecuali pada halaman wikipedia .

Gagasan di sini, dan untuk apa alat-alat ini digunakan, adalah untuk bereksperimen. Di Finder, di bawah menu Go, pilih "Go to Folder ..." atau ketik ⇪ shift- ⌘ command- gdan ketik / System / Library / Extensions di bidang alamat yang muncul, dan di jendela yang terbuka, cari ekstensi dengan "thunderbolt "dalam nama file. Gunakan salah satu utilitas tertaut di atas untuk menguji pengaturan Anda dengan membongkar dan memuat berbagai kex, untuk melihat yang mana, jika memang ada, yang akan mengungkapkan dirinya sebagai yang Anda butuhkan. Kemudian Anda dapat merampingkan proses nanti (seperti dengan skrip bash yang sangat sederhana yang telah ditetapkan untuk menurunkan / memuat ulang kext).

Sumber yang bagus untuk menemukan cara menyesuaikan pengaturan khusus Anda adalah menelusuri Perpustakaan Pengembang , dan, tentu saja, wikipedia sering kali sangat penting untuk penemuan, dan kadang-kadang, mengilat pemahaman.


3

Apple memiliki beberapa kexts untuk Thunderbolt-Connection:

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

Saya pikir perintah yang Anda cari adalah:

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

atau

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

Saya memiliki port Thunderbolt di Mac Pro saya, tetapi saat ini tidak ada perangkat. Jadi saya tidak bisa memberi tahu Anda dengan tepat kext mana yang berhasil.

-- Informasi lebih lanjut :

Thunderbolt pada dasarnya adalah PCIe tunneled melalui DisplayPort Connection. Saya bisa membayangkan bahwa ini didasarkan pada ACPIPlatform atau ekstensi kernel IOPCIFamily. Bagaimanapun, jika Anda menurunkannya, Anda mungkin akan memotong cabang tempat Anda duduk.

Apple merilis dokumen tentang cara membuat driver Thunderbolt dan bagaimana Anda memverifikasi jika perangkat masih online di sini .

Ia juga mengatakan: "Dalam kasus PCI, keluarga I / O PCI (IOPCIFamily) dalam I / O Kit bertanggung jawab untuk menyebutkan jembatan PCI dalam chip pengontrol dan segala jembatan atau perangkat hilir."

Lebih lanjut: "driver perangkat PCI dapat menentukan apakah perangkat Thunderbolt terhubung dengan mencari secara berulang orang tua di dalam I / O Registry untuk kunci IOPCIT yang dibelinya (...)."

Lihat juga ke Perpustakaan Pengembang .

Thunderbolt adalah teknologi yang rumit dan Anda bisa menulis sedikit program atau Anda dapat menulis skrip peluncuran yang memeriksa dan memuat ulang driver jika perangkat sedang offline. Anda bisa melakukannya secara manual alih-alih mencabutnya dan memasangnya kembali.


Saya mengumpulkan itu adalah sudo kext[un]load /System/Library/Extensions/IOThunderboltFamily.kextperintah, tetapi saya mendapatkan kesalahan berikut: (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).Adakah yang tahu bagaimana saya akan mengesampingkan ini?
Dennis

@ Dennis Saya menemukan masalah yang sama ketika mencoba melakukan ini. Saya menemukan penjelasan tentang stackexchange: stackoverflow.com/questions/13536970/... Dan saya kemudian mencoba SRTools yang terdaftar oleh chillin dan yang sepertinya berfungsi untuk TB-> Ethernet Adapter saya. Tetapi saya harus membongkar setidaknya 3 kexts
rwenz3l

2
@Dennis Kext ini memiliki dependensi: "Jika kext lain yang dimuat memiliki ketergantungan pada kext yang dibongkar, pembongkaran akan gagal. Anda dapat menentukan apakah kext memiliki tanggungan menggunakan alat kextstat (8)."
njboot

@Dennis Cobalah setelah menonaktifkan SIP
Sayan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.