Как перезагрузить подсистему USB?


12

Я работаю на Arduino, и иногда используемый USB-порт перестает работать. Затем мне нужно подключить устройство к другому USB-порту. Как только все порты USB перестают работать, я должен перезагрузить компьютер, который действительно раздражает.

Насколько я помню, есть команда, которая может перезапустить подсистему USB по отдельности, но я не помню. Как я могу перезагрузить USB без перезагрузки всей системы?

Я использую macOS Sierra.

Это отличается от вопроса сброса USB-порта на MacBook Pro, поскольку мне нужно только программное решение, так как мои USB-порты зависают - это означает, что они перестают работать до полной перезагрузки системы. Должен быть способ перезапуска подсистемы USB по отдельности.


Какую модель (ы) Mac вы используете?
IconDaemon

2
Почему это не связано с Mac? Речь идет о портах USB на его Mac и о том, как перезагрузить систему USB на Mac, а не на Arduino. С другой стороны, сообщество Ardiono может быть более полезным, поскольку они будут чаще видеть эту проблему. arduino.stackexchange.com
SPRBRN

Из моего комментария, который начинается «Из того, как сформулирован ваш вопрос ...», объясняется, почему он не связан с Mac. Вы должны четко сформулировать, в чем заключается ваша проблема, каков ваш ожидаемый результат и какова ваша среда. Помните, мы не должны смотреть через плечо. Кроме того , этот вопрос в последнее время отвеченные адреса ваш вопрос apple.stackexchange.com/questions/294944/... так что теперь ваш вопрос (на основе комментариев) является потенциально боян.
Аллан

Это похоже на проблему XY. Возможная причина проблемы - устройство Arduino потребляет слишком много энергии и перегревает шину USB. Подключите его к USB-концентратору с внешним питанием и подключите USB-концентратор с внешним питанием к Mac.
user3439894

Ответы:


5

Вы можете сбросить шину USB с помощью USB Prober.app. Он не включен в XCode, но вы можете скачать его отдельно со страницы загрузки Apple Developer . Вам нужно будет зарегистрироваться и войти.

  1. искать iousbfamily
  2. Загрузите последний файл IOUSBFamily Log Release (на момент публикации это было IOUSBFamiliy Log Release for OS X 10.9.3)
  3. Смонтируйте .dmg и перейдите в каталог с IOUSB-XXXXXX-log.
  4. Не устанавливайте. Просто щелкните правой кнопкой мыши по пакету и выберите «Показать содержимое пакета».
  5. Распакуйте Archive.pax.gz; файл USBProber.app будет находиться в/Archive/DevTools/Hardware


Важный:

Просто запустив приложение, вы сбросите шину USB. Удостоверьтесь, что вы отключили все ненужные диски, которые вы хотите удалить из памяти!


Я не могу сбросить USB с этим USB Prober. Можете ли вы указать, как это сделать?
haxpanel

Просто запустив USB Prober, вы сбросите настройки. Что ты делал и что случилось?
Аллан

2
Я сделал все в соответствии с вашим ответом, но приложение не сбрасывает его.
haxpanel

Я хорошо помню, что была команда перезапустить эту чёртову чепуху USB. 1 часть команды, в терминале. Мне просто не нужно перезапускать его в обычный день, чтобы я его забыл ....
haxpanel

На самом деле это не работает здесь. Пытался установить «плохую» флешку на последнюю Sierra. Дальнейшие палочки не распознаются до перезапуска. Внешняя периферия по-прежнему работает после плохой флешки, USBProber ничего не сбрасывает при запуске. Любым другим путем?
LаngLаngС

2

Я смог сбросить настройки сетевого адаптера USB с помощью этой команды

$ USB\ Prober.app/Contents/Resources/reenumerate -v 0x00000bda,0x00008153
Verbose mode ON
Looking for vid: 0xbda, pid: 0x8153
Found "USB 10/100/1000 LAN" @ 0x14640000
Calling USBDeviceReEnumerate
ResetDevice returns 0x00000000

Как получить Prober.app объясняется здесь: Как перезапустить USB-подсистему?


1
Что такое Prober.app? Что именно здесь происходит? В каком каталоге находится USB?
IceFire

1
В Мохаве эта команда, использующая USB Prober, не работает для меня. Я вижу первые две строки, но ничего после этого.
Патрик Чу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.