¿Cómo puedo limitar en la actualidad un puerto USB de Raspberry Pi 2 para que los teléfonos / las mesas no intenten cargar?

1

Aunque mi caso de uso es específico de Raspberry Pi, creo que la pregunta es una pregunta general sobre el puerto de host USB.

Cuando se conecta un teléfono / tableta (especialmente iphone y ipad) a una Raspberry Pi 2, si se agota la batería, se cargará correctamente desde el puerto USB RPi2.

El problema es que, incluso con una fuente de alimentación de 2A para el RPi2, cuando un teléfono o tableta más grande se está cargando, puede causar estragos en otros dispositivos USB o en el propio RPi2. (Descubrí esto al hacer que una aplicación se bloqueara, pero solo cuando el RPi2 estaba conectado a un iPhone 6S plus con una batería al 50% o menos).

Sé que algunos concentradores, como los concentrados alimentados por bus, informan de alguna manera a un teléfono conectado "ni siquiera intentes cobrarte", así que supongo que hay una manera de que los puertos USB de una Raspberry Pi hagan lo mismo, por ejemplo , informe a los dispositivos conectados que la corriente máxima disponible es 100ma.

¿Cómo se puede modificar un RPi2 (o su puerto USB) para que los dispositivos USB conectados no intenten cargar desde el puerto?

Nota: Necesito una conexión de datos activa, solo necesito evitar que el teléfono o la tableta conectados no consuman demasiada corriente para que el RPi2 lo maneje.

    
pregunta jpwynn

1 respuesta

1

Desafortunadamente, lo que quiere lograr es no es posible . El chip concentrador USB utilizado en RPi se configura como autoalimentado, por lo que si un dispositivo solicita más de 100 mA durante la enumeración, se otorgará esta solicitud. No hay forma de reconfigurar el concentrador USB (no con los controladores estándar de Linux) para limitar los dispositivos esclavos a 100 mA.

Lo que puedes hacer es decirle a tu iPhone cuánta corriente debe consumir. De hecho, hay un programa que hace exactamente eso: configurar el consumo actual del iPhone / iPad en valores normales para que no se eliminen. tratando de cargar. Debería ser trivial modificarlo para restringir aún más el consumo actual, de modo que su iPhone no bloquee el RPi cuando intenta cargar. Por supuesto, este programa es estrictamente específico para iPhone / iPad.

Otra solución, como lo señaló @nekomatic, es conectar su iPhone (o cualquier otro dispositivo similar) a través de un concentrador alimentado por bus. Sin embargo, múltiples fuentes en Internet le aconsejan que NO use hubs alimentados por bus con RPi, porque muchos de estos concentradores simplemente no pueden enumerar correctamente, o enumerar los dispositivos conectados a ellos, debido a la falta de potencia. Sin embargo, puede valer la pena intentarlo.

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas