[USB 3.0] Périphérique détecté au boot seulement

Reconnaissance et configuration du matériel / kernel linux
Répondre
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

[USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

Bonjour,

J'ai réinstallé mon système il y a quelque jours (passage à btrfs), et depuis mon unique port USB 3.0 ne fonctionne plus. J'ai trouvé des problèmes similaires sur les forums mais il semble qu'un patch ajouté au noyau 3.10.6-2 ai réglé tout ça.

Comme je viens de passé au noyau 3.10.7 et que mon port usb ne fonctionne toujours pas, je commence à penser qu'il y à un soucis. Les ports USB 2 fonctionnent normalement.

uname -a

Code : Tout sélectionner

Linux rze 3.10.7-1-ARCH #1 SMP PREEMPT Thu Aug 15 11:55:34 CEST 2013 x86_64 GNU/Linux
Si un périphérique est branché lors du boot celui-ci est correctement détecté et fonctionnel.

lsusb avec un périphérique au boot:

Code : Tout sélectionner

Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 13fe:1d00 Kingston Technology Company Inc. DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb autrement (branché / débranché):

Code : Tout sélectionner

Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Si aucun périphérique n'est branché lors du boot ou si celui-ci est débranché alors impossible de l'utiliser. Si j'essaye de brancher un périphérique alors dmesg n'affiche aucun message et la sortie de lscpi et de lsusb reste inchangée. Je peux voir que le port est alimenté (le logo de ma souris s'allume) mais ça s'arrête là.

Ce port fonctionnait correctement avant la réinstallation mais je ne saurais dire sous quelle version du noyau j'étais et si le problème vient de là. Probablement en 3.9.x.

Je suis ouvert à toutes vos suggestions car je suis à cours d'idées.
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par Xorg »

Tu peux toujours essayer de réinstaller le dernier noyau 3.9 pour voir s'il ne s'agit pas d'une régression dans le 3.10. :?
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

J'ai vu que l'Archlinux Rollback Machine avait fermé :? Bien que des membres semblent vouloir reprendre le projet, pour le moment je n'ai rien trouvé de mieux que de recompiler le kernel 3.9.8 via le svn ... (c'est long).

Je viens de booter dessus et le problème reste le même donc je pense que cela ne vient pas du noyau. Aussi je suis retombé sur mon propre sujet http://forums.archlinux.fr/topic11358.html (damn it, j'avais complètement oublié ça ...).

Même problème qu'il y a un an lors de la première installe sur ce même laptop. J'avais trouvé un moyen de faire fonctionner le port usb temporairement, mais aujourd'hui le fait de désactiver xhci_hcd freeze complètement le système.

Entre temps je ne sais plus ce que j'avais fais mais je me rappel avoir été surpris de voir le port usb fonctionner normalement sans avoir chercher à corriger le problème. Aujourd'hui par contre ce n'est pas le cas :(

Je prends toute vos idées :wink:

EDIT: les commandes suivantes fonctionnent si et seulement si aucun périphérique (souris, clé ...) n'est branché sur le port. Si par exemple une clé est branché, aucun log n'est produit et le système freeze. Ce qui ne résout donc pas du tout le problème.

Code : Tout sélectionner

echo -n $BUS | tee /sys/bus/pci/drivers/xhci_hcd/unbind && echo -n $BUS | tee /sys/bus/pci/drivers/xhci_hcd/bind
De plus, modprobe -r xhci_hcd et modprobe xhci_hcd produisent le même résultat.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par FoolEcho »

Tu peux aussi utiliser le noyau LTS comme alternative peut-être ?
http://wiki.archlinux.fr/Enhancing_Arch ... _noyau_LTS
«The following statement is not true. The previous statement is true.» :nage:
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

Il y a une chance que ça marche, mais il y a un an j'avais eu le même soucis. Je ne sais plus alors à quelle version du noyau on était mais je doute que ça règle le problème ...

De plus j'utilise maintenant btrfs comme système de fichiers. Il est inclue dans le noyau et il est constamment mis à jour ce qui fait que je peux difficilement revenir à une version antérieur :(.
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

Ça ne s'arrange pas, j'ai remarqué des freeze complets après environ 2h de travail. J'ai donc mis dmesg et journalctl en arrière plan pour surveiller les logs. Ça ne semble pas lier à une action particulière de ma part, c'est aléatoire.

Juste avant de freezer (ça peu durer plusieurs minutes) j'obtiens ce genre de logs:

dmesg

Code : Tout sélectionner

...
[ 4847.850793] usb usb1: root hub lost power or was reset
[ 4847.850802] usb usb2: root hub lost power or was reset
[ 4849.117032] usb usb1: root hub lost power or was reset
[ 4849.117037] usb usb2: root hub lost power or was reset
[ 4850.383352] usb usb1: root hub lost power or was reset
...
puis:

Code : Tout sélectionner

...
[ 6807.507771] usb usb1: root hub lost power or was reset
[ 6807.507781] usb usb2: root hub lost power or was reset
[ 6807.938844] hid-generic 0003:046D:C22B.0001: can't reset device, 0000:00:1d.0-1.2.1/input0, status -71
[ 6807.939960] hid-generic 0003:046D:C22A.0002: can't reset device, 0000:00:1d.0-1.2.3/input0, status -71
[ 6807.941597] hid-generic 0003:0461:4D99.0004: can't reset device, 0000:00:1d.0-1.2.4/input0, status -71
[ 6807.942801] usb 4-1.2: clear tt 1 (0050) error -71
[ 6807.947058] usb 4-1.2: clear tt 3 (0060) error -71
[ 6807.951305] usb 4-1.2: clear tt 4 (0070) error -71
[ 6807.954570] hid-generic 0003:046D:C22B.0001: can't reset device, 0000:00:1d.0-1.2.1/input0, status -71
[ 6807.956582] hid-generic 0003:046D:C22A.0003: can't reset device, 0000:00:1d.0-1.2.3/input1, status -71
[ 6807.957575] hid-generic 0003:0461:4D99.0004: can't reset device, 0000:00:1d.0-1.2.4/input0, status -71
[ 6807.958545] usb 4-1.2: clear tt 1 (0050) error -71
[ 6807.962799] usb 4-1.2: clear tt 3 (0060) error -71
[ 6807.967047] usb 4-1.2: clear tt 4 (0070) error -71
...
et même:

Code : Tout sélectionner

...
[ 6821.229872] usb usb1: root hub lost power or was reset
[ 6821.229876] usb usb2: root hub lost power or was reset
[ 6821.599270] irq 23: nobody cared (try booting with the "irqpoll" option)
[ 6821.599275] CPU: 0 PID: 0 Comm: swapper/0 Tainted: P         C O 3.10.7-1-ARCH #1
[ 6821.599276] Hardware name: ASUSTeK Computer Inc. G53SX/G53SX, BIOS G53SX.203 07/05/2011
[ 6821.599278]  ffff8802335b9b84 ffff88023f403e48 ffffffff814c245c ffff88023f403e70
[ 6821.599280]  ffffffff810dd192 ffff8802335b9b00 0000000000000017 0000000000000000
[ 6821.599282]  ffff88023f403eb0 ffffffff810dd5b2 ffffffff813991b9 0000000000000000
[ 6821.599284] Call Trace:
[ 6821.599286]  <IRQ>  [<ffffffff814c245c>] dump_stack+0x19/0x1b
[ 6821.599294]  [<ffffffff810dd192>] __report_bad_irq+0x32/0xd0
[ 6821.599296]  [<ffffffff810dd5b2>] note_interrupt+0x132/0x1f0
[ 6821.599299]  [<ffffffff813991b9>] ? poll_idle+0x49/0x90
[ 6821.599301]  [<ffffffff810db029>] handle_irq_event_percpu+0xf9/0x250
[ 6821.599303]  [<ffffffff810db1bd>] handle_irq_event+0x3d/0x60
[ 6821.599306]  [<ffffffff810de12a>] handle_fasteoi_irq+0x5a/0x100
[ 6821.599309]  [<ffffffff8101569e>] handle_irq+0x1e/0x30
[ 6821.599311]  [<ffffffff814d16cd>] do_IRQ+0x4d/0xc0
[ 6821.599314]  [<ffffffff814c83ad>] common_interrupt+0x6d/0x6d
[ 6821.599315]  <EOI>  [<ffffffff814c66c8>] ? __schedule+0x668/0x940
[ 6821.599319]  [<ffffffff813991b9>] ? poll_idle+0x49/0x90
[ 6821.599321]  [<ffffffff81399188>] ? poll_idle+0x18/0x90
[ 6821.599323]  [<ffffffff81399920>] cpuidle_enter_state+0x40/0xc0
[ 6821.599324]  [<ffffffff81399a69>] cpuidle_idle_call+0xc9/0x280
[ 6821.599327]  [<ffffffff8101c5de>] arch_cpu_idle+0xe/0x30
[ 6821.599330]  [<ffffffff810a6e67>] cpu_startup_entry+0x257/0x2d0
[ 6821.599333]  [<ffffffff814a8df4>] rest_init+0x84/0x90
[ 6821.599336]  [<ffffffff818d9ee8>] start_kernel+0x414/0x420
[ 6821.599337]  [<ffffffff818d98dd>] ? repair_env_string+0x5c/0x5c
[ 6821.599339]  [<ffffffff818d9120>] ? early_idt_handlers+0x120/0x120
[ 6821.599341]  [<ffffffff818d95dc>] x86_64_start_reservations+0x2a/0x2c
[ 6821.599343]  [<ffffffff818d96d1>] x86_64_start_kernel+0xf3/0x100
[ 6821.599344] handlers:
[ 6821.599360] [<ffffffffa00149c0>] usb_hcd_irq [usbcore]
[ 6821.599361] Disabling IRQ #23
[ 6822.489677] ehci-pci 0000:00:1d.0: setting latency timer to 64
[ 6823.356061] usb usb1: root hub lost power or was reset
[ 6823.356070] usb usb2: root hub lost power or was reset
[ 6824.615713] ehci-pci 0000:00:1d.0: setting latency timer to 64
[ 6825.448674] usb usb1: root hub lost power or was reset
[ 6825.448682] usb usb2: root hub lost power or was reset
...
Tout ça pour dire qu'à ce moment là, croyez-le ou non, mon port usb 3 fonctionne ! :lol:

Malheureusement tous les autres ports sont inutilisables et le système finit par freezer. Je ne sais pas si il y a des experts en drivers usb par ici, sinon je peux peut-être tenter ma chance sur le forum anglais avec un peu de motivation car là je nage un peu.
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par Xorg »

KERNEL PANIIIIIIIC ! (oui, et en plus de ça je fais du mauvais humour)

Je ne vois vraiment pas, je pense quand même à une chose, mais je doute que ça soit ça ; est-ce que, par hasard, tu as un chipset Lynx Point (chipsets Intel de série 8) ? Car je sais que le stepping C1 présente un bug sévère avec l'USB 3.0 (mais j'ignore avec quel OS le bug a été détecté).

