web-dev-qa-db-fra.com

Les ports USB cessent de fonctionner de temps en temps

Après avoir réinstallé le système Lubuntu 12.04 sur mon ordinateur portable, un problème plus ancien est réapparu après quelques jours et l'installation de différents programmes: sans raison apparente, la souris externe et parfois d'autres périphériques connectés par USB (y compris le disque dur) cessent de fonctionner. Le disque dur indique qu'il est sous tension car il y a une lumière, et la souris externe clignote pendant une seconde lorsqu'elle est branchée.

J'ai déjà posté une version différente de ce problème . Je le garde pour l'instant comme exemple des deux réponses ici. Aucun d'entre eux ne fonctionne ici.

La déconnexion ne fait rien, le redémarrage fait.

L'événement semble entièrement aléatoire. Après le redémarrage, il réapparaîtra après plusieurs jours ou plusieurs semaines ou, rarement, après quelques heures.

  • http://Pastebin.com/0qR8bhhX dans var/log/syslog après une nouvelle occurrence ( avec uniquement un clavier et une souris filaires externes )

Ce qui compte, c'est à la fin je suppose:

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
  • J'ai remarqué que dans la plupart des cas, seuls la souris et le clavier externes sont affectés, mais pas le disque dur externe. Ou, si c'est le cas, le rebranchage résout le problème .

  • J'ai un double démarrage avec WinXP: sous Windows, cela ne se produit jamais, ce n'est donc pas un problème matériel

  • J'ai utilisé Lubuntu Quantal 12.10 et le même problème s’y est posé . Mettre à niveau à cela ne serait pas une solution

  • À certaines occasions seulement le redémarrage de 2 ou même 3 fois l'a résolu.


En utilisant le même PC/matériel avec Linux Mint 14 (Quantal) Xfce, le problème a presque disparu (il est arrivé une fois depuis). Je ne sais pas si cette "solution" provient de l'utilisation de Xfce ou de Mint (je suppose que Mint 14 Nadia utilise le même noyau que Lubuntu Quantal).

28
user47206

problèmes liés au noyau et au matériel

Si vous avez exclu d'éventuels problèmes matériels tels que des problèmes de tension/courant, des ports/concentrateurs USB défaillants, il s'agit probablement d'un problème de noyau.

Si vous vous sentez à l'aise avec d'éventuels problèmes non liés au démarrage/problèmes d'écran noir au démarrage, vous pouvez essayer d'installer le noyau quantal disponible dans les référentiels 12.04.

N'oubliez pas: la plupart des problèmes d'écran noir sont dus à l'installation de pilotes graphiques propriétaires. Vous aurez plus de chance de les supprimer avant de mettre à jour votre noyau.

Pour installer le noyau quantal:

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

N'oubliez pas de faire une sauvegarde complète du système pour vous permettre de récupérer si le nouveau noyau casse plus qu'il ne corrige.

6
fossfreedom

Problèmes d'alimentation pour USB 2.0

L'USB 2.0 a une consommation de courant maximale disponible de 500 mA, mais il convient de noter que le + 5 V sur plusieurs ports peut en réalité être sur le même bus. Par exemple, sur un ordinateur de bureau, les ports USB situés à l'avant de la machine peuvent tous se trouver sur le même bus, tandis que les ports situés à l'arrière de la machine seront normalement un bus différent ou auront des alimentations complètement séparées de + 5V pour chaque groupe de produits. Prises USB 2.0.

Un périphérique à faible courant tel que défini par la norme USB 2.0 normes peut tirer jusqu’à 100 mA (1 unité), tandis que les périphériques à courant élevé peuvent utiliser jusqu’à 5 unités (500 mA). Les disques durs sans source d'alimentation externe sont généralement des périphériques à courant élevé.

Les périphériques doivent cesser de fonctionner si la ligne + 5V passe en dessous de 4,75V. C’est pourquoi de nombreux périphériques haute puissance peuvent causer des problèmes sur certains ordinateurs.

De plus, le circuit qui fournit + 5V à chaque bus peut refuser de renégocier une capacité d'alimentation élevée si l'appareil prélève suffisamment de courant pour tirer la ligne + 5V trop bas. C’est la raison pour laquelle les périphériques à haute puissance devront être retirés et réattachés avant de fonctionner s'ils ont échoué en raison d’un problème d’alimentation, et aussi pourquoi un redémarrage ne leur permet pas de se reconnecter pendant un cycle de mise sous/hors tension complet peut le faire.

Notez que si un ou plusieurs périphériques basse consommation sont déjà connectés à un bus USB, il se peut que la capacité disponible ne soit pas suffisante pour permettre également le fonctionnement d'un périphérique haute puissance, tel qu'un disque dur externe.

Il est donc nécessaire de planifier l’utilisation d’appareils à haute puissance et, en cas de problème, l’appareil doit être utilisé seul sur un bus ou sous une alimentation + 5V distincte.

Bien que le document sur les normes USB 2.0 puisse être un peu difficile à lire, il existe de très bonnes informations et explications dans le page wikipedia sur le thème de l'USB 2.

Notez également que le fait de brancher de nombreux périphériques basse consommation, par exemple via un concentrateur USB externe, peut également provoquer une chute de tension sur la ligne d'alimentation du bus, entraînant la désactivation de tout ou partie des périphériques.

