Les emplacements USB cessent de fonctionner soudainement de temps en temps

30

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 USB (y compris le disque dur) cessent de fonctionner. Le disque dur montre qu'il a de la tension car il a une lumière là-bas, et la souris externe clignote pendant une seconde lorsqu'elle est branchée.

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

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

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

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 la plupart du temps, seuls la souris et le clavier externes sont affectés, mais pas le disque dur externe. Ou si c'est le cas, le rebrancher résout le problème .

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

  • J'ai utilisé Lubuntu Quantal 12.10 et le même problème s'est également produit là-bas . La mise à niveau vers cela ne serait pas une solution

  • À certaines occasions, le redémarrage seulement 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 (c'est arrivé une fois depuis). Je ne sais pas si cette «solution» vient de l'utilisation de Xfce ou de Mint (je suppose que Mint 14 Nadia utilise le même noyau que Lubuntu Quantal).

user47206
la source
Veuillez publier la sortie de lsusb. J'ai fait une recherche sur Google host controller process error, something bad happenedet la première apparait dès 2002. Ensuite, continuez à apparaître de temps en temps pendant toutes ces années. Le problème semble être le pilote par rapport à un chipset USB.
John Siu
@John Siu: paste.ubuntu.com/1472989 - cela se fait avec une souris externe et un clavier externe. ce sont eux qui sont concernés par ce problème. J'ai utilisé des souris différentes et j'ai eu le même problème (rarement, comme je l'ai dit) mais j'ai utilisé exclusivement ce clavier: est-ce la cause?
1
hmm, je cherchais en fait une ligne comme celle-ci 'Bus 001 Device 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub'. Parce que si «nx8220» est le bon modèle, la boîte doit utiliser le chipset Intel 915PM. Cependant, vous n'avez que 'Linux Foundation ....'. Je vais répondre, car la suggestion sera trop difficile à mettre en forme ici.
John Siu
1
si cela n'arrive JAMAIS avec XP, cela ne devrait pas être lié au matériel (clavier).
John Siu
2
Remarque: le fait que cela ne se produise pas sous Windows ne signifie pas que ce n'est pas un problème matériel. Il est tout à fait possible que Windows (ou même les pilotes matériels) soit moins sensible ou réagisse plus gracieusement à une erreur ou une panne matérielle. (Par exemple, le logiciel Logitech sous Windows peut détecter la déconnexion et prendre les mesures nécessaires pour se reconnecter sans intervention de l'utilisateur).
Shauna

Réponses:

6

problèmes entre le noyau et le 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 de non-démarrage / problèmes d'écran noir au démarrage, vous pouvez essayer d'installer le noyau quantique 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 tombe en panne plus qu'il ne résout.

liberté libre
la source
Juste pour info, j'ai un problème similaire avec le quantique. J'avais supposé que c'était parce que j'avais laissé tomber le HD à quelques reprises. Il "clique" puis disparaît. Semble familier?
Magpie
@Magpie: pas du tout. Même maintenant, je me rends compte que: 1. ne jamais l'avoir dans WinXP, en double démarrage, donc je suppose que ce n'est pas un problème matériel, 2. je l'avais aussi en quantique, donc la mise à niveau ne serait pas une solution
1
@cipricus - les erreurs dans la trace donnent vraiment l'impression d'un problème de noyau. Les gars du noyau en amont seraient intéressés. Cependant, ils vous demanderaient d'abord d'essayer le tout dernier noyau - qui est 3.8rc1 je pense. Si vous suivez cette voie, sauvegardez d'abord votre système avec un clone d'image. Une alternative est de sauvegarder votre système (ou dual boot), d'installer raring (13.04) pendant une semaine et de voir si le problème réapparaît. vous pouvez ensuite revenir à votre système principal par la suite. Raring utilisera le noyau v3.8 - l'obtiendra probablement dans les prochaines semaines.
fossfreedom
@ fossfreedom: puis-je créer une nouvelle option de démarrage de 13.04 en parallèle à 12.04?, en tant qu'OS différent? le problème est que cela s'est rarement produit ces derniers temps. peut-être que je devrais attendre l'écurie 13 et mettre à niveau?
1
oui (j'ai fait cela dans le passé 11.10 & 12.04 en même temps) - lors du démarrage à partir d'USB, il vous donnera la possibilité de double démarrage plutôt que d'effacer ... mais s'il vous plaît - s'il vous plaît (!) sauvegardez d'abord votre système: )
fossfreedom
10

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 fait être sur le même bus. Par exemple, sur un boîtier de bureau, les ports USB à l'avant de la machine peuvent tous être sur le même bus, tandis que les ports à l'arrière de la machine seront normalement un bus différent, ou auront des alimentations + 5 V complètement séparées pour chaque groupe de Prises USB 2.0.

Un appareil à faible courant tel que défini par les normes USB 2.0 peut tirer jusqu'à 100 mA (1 unité) tandis que les appareils à courant élevé peuvent en tirer jusqu'à 5 unités (500 mA). Les disques durs sans source d'alimentation externe sont généralement des appareils à courant élevé.

Les appareils devraient cesser de fonctionner si la ligne + 5V tombe en dessous de 4,75 V et c'est pourquoi de nombreux appareils à haute puissance peuvent causer des problèmes sur certains ordinateurs.

En plus de cela, le circuit qui fournit + 5V à chaque bus peut refuser de renégocier la capacité de haute puissance si l'appareil consomme suffisamment de courant pour tirer la ligne + 5V trop bas. C'est pourquoi les appareils à haute puissance devront être retirés et rebranché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 hors / sous tension complet peut le faire.

Notez que si un ou plusieurs périphériques basse consommation sont déjà branchés sur un bus USB, la capacité disponible peut ne pas être suffisante pour exécuter également un périphérique haute puissance tel qu'un disque dur externe.

L'utilisation d'appareils à haute puissance doit donc être planifiée et, en cas de problème, l'appareil doit être utilisé seul sur n'importe quel bus ou être alimenté en + 5V.

Bien que le document sur les normes USB 2.0 puisse être un peu difficile à lire, la page wikipedia contient de très bonnes informations et explications sur le sujet de l'USB 2.0.

Notez également que le branchement de nombreux appareils à faible consommation d'énergie, par exemple via un concentrateur USB externe, peut également entraîner une chute de tension sur la ligne d'alimentation du bus, entraînant la désactivation de certains ou de tous les appareils.

Les types de câbles utilisés peuvent également affecter la fiabilité des appareils haute puissance. Par exemple, un disque dur externe branché via un long câble USB ordinaire peut voir suffisamment de chute de tension à 500 mA pour se désactiver afin d'éviter d'endommager ses circuits ou ses moteurs d'entraînement. Ces appareils sont généralement fournis avec un câble court spécial ou un câble en «Y» qui se branche sur deux ports USB pour résoudre le problème d'alimentation. Notez que ce n'est qu'une solution partielle au problème lié spécifiquement au problème de câblage, il ne permet pas en réalité que plus de 500 mA soient fournis car les ports USB adjacents sont susceptibles d'être sur la même alimentation 5 V 500 mA en interne dans l'ordinateur. Même lorsqu'un bus séparé est utilisé pour la deuxième prise du câble en «Y», il a gagné » t être en mesure d'obtenir une alimentation en courant élevée car il n'a pas de connexion de données pour le demander au bus USB. Un seul des ports sera activé comme alimentation à courant élevé.

Depuis l'utilisation très courante des claviers et souris USB, des problèmes peuvent parfois survenir lorsqu'ils sont tous deux branchés sur le 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 d'un ou des deux appareils.

Les solutions à ces problèmes impliquent généralement l'utilisation d'un minimum d'appareils à faible puissance, en utilisant uniquement des appareils à faible puissance bien conçus et fabriqués, en veillant à ce qu'ils soient branchés sur différents bus avec des lignes + 5 V séparées, et lorsque des appareils à haute puissance sont impliqués à l'aide d'un concentrateur alimenté. pour résoudre les problèmes d'alimentation rencontré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 consommation de courant des périphériques basse consommation s'est stabilisée.

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

fabricant4
la source
1
Excellente explication - quelques informations très utiles ici.
2
Ce n'est pas la souris elle-même mais le dongle que vous branchez sur le port USB qui reçoit les données de mouvement de la souris. Il peut ne pas fonctionner correctement avec d'autres appareils et leur poser des problèmes. D'après ce que vous nous avez dit, le véritable coupable n'est pas clair. Un disque dur peut démarrer correctement, mais la chute de tension qui en résulte peut entraîner un dysfonctionnement d'autres appareils. J'ai trouvé qu'il était préférable de mettre l'ordinateur sous tension, puis de brancher les appareils à haute puissance une fois que les appareils essentiels à faible puissance se sont stabilisés.
fabricator4
1
Après un problème, regardez immédiatement les dernières lignes de syslog: "cat / var / logs / syslog | tail" pour voir s'il y a quelque chose qui y est mentionné.
fabricator4
je mettrai à jour la question en conséquence dès que cela se reproduira ... veuillez suivre
il l'a fait: pastebin.com/0qR8bhhX .
8

Quelque chose de similaire m'arrivait. Ce billet de blog a 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é dans cette publication, différents systèmes sont bloqués à différents endroits, donc si ce qui précède ne fonctionne pas, vous voudrez peut-être essayer de le remplacer /sys/bus/pci/drivers/xhci_hcd/par /sys/bus/pci/drivers/ehci_hcd/, ou /sys/bus/pci/drivers/uhci_hcd/, si l'un d'entre eux existe.

rien101
la source
1
debian 9.5: / sys / bus / pci / drivers / ehci-pci (notez le tiret "-" pas un "_")
eli
Cela ne devrait-il pas être à la "$file"place de "$i"?
Nikolai Prokoschenko
Je suppose. fixé.
naught101
6

Les anciennes publications et les réponses ne concernent pas l'USB 3.0. Voici donc 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

Après cela, l'USB devrait recommencer à fonctionner correctement, comme après un redémarrage.


Explication

Dans le cas où vous utilisez un pilote différent, voici comment j'ai trouvé quoi faire, utilisez-le comme référence:

A lsusb -taffichera ceci - prenez note du xhci_hcdpilote pour le bus rapide, c'est le 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, je devais me délier "0000:06:00.0".

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

Amir Uval
la source
1
Je ne vous remercierai jamais assez. C'est la seule solution qui a fonctionné pour moi, même le bluetooth fonctionne maintenant! Plus besoin de redémarrer. Pour moi, c'était "0000: 00: 14.0" en utilisant Ubuntu 14.04 et Asus VivoBook.
Karim Sonbol
Volontier! Il semble que j'ai accidentellement fait de ma réponse un "wiki communautaire", donc voter ne me donne aucun crédit. (@ThomasWard pouvez-vous s'il vous plaît aider par wiki non-communautaire ceci?)
Amir Uval
1
Il y a un problème cependant, je l'ai essayé aujourd'hui et j'obtiens cette erreur: tee: / sys / bus / pci / dhcd / unbind: Aucun fichier ou répertoire tel: / sys / bus / pci / dhcd / bind: Pas de tel fichier ou répertoire
Karim Sonbol
@KarimSonbol n'est-ce pas / sys / bus / pci / drivers / ...?
Amir Uval
ouais, désolé mon erreur
Karim Sonbol
3

