Desconecte / conecte el dispositivo USB de la línea de comando

6

Supongamos que tengo un teléfono Galaxy conectado a través de USB a mi mac

Listar 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ÍSICO)?

    
pregunta Shai 01.02.2017 - 17:50

1 respuesta

1

ACTUALIZACIÓN: Resulta que hay una forma de hacer esto no solo en macOS, sino en todos los sistemas * NIX gracias a Repositorio MVP sobre GitHub. El programa se llama uhubctl , y le permite alternar y reiniciar la alimentación de los puertos USB individuales y concentradores completos.

Como lo indicaría la descripción, deberá saber a qué puerto USB está conectado el dispositivo en cuestión (o ciclar todo el concentrador si está seguro de que no causará problemas con otros periféricos), y yo aún así recomiendo usar diskutil eject diskX (o sudo umount /dev/sdX para Linux y umount diskX para BSD) antes de apagar y encender el puerto para asegurar que el dispositivo se desmonte limpiamente.

La fuente de uhubctl es aquí

La página de GitHub es aquí

Necesitarás compilarlo desde el origen de una forma u otra, ya sea con make o mediante brew . Cualquiera que elijas, necesitarás una versión más nueva de libusb que está empaquetada con macOS para compilarla. Si tiene MacPorts y Brew instalados, puede actualizar libusb a la versión 10.0.21 e instalar uhubctl de una sola vez haciendo lo siguiente:

  

sudo port deactivate libusb
sudo port install libusb-devel
brew link --overwrite libusb
brew tap mvp/uhubctl https://github.com/mvp/uhubctl
brew install --HEAD uhubctl

Probado y puede confirmar que funciona con concentradores USB de Apple y de terceros en macOS 10.13.1

P.S. @aeroxy Admito que en todo momento usted estuvo en lo correcto y me equivoqué.

Si desea desmontarlo y tener su UDI (Identificador de disco de Unix, es decir, disk1s3 para la tercera partición en su segunda unidad), puede ejecutar diskutil unmount diskXsX desde el terminal y volver a montarlo usando el mismo comando, reemplazando desmontar con montaje.

Si está utilizando Android Debug Bridge para conectarlo, puede abrir un terminal, ir a la carpeta donde esté instalado y ejecutar ./adb stop para apagar el servidor USB local de Android, luego ./adb start para volver a conectarse cuando lo necesite a.

También puede usar la Utilidad de Discos para desmontar el dispositivo.

Finalmente, si desea expulsarlo para simular que se desenchufa por completo sin desenchufarlo físicamente, ejecute diskutil eject diskXsX desde la línea de comando, o haga clic con el botón derecho en la Utilidad de Discos y haga clic en el botón "Expulsar".

EDITAR: Si no está utilizando ADB o un programa similar como Android File Transfer (AFT), entonces no podrá desconectar el dispositivo, ya que nunca se conectó en primer lugar. Para que un dispositivo Android se conecte a un sistema Unix (y, por extensión, macOS), debe cumplir dos condiciones: 1.) El dispositivo debe tener el modo de desarrollador habilitado y la depuración de USB activada, o su dispositivo rechazará automáticamente Solicita a otro ordenador que se conecte a través de USB. 2.) Debe tener instalado un programa como ADB o AFT, estos programas ejecutan un servidor MTP Android local y deben enviar la solicitud de conexión y leer el sistema de archivos del dispositivo Android.

El modo de desarrollador se puede habilitar yendo a Settings>About Device> y tocando en Build Number 7 veces, la depuración USB está en el menú de opciones del desarrollador que ahora está en la parte inferior de la página de configuración.

La aplicación oficial de AFT para macOS se puede encontrar aquí: [enlace] ( enlace ) y la versión de línea de comandos de ADB se puede encontrar aquí: [enlace] ( enlace )

Una vez que se hayan cumplido ambos requisitos previos, debería poder desconectar el dispositivo sin desconectarlo deteniendo el servidor ADB o desmontándolo / expulsándolo como lo haría con cualquier otro sistema de archivos externo.

    
respondido por el Alison E.E. 01.02.2017 - 21:09

Lea otras preguntas en las etiquetas