15 votes

Déconnecter/connecter un périphérique USB à partir de la ligne de commande

Supposons que j'aie un téléphone Galaxy connecté par USB à mon Mac.

L'énumération des périphériques USB est facile, et je peux voir mon téléphone connecté :

ioreg -p IOUSB -l -w 0

Est-il possible, étant donné que j'ai la sortie ioreg, de déconnecter un dispositif spécifique (sans le déconnecter PHYSIQUEMENT) ?

8voto

fmarceau Points 91

Il s'avère qu'il y a es un moyen de faire cela non seulement dans MacOS, mais dans tous les systèmes *NIX grâce à la fonction mvp/uhubctl sur GitHub. Le programme s'appelle uhubctl Il vous permet de basculer et de mettre sous tension les ports individuels des concentrateurs USB pris en charge.

Comme la description le laisse entendre, vous devrez savoir à quel port USB le périphérique en question est connecté (ou faire un cycle complet du hub si vous êtes sûr que cela ne causera pas de problèmes avec d'autres périphériques), et je recommande toujours l'utilisation de diskutil eject diskX (ou sudo umount /dev/sdX pour Linux et umount diskX pour BSD) avant de mettre le port sous tension pour s'assurer que le périphérique se démonte proprement.

uhubctl La page d'accueil est ici (vous pouvez obtenir le code source en utilisant git clone https://github.com/mvp/uhubctl ).

Vous devrez le compiler à partir des sources d'une manière ou d'une autre, soit avec make ou via brew . C'est de loin le moyen le plus simple de l'installer en une seule fois avec brasser :

brew tap mvp/uhubctl https://github.com/mvp/uhubctl  
brew install uhubctl

Testé et confirmé avec les hubs USB Apple et tiers sur MacOS 10.13-10.15, et sur MacOS 11 Big Sur également (y compris les Macs M1).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X