Baser 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

Faire lsusb -t, la sortie 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 Bus 00Xnuméro et à la version 1.1/ 2.0USB dans les deux sorties. Si la souris et le clavier sont 1.1activés, essayez de les déplacer vers le 2.0port, ou inversement.

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

John Siu
la source
pourriez-vous être plus explicite? que devrais-je faire? comparer le résultat de lsusbavec celui de lsusb -t? que dois-je chercher là-dedans? vous voulez préférer le bus 2.0? j'utilise habituellement cela pour le disque dur externe. dans votre commentaire, vous dites "Parce que si 'nx8220' est le bon modèle, la boîte devrait utiliser le chipset Intel 915PM. Cependant vous n'avez que 'Linux Foundation" - cela signifie-t-il que je n'ai pas le bon pilote? Qu'y a-t-il à faire? résultat de lsusb -test paste.ubuntu.com/1482285
1
(1) Oui, essayez d'utiliser le bus USB 2.0. Si vous n'avez qu'un seul port 2.0, voyez si vous pouvez trouver un concentrateur USB externe et le brancher. (2) Je vérifie certaines de mes autres cases et elles ne montrent également que Linux Foundation, donc ce n'est pas une erreur. (3) lsusb -test pour identifier plus facilement le périphérique USB et le bus auquel il se branche.
John Siu
1
@cipricus Il y a plusieurs possibilités et je ne peux pas en être sûr. Je vais énumérer les causes les plus probables à ma connaissance: (1) Logiciel pur: le pilote Linux ne gère pas correctement le port 1.1 pour ce chipset. Ce sera la cause la plus possible. (2) Matériel partiel: le port USB est sensible à l'électricité statique et peut se dégrader / mourir avec le temps, en particulier pour les cartes mères et les chipsets plus anciens. Votre port 1.1 peut se dégrader et ne fonctionne pas très bien, et le pilote Linux n'est pas en mesure de gérer ces cas particuliers (comme les fluctuations de tension), tandis que le pilote XP sait comment les gérer (ou les tolérer).
John Siu
1
@cipricus USB 1.1 spec est assez rapide (et bien plus) pour le clavier et la souris. Je doute vraiment que tout être humain puisse cette vitesse avec un clavier normal (avec une main humaine).
John Siu
Merci! Je suis d'accord, ce type de problème doit être déterminé au cas par cas, en fonction du symptôme. BONNE ANNÉE!!
John Siu
2

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 extenseur USB alimenté - ce sont des appareils bon marché qui se connectent à votre port USB et le transforment en 5 ou 10 ou tout ce dont vous avez besoin 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 et cela a fait disparaître tous mes problèmes.

À votre santé

bsautner
la source
0

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

Avec l'ordinateur portable allumé, appuyez simplement sur le bouton d'alimentation pendant environ 30 secondes , ce qui s'arrête et continue d'appuyer pendant un certain temps après cela. Je l'ai fait avec le chargeur débranché. Après avoir allumé l'ordinateur portable, les ports USB fonctionnent à nouveau.

Juan M. Gonzalez
la source