Las ranuras USB dejan de funcionar de vez en cuando

30

Después de volver a instalar el sistema Lubuntu 12.04 en mi computadora portátil, un problema anterior volvió a surgir después de unos días y la instalación de diferentes programas: sin razón aparente, el mouse externo y, a veces, otros dispositivos conectados por USB (incluido el disco duro) dejan de funcionar. El disco duro muestra que tiene tensión ya que tiene una luz allí, y el mouse externo parpadea por un segundo cuando está enchufado.

He publicado una versión diferente de este problema antes . Lo guardo por ahora como ejemplo de las dos respuestas allí. Ninguno de ellos trabaja aquí.

Cerrar sesión no hace nada, reiniciar sí.

El evento parece completamente aleatorio, después de reiniciar, reaparecerá después de muchos días o semanas o, rara vez, después de unas pocas horas.

Lo que cuenta es al final, supongo:

Nov 24 14:06:55 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29953.822962] usb 3-1: USB disconnect, device number 3
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069427] uhci_hcd 0000:00:1d.0: host controller process error, something bad happened!
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069439] uhci_hcd 0000:00:1d.0: host controller halted, very bad!
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069461] uhci_hcd 0000:00:1d.0: HC died; cleaning up
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069492] usb 2-2: USB disconnect, device number 2
  • He notado que en la mayoría de las ocasiones solo el mouse y el teclado externos se ven afectados, pero no el HDD externo. O si es así, volver a conectarlo resuelve el problema .

  • Tengo un arranque dual con WinXP: en Windows esto nunca sucede, por lo que no es un problema de hardware

  • He usado Lubuntu Quantal 12.10 y el mismo problema ocurrió allí también . Actualizar a eso no sería una solución

  • En ciertas ocasiones, solo reiniciarlo 2 o incluso 3 veces lo resolvió.


Usando la misma PC / hardware con Linux Mint 14 (Quantal) Xfce, el problema casi desapareció (sucedió una vez desde entonces). No estoy seguro de si esta 'solución' proviene del uso de Xfce o Mint (supongo que Mint 14 Nadia usa el mismo núcleo que Lubuntu Quantal).

revs usuario47206
fuente
Por favor, publique la salida de lsusb. Hice una búsqueda en Google host controller process error, something bad happenedy la primera apareció en 2002. Luego, continúo apareciendo de vez en cuando durante todos estos años. El problema parece ser el controlador frente a algún chipset USB.
John Siu
@ John Siu: paste.ubuntu.com/1472989 : esto se hace con un mouse externo y un teclado externo. A ellos les preocupa este problema. He usado diferentes ratones y tuve el mismo problema (raramente, como dije) pero he usado exclusivamente este teclado: ¿podría ser la causa?
1
hmm, en realidad estaba buscando una línea como esta 'Bus 001 Device 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub'. Porque si 'nx8220' es el modelo correcto, la caja debería estar usando el chipset Intel 915PM. Sin embargo, solo tienes 'Linux Foundation ...'. Pondré una respuesta, ya que la sugerencia será demasiado difícil de poner en el formato adecuado aquí.
John Siu
1
si NUNCA sucede con XP, entonces no debería estar relacionado con el hardware (teclado).
John Siu
2
Como nota, solo porque no sucede en Windows, no significa que no sea un problema de hardware. Es completamente posible que Windows (o incluso los controladores de hardware) sean menos sensibles o reaccionen con más gracia ante un error o falla de hardware. (Por ejemplo, el software Logitech en Windows podría detectar la desconexión y tomar los pasos necesarios para volver a conectarse sin intervención del usuario)
Shauna

Respuestas:

6

problemas de kernel vs hardware

Si ha descartado posibles problemas de hardware, como problemas de voltaje / corriente, fallas en los puertos / concentradores USB, entonces este es probablemente un problema del núcleo.

Si se siente cómodo con posibles problemas que no se inician / problemas de pantalla negra en el arranque, puede intentar instalar el núcleo cuántico disponible en los repositorios 12.04.

Recuerde: la mayoría de los problemas de la pantalla negra se deben a la instalación de controladores gráficos propietarios. Tendrá más suerte eliminando estos primero antes de actualizar su núcleo.

Para instalar el núcleo cuántico:

sudo apt-get install linux-generic-lts-quantal

Recuerde hacer una copia de seguridad completa del sistema para permitirle recuperarse si el nuevo núcleo se rompe más de lo que arregla.