Sinon, c'est quel type de port USB 3.0 ? À l'arrière, directement soudé sur la carte-mère ? Interne à 19 broches ? Une carte-fille ? :|
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

:lol:

C'est un laptop asus: http://www.notebook.gen.tr/img/modeller ... V-3D_4.jpg
(On peut remarquer au passage que pour quelqu'un qui à tendance à être en dual-screen en permanence, le port USB 3 est extrêmement bien placé)

lspci:

Code : Tout sélectionner

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
04:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 04)
Voilà, donc je ne pense pas que ce soit lié à ce bug. Je vais chercher encore un peu :)
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par Xorg »

Non, tu n'es pas concerné par ce que j'évoquais.
Mais je vois et j'en conclue qu'Asus a eu recours à une contrôleur tiers pour le port USB 3.0. Est-ce que le pilote pour Fresco Logic FL1000G d'utilisé ?
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

J'utilise le driver par défaut, donc c'est xhci_hcd je crois ? C'est le problème avec ce genre de marques, la prochaine fois il faudra bien que je me renseigne ...

dmesg | grep xhci:

Code : Tout sélectionner

[    0.801513] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    0.801522] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 1
[    0.940510] xHCI xhci_add_endpoint called for root hub
[    0.940512] xHCI xhci_check_bandwidth called for root hub
[    0.940600] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    0.940605] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 2
[    0.940707] xHCI xhci_add_endpoint called for root hub
[    0.940716] xHCI xhci_check_bandwidth called for root hub
J'ai tenté de rajouter pci=nomsi au boot comme j'ai pu le voir sur certains postes mais sans succès. En passant savez-vous qui développe ce driver ? https://plus.google.com/116960357493251979546/posts