Les types de câbles utilisés peuvent également affecter la fiabilité des appareils à forte puissance. Par exemple, un disque dur externe branché via un long câble USB ordinaire peut subir une chute de tension suffisante à 500 mA pour se désactiver afin d'éviter d'endommager ses circuits ou ses moteurs de commande. Ces périphériques sont généralement fournis avec un câble court spécial ou un câble "Y" qui se branche sur deux ports USB pour résoudre le problème d'alimentation. Notez qu’il ne s’agit que d’une solution partielle au problème de câblage, mais qu’elle ne permet pas d’alimenter plus de 500 mA, car les ports USB adjacents sont susceptibles de se trouver sur la même alimentation 5V 500 mA à l’intérieur de l’ordinateur. Même si un bus séparé est utilisé pour la deuxième prise sur le câble "Y", il ne sera pas en mesure d'obtenir une alimentation à courant élevé car il ne dispose pas d'une connexion de données pour le demander à partir du bus USB. Un seul des ports sera activé en tant que source de courant élevé.

Depuis l'utilisation très courante de claviers et de souris USB, des problèmes peuvent parfois survenir lorsque ces derniers sont tous deux connectés au même bus. Les courants de charge de pointe à la mise sous tension peuvent dépasser les spécifications de conception du bus USB et entraîner la désactivation ou le dysfonctionnement de l'un des périphériques ou des deux.

Les solutions à ces problèmes impliquent généralement l’utilisation d’un minimum de périphériques à faible consommation, de dispositifs bien conçus et conçus pour la fabrication, tout en veillant à ce qu’ils soient branchés sur différents bus avec des lignes séparées + 5 V, et dans le cas où les périphériques à forte puissance sont impliqués avec un concentrateur alimenté pour résoudre les problèmes d’approvisionnement constatés sur de nombreuses fournitures de bus USB 2.0. S'il n'est pas possible d'utiliser un concentrateur alimenté, le périphérique haute puissance ne doit être branché qu'après la mise sous tension de l'ordinateur et la stabilisation du courant absorbé par les périphériques basse consommation.

Il convient également de noter ici que les ordinateurs tels que les ordinateurs portables et les netbooks peuvent avoir des périphériques USB à faible puissance intégrés en interne. Les matériels tels que les lecteurs de cartes internes, les adaptateurs 3G sans fil et les webcams sont souvent connectés en interne à un bus USB. Cela peut être un bus dédié avec sa propre alimentation + 5V, ou peut être partagé avec un ou plusieurs ports USB externes.

10
fabricator4

Quelque chose de semblable à ce qui m'arrivait. Ce blog fourni une solution partielle.

C'est ce qui a fonctionné pour moi:

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

Comme indiqué à ce billet, différents systèmes sont bloqués à différents endroits. Par conséquent, si ce qui précède ne fonctionne pas, essayez de remplacer /sys/bus/pci/drivers/xhci_hcd/ par /sys/bus/pci/drivers/ehci_hcd/ ou /sys/bus/pci/drivers/uhci_hcd/, le cas échéant.

7
naught101

Ancien post et les réponses ne concernent pas l'USB 3.0. Alors, voici comment réinitialiser un bus 3.0 qui a cessé de servir des données:

su -

et en tant que 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

Par la suite, l’USB devrait recommencer à fonctionner correctement, comme après un redémarrage.


Explication

Si vous utilisez un pilote différent, voici comment j'ai trouvé ce qu'il faut faire, utilisez-le comme référence:

Un lsusb -t générera ceci - notez le pilote xhci_hcd pour le bus rapide, il s’agit du nom du pilote 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

Le répertoire à rechercher est /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

Dans mon cas, j'avais besoin de dissocier "0000:06:00.0".

ps. Si vous devez relier le pilote USB 2.0, suivez les instructions ci-dessus, mais avec ehci-pci, ou cherchez ici (mérite un crédit).

6
Amir Uval

Base sur 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

Faites lsusb -t, le résultat sera au format suivant

$ 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

Faites attention au numéro Bus 00X et à la 1.1/2.0 version USB dans les deux sorties. Si la souris et le clavier sont maintenant sur 1.1, essayez de les déplacer vers le port 2.0 ou inversement.

Cela ne résout pas le problème du pilote, mais un contournement (si cela fonctionne).

3
John Siu

FWIW - Si vous rencontrez des problèmes USB sur Ubuntu en raison de conflits ou de problèmes d’alimentation, évitez les problèmes et obtenez un expandeur USB alimenté - ce sont des appareils pas chers qui se connectent à votre port USB et le transforment en 5 ou 10, selon vos besoins. pour acheter et avoir une alimentation séparée et aller pour environ 30 $ USD sur Amazon.

J'ai eu des tonnes de problèmes avec mon clavier et/ou ma souris lorsque j'ai ajouté un périphérique USB, ce qui a fait disparaître tous mes problèmes.

À votre santé

2
bsautner

Un solution rapide qui fonctionne au moins dans mon cas (Linux Mint KDE, sur un ordinateur portable Lenovo Yoga 3 Pro):

Lorsque l’ordinateur portable est allumé, il suffit de appuyez sur le bouton d’alimentation pendant environ 30 secondes, c’est-à-dire qu’il s’éteint et que vous appuyez encore pendant un certain temps. Je l'ai fait avec le chargeur débranché. Après avoir allumé l'ordinateur portable, les ports USB fonctionnent à nouveau.

0
Juan M. Gonzalez