fossfreedom
fuente
Solo para tu información, tengo un problema similar con quantal. Supuse que era porque había dejado caer el HD un par de veces. Hace "clic" y luego desaparece. ¿Suena familiar?
Urraca
@ Magpie: en absoluto. Incluso ahora me doy cuenta de que: 1. nunca lo tengo en WinXP, en arranque dual, así que supongo que no es un problema de hardware, 2. También lo tuve en quantal, por lo que la actualización no sería una solución
1
@cipricus: los errores en la traza realmente hacen que parezca un problema del núcleo. Los chicos del kernel aguas arriba estarían interesados. Sin embargo, primero le pedirían que pruebe el último kernel, que es 3.8rc1, creo. Si sigue esta ruta, primero haga una copia de seguridad de su sistema con un clon de imagen. Una alternativa es hacer una copia de seguridad de su sistema (o arranque dual), instalar raring (13.04) durante una semana y ver si el problema vuelve a aparecer. luego puede volver a su sistema principal después. Raring usará el kernel v3.8, probablemente lo obtendrá en las próximas semanas.
fossfreedom
@ fossfreedom: ¿puedo crear una nueva opción de arranque de 13.04 en paralelo a 12.04 ?, como un sistema operativo diferente? El problema es que rara vez sucedió últimamente. tal vez debería esperar el estable 13 y actualizar?
1
sí (he hecho esto en el pasado 11.10 y 12.04 al mismo tiempo): al arrancar desde USB, le dará la opción de arranque dual en lugar de borrar ... pero, por favor, ¡primero haga una copia de seguridad de su sistema: )
fossfreedom
10

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 + 5V 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 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 + 5V 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 suministro externa son típicamente dispositivos de alta corriente.

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

Además de esto, el circuito que suministra + 5V a cada bus puede negarse a renegociar la capacidad de alta potencia si el dispositivo está consumiendo suficiente corriente para tirar de la línea de + 5V demasiado bajo. 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 fallaron 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, el uso de dispositivos de alta potencia debe planificarse, y si existen problemas, el dispositivo debe usarse solo en cualquier bus o recibir un suministro de + 5V 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 ocasiona que algunos o todos los dispositivos se deshabiliten.

Los tipos de cables utilizados también pueden afectar la fiabilidad de los dispositivos de alta potencia. Por ejemplo, un disco duro externo enchufado a través de un cable USB largo normal puede ver una caída de voltaje suficiente a 500 mA para deshabilitarse 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 del cable 'Y' ganó ' 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.

Dado el uso muy común de teclados y ratones USB, a veces pueden ocurrir problemas cuando ambos están conectados al mismo bus. Las corrientes de carga pico en el encendido pueden exceder las especificaciones 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, utilizando 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 + 5V, y donde los dispositivos de alta potencia estén involucrados utilizando un concentrador alimentado para ayudar con los problemas de suministro vistos en muchos suministros de bus USB 2.0. Si no es posible usar un concentrador con alimentación, entonces el dispositivo de alta potencia solo debe enchufarse después de que la computadora esté encendida y el drenaje de corriente de los dispositivos de baja potencia se haya estabilizado.

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

fabricante4
fuente
1
Excelente explicación, alguna información muy útil aquí.
2
No es el mouse en sí mismo, sino el dongle que se conecta al puerto USB que recibe los datos de movimiento del mouse. Es posible que no funcione bien con otros dispositivos y les cause problemas. No está claro por lo que nos ha dicho dónde está el verdadero culpable. Un disco duro puede encenderse bien, pero la caída de voltaje resultante puede causar el mal funcionamiento de otros dispositivos. He descubierto que es mejor encender la computadora y luego conectar los dispositivos de alta potencia una vez que los dispositivos esenciales de baja potencia se hayan estabilizado.
fabricator4
1
Después de que ocurra un problema, eche un vistazo a las últimas líneas de syslog: "cat / var / logs / syslog | tail" para ver si hay algo mencionado allí.
fabricator4
actualizaré la pregunta en consecuencia tan pronto como vuelva a suceder ... por favor siga
8

Algo similar a esto me estaba pasando. 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 ese puesto bloque, diferentes sistemas levantan colgado en diferentes lugares, por lo que si lo anterior no funciona, es posible que desee intentar sustituir /sys/bus/pci/drivers/xhci_hcd/con /sys/bus/pci/drivers/ehci_hcd/, o /sys/bus/pci/drivers/uhci_hcd/, si existe uno de esos.

valor101
fuente
1
debian 9.5: / sys / bus / pci / drivers / ehci-pci (tenga en cuenta el guión "-" not a "_")
eli
¿No debería ser esto en "$file"lugar de "$i"?
Nikolai Prokoschenko
Supongo que sí. fijo.
naught101
6

Publicación anterior y las respuestas no son relevantes para USB 3.0. Así que aquí se explica cómo restablecer un bus 3.0 que dejó de servir 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, úselo como referencia:

