Come disabilitare (e riattivare) la mia porta Thunderbolt dal terminale?


8

Ho avuto questo problema con il mio Matrox DualHead2Go ME e il mio MBP da 15 "alla fine del 2011 (in esecuzione 10.9.2). Quando i display si riattivano dal sonno, il monitor esterno non si risveglia.

Ho capito che ciò è dovuto al fatto che l'unità Matrox passa alla propria modalità di sospensione e non viene riattivata dal segnale di attivazione del sistema operativo.

Ciò che funziona è scollegare e ricollegare il cavo thunderbolt a cui è collegato Matrox. Questo non è l'ideale, tuttavia, poiché mi preoccupo dell'usura dovuta al collegamento / scollegamento del cavo più volte al giorno.

Esiste un modo per accendere e spegnere il mio fulmine dal terminale per evitare il costante collegamento / scollegamento del cavo del fulmine?


1
Nota sulla risposta accettata: entrambi erano buoni e utili. Ho dato la grazia alla risposta con le informazioni più specifiche sul mio caso e ho accettato la risposta che fornisce la soluzione più semplice (imho).
Dennis

Risposte:


2

La community di Hackint0sh ha generosamente creato alcuni strumenti di gestione del kext che tutti possono usare, anche quelli che possiedono e gestiscono un Macintosh autentico, autentico Macintosh.

Puoi utilizzare questi strumenti per sperimentare e scoprire rapidamente esattamente cosa funzionerà per te. SRTools, almeno, ha persino cronologia e funzioni di annullamento per aiutarti a evitare di lasciare il tuo computer in uno stato non avviabile, che è possibile quando si scherza con le estensioni di OS X. Vedi ... userland è userland, e lo spazio del kernel è lo spazio del kernel, e mai i due si incontreranno, tranne che nella pagina di Wikipedia .

L'idea qui e a cosa servono questi strumenti è quella di sperimentare. Nel Finder, sotto il menu Vai, selezionare "Vai alla cartella ..." o di tipo ⇪ shift- ⌘ command- ge il tipo / System / Library / Extensions nel campo dell'indirizzo che appare, e, nella finestra che si apre, sguardo per le estensioni con "colpo di fulmine "nel nome del file. Usa una delle utility collegate sopra per testare la tua installazione scaricando e caricando i vari kexts, per vedere quale, se ce n'è davvero uno, si rivelerà come quello di cui hai bisogno. Quindi è possibile semplificare il processo in un secondo momento (ad esempio con uno script bash molto semplice che è stato applicato per scaricare / ricaricare un kext).

Una grande risorsa per scoprire come personalizzare la tua particolare configurazione è quella di sfogliare la Libreria degli sviluppatori e, ovviamente, Wikipedia è spesso essenziale per la scoperta e, a volte, per una comprensione scintillante.


3

Apple ha diversi kexts per la connessione Thunderbolt:

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

Penso che i comandi che stai cercando siano:

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

o

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

Ho una porta Thunderbolt nel mio Mac Pro, ma attualmente nessun dispositivo. Quindi non posso dirti esattamente quale kext fa il trucco.

-- Ulteriori informazioni :

Il fulmine è fondamentalmente PCIe tunnel attraverso la connessione DisplayPort. Posso immaginare che sia basato sull'estensione del kernel ACPIPlatform o IOPCIFamily. In ogni caso, se scarichi quelli, probabilmente taglieresti il ​​ramo su cui sei seduto.

Apple ha rilasciato un documento sulla creazione di driver Thunderbolt e su come verificare se il dispositivo è ancora online qui .

Dice anche: "Nel caso di PCI, la famiglia I / O PCI (IOPCIFamily) all'interno del kit I / O è responsabile dell'enumerazione del ponte PCI nel chip del controller e di eventuali ponti o dispositivi a valle".

Inoltre: "I driver di dispositivo PCI possono determinare se un dispositivo Thunderbolt è collegato cercando ricorsivamente tra i genitori nel registro I / O la chiave IOPCITunnelled (...)."

Dai un'occhiata anche alla Libreria degli sviluppatori .

Thunderbolt è una tecnologia complicata e potresti scrivere un piccolo programma oppure puoi scrivere uno script di avvio che controlla e ricarica il driver se il dispositivo è offline. Potresti farlo manualmente invece di scollegarlo e ricollegarlo.


Raccolgo che è il sudo kext[un]load /System/Library/Extensions/IOThunderboltFamily.kextcomando, ma sto ottenendo il seguente errore: (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).Hai idea di come fare per ignorare questo?
Dennis,

@Dennis Mi sono imbattuto nello stesso problema quando ho provato a farlo. Ho trovato una spiegazione su StackExchange: stackoverflow.com/questions/13536970/... E poi ho provato le SRTools elencate da chillin e che sembra funzionare per il mio TB-> Ethernet Adapter .. Ma devo scarico almeno 3 kexts
rwenz3l

2
@Dennis questi Kexts hanno dipendenze: "Se un altro kext caricato ha una dipendenza dal kext che viene scaricato, lo scaricamento fallirà. Puoi determinare se un kext ha dipendenze usando lo strumento kextstat (8)."
njboot,

@Dennis Provalo dopo aver disabilitato SIP
Sayan il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.