8 votos

Desactivar la alimentación USB en OS X/Mac Mini

Tengo la necesidad de apagar (y encender) el USB usando un script o una pieza de software. Idealmente debería ser posible apagar/encender cada puerto por separado, pero también apagar/encender todos los puertos a la vez es suficiente. La máquina que estoy usando es Mac Mini. ¿Alguien tiene una solución para esto?

Por alimentación USB me refiero a Vbus, la conexión de 5V/500mA. Entiendo que la conexión de datos también se baja y está bien, pero no me basta con que la conexión de datos se baje y Vbus siga alimentado. Esta necesidad viene de la necesidad de mantener los móviles constantemente conectados para las pruebas automáticas. A algunas combinaciones de dispositivos y baterías no les gusta estar constantemente conectados y las baterías empiezan a hincharse en menos de un año.

Reconozco que existen múltiples variaciones de esta pregunta. Hasta ahora no hay ninguna solución que pueda utilizar. Voy a enumerar aquí mis hallazgos hasta ahora:

  • es posible conseguirlo utilizando un HUB USB externo autoalimentado y controlando su alimentación. Sin embargo, esto no es una opción para mí (incluso los hubs de calidad han causado otros problemas en mi uso).

  • es posible desactivar el USB eliminando los archivos .kext. Entre otras fuentes se explica en OS X Documento de configuración de seguridad . Sin embargo, esto requiere reiniciar y no estoy seguro de si realmente desactiva la energía USB o sólo los datos.

  • hay muchas afirmaciones de que simplemente no es posible. Sin embargo, el propio OS X lo hace cuando detecta un dispositivo que consume demasiada energía, así que al menos hay soporte de hardware. Este mensaje de error está copiado de /System/Library/Extension/IOUSBFamily.kext/Contents/Resources/English.lproj/Localizable.strings: "Desenchufe el dispositivo que utiliza demasiada energía para volver a habilitar los dispositivos USB". (por supuesto, no sé si la deshabilitación se hace desconectando la alimentación del USB, pero asumiría que es una acción natural para el dispositivo que consume demasiada).

  • parece que en el macbook los puertos USB se alimentan normalmente incluso cuando el portátil está durmiendo. Mientras que este no resuelve mi problema, es algo relacionado.

La razón por la que necesito esto es que tengo un sistema de prueba en el que se conectan varios dispositivos a un mac mini. Los dispositivos también se cargan por USB. Ha resultado que si el dispositivo está conectado todo el tiempo a un cargador, su batería se hincha en aproximadamente un año, lo que hace que el dispositivo sea inutilizable, inseguro y potencialmente peligroso. Apagar el dispositivo cuando no se necesita, alargaría significativamente su vida útil.

4voto

Jose Chavez Puntos 645

Pasé mucho tiempo investigando este problema hace algunos años; mi conclusión es que simplemente no es posible con la información de que disponemos. El control de la potencia ocurre a un nivel mucho más bajo que el propio kernel de MacOS, así que no es sólo cuestión de configurar MacOS o de hurgar en la estructura de datos correcta del kernel. Hay que modificar el firmware, lo que no es posible para los usuarios normales.

La única solución que he encontrado que funciona es utilizar un concentrador. Esto me ha funcionado muy bien. Si tienes un hub que soporta la conmutación de energía en grupo, puedes fácilmente apagar/encender la energía para cada grupo (conjunto de puertos). Del mismo modo, si tienes un hub que soporta la conmutación de energía por puerto, puedes apagar/encender cada puerto del hub individualmente.

Puedes descargar el software para MacOS para controlar el concentrador desde aquí:

https://github.com/mvp/uhubctl

Tenga en cuenta que esta utilidad sólo admite el control de concentradores que permiten la conmutación de energía por puerto. El sitio web tiene una lista de concentradores USB compatibles.

Una vez que me decanté por la solución del concentrador, lo más difícil fue encontrar un concentrador USB que soportara la conmutación de energía por puerto o en grupo. La parte del software es muy fácil.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X