Estoy desarrollando en Arduino y, a veces, el puerto USB que se está utilizando deja de funcionar. Luego necesito conectar el dispositivo a otro puerto USB. Una vez que todos los puertos USB dejan de funcionar, tengo que reiniciar la máquina, lo cual es realmente molesto.
Por lo que recuerdo, hay un comando que puede reiniciar el subsistema USB individualmente, pero no recuerdo. ¿Cómo puedo reiniciar los USB sin reiniciar todo el sistema?
Estoy usando macOS Sierra.
Esto es diferente a la pregunta Restablecimiento del puerto USB en una MacBook Pro , ya que necesito una solución solo de software ya que mis puertos USB se congelan, lo que significa que dejan de funcionar hasta que se reinicia el sistema por completo. Debe haber una forma de reiniciar el subsistema USB individualmente.
Puede restablecer el bus USB con la aplicación USB Prober. No está incluido con XCode, pero puede descargarlo por separado desde la página de descargas para desarrolladores de Apple . Deberá registrarse e iniciar sesión.
iousbfamily
IOUSBFamiliy Log Release for OS X 10.9.3
)Archive.pax.gz
; el archivo USBProber.app estará en/Archive/DevTools/Hardware
Simplemente iniciar la aplicación restablecerá su bus USB. ¡Asegúrese de desmontar las unidades que no desea que se eliminen de forma incorrecta y sin ceremonias!
sudo ./USB\ Prober.app/Contents/Resources/reenumerate -v 0x00000bda,0x00008153 sudo: ./USB Prober.app/Contents/Resources/reenumerate: command not found
Para restablecer un dispositivo USB, primero descargue el USB Prober.app
como se explica en esta otra respuesta .
A continuación, debe averiguar los identificadores de proveedor y producto del dispositivo USB que desea restablecer. Puede hacerlo con USB Prober, pero puede ser más fácil usando la System Profiler
aplicación desde su carpeta de aplicaciones/utilidades: seleccione USB
dentro del Hardware
tema en el panel izquierdo, luego busque su dispositivo USB en el panel superior derecho, selecciónelo y Verá sus ID de producto y proveedor que se muestran a continuación, así:
Los ID de inicio son códigos hexadecimales que comienzan con 0x y tienen 4 dígitos/letras más. Tome nota de ellos, con la identificación del proveedor primero.
Dentro de USB Prober, hay una herramienta llamada reenumerate
que debe invocar desde Terminal.app (encuéntrela en su carpeta de Aplicaciones / Utilidades).
Mueva o copie lo descargado USB Prober.app
a su carpeta de Utilidades.
Abra Terminal.app
y pegue la siguiente línea en él:
/Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate
Luego haga clic en la ventana Terminal y escriba la tecla de espacio, luego escriba los dos ID de dispositivo USB, ID de proveedor primero, separados por una coma. Si sus ID fueran 0x174c y 0x55aa, entonces la línea ahora debería decir:
...$ /Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate -v 0x174c,0x55aa
Presione regresar y debería obtener un resultado similar a este:
Verbose mode ON
Looking for vid: 0x174c, pid: 0x55aa
Found "ASM105x" @ 0x14200000
Calling USBDeviceReEnumerate
USBDeviceReEnumerate returns 0x00000000
Si no obtiene más que la primera línea, significa que ingresó las identificaciones incorrectas. Si obtiene la salida completa, el dispositivo debería haberse reiniciado; para un dispositivo de disco, esto significa que se desconectará y volverá a conectar como si hubiera desconectado el cable brevemente.
Si invoca el reenumerate
comando sin ningún argumento, obtendrá información de uso con más opciones que podría probar.
IconoDaemon
SPRBRN
Alano
usuario3439894