A lsusb -tgenerará esto: tome nota del xhci_hcdcontrolador 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 desatarme "0000:06:00.0".

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

Amir Uval
fuente
1
No puedo agradecerte lo suficiente. Esta es la única solución que funcionó para mí, ¡incluso bluetooth ahora funciona! No es necesario reiniciar más. Para mí fue "0000: 00: 14.0" usando Ubuntu 14.04 y Asus VivoBook.
Karim Sonbol
¡Con alegría! Parece que accidentalmente respondí un "wiki de la comunidad", por lo que votar no me da crédito. (@ThomasWard puede usted por favor ayuda de la ONU en la comunidad wiki esto?)
Amir Uval
1
Sin embargo, hay un problema, lo probé hoy y obtengo este error: tee: / sys / bus / pci / dhcd / unbind: No existe ese archivo o directorio tee: / sys / bus / pci / dhcd / bind: No such archivo o directorio
Karim Sonbol
@KarimSonbol ¿no es / sys / bus / pci / drivers / ...?
Amir Uval
sí, perdón, mi error
Karim Sonbol
3

Basado en lsusb

#lsusb
Bus 002 Device 002: ID 04f3:0230 Elan Microelectronics Corp. 3D Optical Mouse
Bus 003 Device 002: ID 04f3:0103 Elan Microelectronics Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Hacer lsusb -t, la salida estará en el siguiente formato

$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M

Preste atención al Bus 00Xnúmero y la versión 1.1/ 2.0USB en ambas salidas. Si el mouse y el teclado están encendidos 1.1ahora, intente moverlos al 2.0puerto o al revés.

Esto no soluciona el problema del controlador, sino una solución alternativa (si funciona).

John Siu
fuente
¿podrías ser más explícito? ¿Qué tengo que hacer? comparar el resultado de lsusbcon el de lsusb -t? ¿Qué debo buscar allí? te refieres a preferir el bus 2.0? Usualmente uso eso para disco duro externo. en tu comentario dices "Porque si 'nx8220' es el modelo correcto, la caja debería estar usando el chipset Intel 915PM. Sin embargo, solo tienes 'Linux Foundation", ¿significa esto que me falta el controlador correcto? ¿lo que se debe hacer? resultado de lsusb -tis paste.ubuntu.com/1482285
1
(1) Sí, intente usar el bus USB 2.0. Si solo tiene un puerto 2.0, vea si puede encontrar un concentrador USB externo y enchufarlo. (2) Verifico algunas de mis otras casillas y también muestran solo Linux Foundation, por lo que no es un error. (3) lsusb -tes para identificar más fácilmente el dispositivo usb y el bus que conectan.
John Siu
1
@cipricus Hay múltiples posibilidades y no puedo estar seguro. Enumeraré las causas más probables que yo sepa: (1) Software puro: el controlador de Linux no maneja el puerto 1.1 correctamente para este conjunto de chips. Esta será la causa más posible. (2) Hardware parcial: el puerto USB es sensible a la electricidad estática y puede degradarse / morir con el tiempo, especialmente para placas base y conjuntos de chips más antiguos. Su puerto 1.1 puede degradarse y no funciona muy bien, y el controlador de Linux no puede manejar esos casos especiales (como la fluctuación de voltaje), mientras que el controlador XP sabe cómo manejarlos (o tolerarlos).
John Siu
1
La especificación @cipricus USB 1.1 es lo suficientemente rápida (y bastante) para teclado y mouse. Realmente dudo si algún ser humano puede max. sacar esa velocidad con un teclado normal (con mano humana).
John Siu
¡Gracias! Estuve de acuerdo, este tipo de problema tiene que determinarse caso por caso, dependiendo del síntoma. ¡¡FELIZ AÑO NUEVO!!
John Siu
2

FWIW: si tiene problemas de USB en ubuntu debido a conflictos o problemas de alimentación, ahórrese algunos problemas y obtenga un expansor USB con alimentación: estos son dispositivos baratos que se conectan a su puerto USB y lo convierten en 5 o 10 o lo que necesite comprar y tener una fuente de alimentación separada e ir por unos 30 $ USD en Amazon.

Tuve toneladas de problemas con mi teclado y / o mouse cuando agregué un dispositivo USB y esto hizo que todos mis problemas desaparecieran.

Aclamaciones

bsautner
fuente
0

Una solución rápida que funciona al menos en mi caso (Linux Mint KDE, en una computadora portátil Lenovo Yoga 3 Pro):

Con la computadora portátil encendida, solo presione el botón de encendido durante unos 30 segundos , que se está apagando y sigue presionando durante un tiempo después de esto. Lo hice con el cargador desconectado. Después de encender la computadora portátil, los puertos USB funcionan nuevamente.

Juan M. Gonzalez
fuente