Supongamos que tengo un teléfono Galaxy conectado a través de USB a mi mac
Enumerar dispositivos USB es fácil y puedo ver mi teléfono conectado:
ioreg -p IOUSB -l -w 0
¿Es posible, dado que tengo la salida ioreg, desconectar un dispositivo específico (sin desconectarlo FÍSICAMENTE)?
Resulta que hay una manera de hacer esto no solo en macOS, sino en todos los sistemas *NIX gracias al repositorio mvp/uhubctl en GitHub. El programa se llama uhubctl y le permite alternar y apagar y encender puertos individuales para concentradores USB compatibles.
Como implica la descripción, deberá saber a qué puerto USB está conectado el dispositivo en cuestión (o recorrer todo el concentrador si está seguro de que no causará problemas con otros periféricos), y aun así recomiendo usar diskutil eject diskX
(o sudo umount /dev/sdX
para Linux y umount diskX
BSD) antes de apagar y encender el puerto para asegurarse de que el dispositivo se desmonte correctamente.
La página de inicio de uhubctl está aquí (puede obtener el código fuente usando git clone https://github.com/mvp/uhubctl
).
Deberá compilarlo desde la fuente de una forma u otra, ya sea con make
o mediante brew
. La forma más fácil de instalarlo de una sola vez con brew :
brew tap mvp/uhubctl https://github.com/mvp/uhubctl
brew install uhubctl
Probado y puede confirmar que funciona con concentradores USB de Apple y de terceros en macOS 10.13-10.15, y también en macOS 11 Big Sur (incluidas las Mac M1).
Martes
aeroxi
David