Saltar al contenido

Las ranuras USB dejan de funcionar de repente de vez en cuando

Siéntete libre de compartir nuestro espacio y códigos con tus amigos, necesitamos tu ayuda para ampliar esta comunidad.

Solución:

Problemas de alimentación para USB 2.0

USB 2.0 tiene un consumo de corriente máximo disponible de 500 mA, sin embargo, debe tenerse en cuenta que los +5 V en varios puertos pueden estar en el mismo bus. Por ejemplo, en una caja de escritorio, los puertos USB en la parte frontal de la máquina pueden estar todos en el mismo bus, mientras que los puertos en la parte posterior de la máquina normalmente serán un bus diferente, o tendrán suministros de +5 V completamente separados para cada grupo de Tomas USB 2.0.

Un dispositivo de baja corriente según lo definido por los estándares USB 2.0 puede consumir hasta 100 mA (1 unidad), mientras que los dispositivos de alta corriente pueden consumir hasta 5 unidades (500 mA). Los discos duros sin fuente de alimentación externa suelen ser dispositivos de alta corriente.

Los dispositivos deberían dejar de funcionar si la línea de +5 V cae por debajo de 4,75 V y es por eso que muchos dispositivos de alta potencia pueden causar problemas en algunas computadoras.

Además de esto, el circuito que suministra +5 V a cada bus puede negarse a renegociar la capacidad de alta potencia si el dispositivo consume suficiente corriente para bajar demasiado la línea de +5 V. Esta es la razón por la cual los dispositivos de alta potencia deberán retirarse y volverse a conectar antes de que funcionen si han fallado debido a un problema de alimentación, y también por qué un reinicio no les permite volver a conectarlos durante un ciclo completo de apagado/encendido. puede hacerlo.

Tenga en cuenta que si uno o más dispositivos de baja potencia ya están conectados a un bus USB, es posible que no haya suficiente capacidad disponible para ejecutar también un dispositivo de alta potencia, como un disco duro externo.

Por lo tanto, debe planificarse el uso de dispositivos de alta potencia y, si existen problemas, el dispositivo debe usarse solo en cualquier bus o recibir un suministro de +5 V por separado.

Si bien el documento de estándares USB 2.0 puede ser un poco difícil de leer, hay muy buena información y explicaciones en la página de wikipedia sobre el tema de USB 2.0

También tenga en cuenta que enchufar muchos dispositivos de baja potencia, como a través de un dispositivo concentrador USB externo, también puede causar una caída de voltaje en la línea de suministro del bus, lo que hace que algunos o todos los dispositivos se deshabiliten.

Los tipos de cables utilizados también pueden afectar la confiabilidad de los dispositivos de alta potencia. Por ejemplo, un disco duro externo conectado a través de un cable USB largo normal puede experimentar una caída de voltaje suficiente a 500 mA para desactivarse y evitar daños a sus circuitos o motores de accionamiento. Estos dispositivos generalmente se suministran con un cable corto especial o un cable ‘Y’ que se conecta a dos puertos USB para ayudar con el problema de alimentación. Tenga en cuenta que esta es solo una solución parcial al problema relacionado específicamente con el problema del cableado, en realidad no permite que se suministren más de 500 mA, ya que es probable que los puertos USB adyacentes estén en el mismo suministro de 5 V 500 mA internamente en la computadora. Incluso cuando se usa un bus separado para el segundo enchufe en el cable ‘Y’, no podrá obtener un suministro de alta corriente ya que no tiene conexión de datos para solicitarlo desde el bus USB. Solo uno de los puertos estará habilitado como suministro de alta corriente.

Debido al uso muy común de teclados y ratones USB, a veces pueden surgir problemas cuando ambos están conectados al mismo bus. Las corrientes de carga máximas en el encendido pueden exceder la especificación de diseño del bus USB y causar que uno o ambos dispositivos se deshabiliten o funcionen mal.

Las soluciones a estos problemas generalmente implican usar solo un mínimo de dispositivos de baja potencia, usando solo dispositivos de baja potencia bien diseñados y fabricados, asegurándose de que estén conectados a diferentes buses con líneas separadas de +5 V, y donde se involucran dispositivos de alta potencia usando un concentrador alimentado. para ayudar con los problemas de suministro que se ven en muchos suministros de bus USB 2.0. Si no es posible usar un concentrador alimentado, entonces el dispositivo de alta potencia solo debe enchufarse después de que la computadora esté encendida y el consumo de corriente de los dispositivos de baja potencia se haya estabilizado.

También debe tenerse en cuenta aquí que las computadoras como las portátiles y las netbooks pueden tener dispositivos USB de baja potencia incorporados internamente. El hardware, como los lectores de tarjetas internos, los adaptadores 3G inalámbricos y las cámaras web, a menudo se conectan internamente a un bus USB. Este puede ser un bus dedicado con su propia alimentación de +5 V, o puede compartirse con uno o más puertos USB externos.

A mi me estaba pasando algo parecido. Esta publicación de blog proporcionó una solución parcial.

Esto es lo que funcionó para mí:

sudo -s
cd /sys/bus/pci/drivers/xhci_hcd/
for file in ????:??:??.? ; do
 echo -n "$file" > unbind
 echo -n "$file" > bind
done

Como se señaló en esa publicación de bloque, diferentes sistemas se bloquean en diferentes lugares, por lo que si lo anterior no funciona, es posible que desee intentar reemplazar /sys/bus/pci/drivers/xhci_hcd/ con /sys/bus/pci/drivers/ehci_hcd/o /sys/bus/pci/drivers/uhci_hcd/si existe alguno de ellos.

La publicación anterior y las respuestas no son relevantes para USB 3.0. Entonces, aquí le mostramos cómo restablecer un bus 3.0 que dejó de entregar datos:

su -

y como root:

echo -n "0000:06:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:06:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind

Después de esto, el USB debería comenzar a funcionar correctamente nuevamente, al igual que después de un reinicio.


Explicación

En caso de que esté usando un controlador diferente, así es como encontré qué hacer, utilícelo como referencia:

A lsusb -t generará esto: tome nota de la xhci_hcd controlador para el bus rápido, es el nombre del controlador 3.0:

$ lsusb -t
        /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
        /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
            |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=dvb_usb_it913x, 480M
        /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
            |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            ...etc

El directorio a buscar es /sys/bus/pci/drivers/xhci_hcd

        drwxr-xr-x  2 root root    0   5 21:48 ./
        drwxr-xr-x 28 root root    0   1 00:21 ../
        lrwxrwxrwx  1 root root    0   6 00:29 0000:06:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.3/0000:06:00.0/
        --w-------  1 root root 4096   5 22:33 bind
        lrwxrwxrwx  1 root root    0   5 22:32 module -> ../../../../module/xhci_hcd/
        --w-------  1 root root 4096   5 22:32 new_id
        --w-------  1 root root 4096   5 22:32 remove_id
        --w-------  1 root root 4096   5 22:32 uevent
        --w-------  1 root root 4096   5 22:33 unbind

En mi caso necesitaba desvincularme "0000:06:00.0".

PD. Si necesita volver a vincular el controlador USB 2.0, siga las instrucciones anteriores pero con ehci-pcio mira aquí (merece un crédito).

Si te gusta el tema, tienes la libertad de dejar un ensayo acerca de qué le añadirías a este tutorial.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *