Як відключити (і повторно включити) мій порт Thunderbolt з терміналу?


8

У мене виникли ці проблеми з моїм Matrox DualHead2Go ME та моїм пізнім 2011 15 "MBP (працює 10.9.2). Коли дисплеї прокидаються зі сну, зовнішній монітор не прокидається знову.

Я зібрав, що це тому, що блок Matrox переходить у власний режим сну і не пробуджується сигналом пробудження ОС.

Що стосується роботи, це відключення та підключення до кабелю грому, з яким пов’язаний мій Matrox. Однак це менш, ніж ідеально, оскільки я переживаю за знос від підключення / відключення кабелю кілька разів на день.

Чи можу я включити та вимкнути свій громовідвід з терміналу, щоб уникнути постійного підключення / відключення кабелю грому?


1
Примітка щодо прийнятої відповіді: обидва були добрими та корисними. Я дав нагороду відповіді з більш конкретною інформацією про свою справу і прийняв відповідь, яка забезпечує найпростіший (імхо) рішення.
Денніс

Відповіді:


2

Спільнота Hackint0sh щедро створила кілька інструментів кексту керування для всіх, хто користується, навіть ті, хто володіє та керує кісткою, справжній Macintosh.

Ви можете використовувати ці інструменти для експерименту та швидко виявити, що саме буде працювати для вас. Принаймні, у SRTools є навіть історія та функції скасування, що допоможе вам не залишати ваш апарат у незавантаженому стані, що можливо, коли возиться з розширеннями OS X. Ви бачите ... userland - це userland, а простір ядра - це простір ядра, і ніколи не буде зустрічатися твейн, за винятком сторінки вікіпедії .

Тут ідея, і для чого ці інструменти використовуються, - це експериментувати. У Finder, в меню Go, виберіть "Перейти до папки ..." або введіть ⇪ shift- ⌘ command- gі введіть / System / Library / Extensions у поле адреси, яке з'явиться, і у вікні, що відкриється, шукайте розширення з "thunderbolt "у імені файлу. Скористайтеся однією з перерахованих вище утиліт, щоб перевірити ваш набір із вивантаженням та завантаженням різних кекстів, щоб побачити, який із них, якщо він справді є, виявить себе як потрібний. Потім ви можете впорядкувати процес пізніше (наприклад, за допомогою дуже простого скрипта bash , який був використаний для вивантаження / перезавантаження кексту).

Прекрасним ресурсом для розкриття конкретних налаштувань є перегляд Бібліотеки розробників , і, звичайно, вікіпедія досить часто необхідна для виявлення, а часом і блискучого розуміння.


3

Apple має кілька кексів для 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 - це в основному PCIe, тунельований через з'єднання DisplayPort. Я можу уявити, що вона заснована на розширенні ядра ACPIPlatform або IOPCIFamily. У будь-якому випадку, якщо ви вивантажите ті, які, ймовірно, відрізали б гілку, на якій сидите.

Apple , випустила документ про створення драйверів Thunderbolt і як перевірити , якщо пристрій по - , як і раніше онлайн тут .

Він також говорить: "У випадку PCI сім'я вводу-виводу PCI (IOPCIFamily) в комплекті вводу-виводу відповідає за перерахування моста PCI в мікросхемі контролера та будь-яких мостів або пристроїв нижче за течією".

Крім того: "Драйвери пристроїв PCI можуть визначити, чи підключено пристрій Thunderbolt шляхом рекурсивного пошуку батьків у Реєстрі вводу / виводу для ключа IOPCITunnelled (...)."

Також загляньте в Бібліотеку розробників .

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).Будь-яка ідея, як би я змінив це?
Денніс

@Dennis У мене виникли ті ж проблеми, коли я намагався це зробити. Я знайшов пояснення на stackexchange: stackoverflow.com/questions/13536970 / ... А потім я спробував SRTools перерахованих Chillin і що , здається, працює для мого> Ethernet ТБ - адаптер .. Але я повинен розвантажити по крайней мере 3 кекстов
rwenz3l

2
@Dennis у цих Kexts є залежності: "Якщо інший завантажений кекст має залежність від завантаження кексту, вивантаження не вдасться. Ви можете визначити, чи має кекст залежні, використовуючи інструмент kextstat (8)."
njboot

@Dennis Спробуйте після відключення SIP
Sayan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.