EDIT: pour le bug "usb usb1: root hub lost power or was reset" et le crash qui s'en suit je pense que c'est du à l'utilisation d'adb pour communiquer avec un périphérique android. Ce qui est un peu embêtant pour dev :? Il faudrait peut-être faire un sujet à part, bien qu'avant de crasher complètement le port USB 3 se met à fonctionner ...

EDIT2: finalement le bug survient même si je n'utilise pas de port usb. Ça plante juste plus vite si je les utilise.
Dernière modification par razlock le jeu. 22 août 2013, 14:44, modifié 1 fois.
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par Xorg »

Non, c'est lspci -v qu'il faut utiliser pour voir le Kernel driver in use ainsi que Kernel modules. Parce que chez toi, ton port USB 3.0 est géré par le contrôleur tiers nommé Fresco Logic FL1000G USB 3.0 Host Controller (rev 04). Si le pilote qu'utilise ce contrôleur est inexistant ou bugué, ça peut expliquer le problème.
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
razlock
Hankyu
Messages : 22
Inscription : mar. 20 déc. 2011, 15:06
Localisation : Orléans (45)

Re: [USB 3.0] Périphérique détecté au boot seulement

Message par razlock »

Ok, je n'avais jamais pensé à ça c'est plutôt pratique.

Finalement voilà la sortie de lspci -v:

Code : Tout sélectionner

04:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 04) (prog-if 30 [XHCI])
	Subsystem: ASUSTeK Computer Inc. Device 13b7
	Flags: fast devsel, IRQ 19
	Memory at dcc00000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [50] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [80] Express Endpoint, MSI 00
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_hcd
Répondre