Pour le fond je viens de construire une nouvelle machine avec du matériel moderne comprenant :
- AMD FX-8350
- Carte mère Gigabyte GA-990FXA-UD3
- 16 Go de RAM
- NVidia GTX 650 Ti
- SSD Kingston
Compte tenu de cela, j'ai essayé d'installer différentes versions de Linux sur le SSD et j'ai rencontré un échec presque à chaque fois. J'ai essayé d'installer Arch, Debian stable, Debian sid et Ubuntu 12.10 à partir d'une clé USB, mais alors que le BIOS a vu la clé USB et a commencé à démarrer à partir de celle-ci, dès que le système d'exploitation a tenté d'énumérer les périphériques USB, j'ai perdu toutes les fonctionnalités USB. (y compris le périphérique de démarrage).
Finalement, j'ai gravé un DVD et installé Ubuntu 12.10 sur le SSD. Il convient de noter que mon clavier (et ma souris) USB fonctionnent correctement dans l'UEFI/BIOS des mégatendances américaines. Même lorsque je suis dans les menus de pré-installation sur le DVD Live Ubuntu, le clavier fonctionne bien.
Dès que Linux est démarré (soit en direct sur DVD, soit à partir du SSD), je perds toutes les fonctionnalités USB et je ne peux naviguer dans le système d'exploitation qu'à l'aide d'un clavier PS/2.
Ce que je vois dans le dmesg/syslog, ce sont quelques lignes sur "failed to load microcode amd_ucode/microcode_amd_fam15h.bin
" et je peux voir que les périphériques USB ne parviennent pas à s'initialiser.
Si je fais un lsusb
Je peux voir tous les contrôleurs hôtes USB mais aucun des périphériques. Faire un lspci
me montre tout le matériel auquel je m'attendais. Et faire un lsmod
Je ne vois aucun module USB chargé (usb_ehci
par exemple).
J'ai essayé de passer noapic
à la chaîne de démarrage du noyau et cela n'a eu aucun effet sur ce problème.
La carte mère prend en charge l'USB 3.0, mais tous les périphériques que j'ai branchés sur des ports USB 2.0 normaux.
Je suis plutôt déconcerté par ce qui pourrait tuer/empêcher l'USB (et ma carte réseau intégrée) de fonctionner sous Linux . Il ne semble pas y avoir de problème avec l'un de ces appareils fonctionnant dans le BIOS et je n'ai pas d'installation Windows disponible pour tester et voir si cela fonctionne.
J'ai déjà effectué une RMA sur la carte mère une fois, mais la seconde a exactement le même comportement, donc je pense que je peux exclure en toute sécurité une panne matérielle (puisque le comportement est identique, je ne pense pas qu'il soit impair que j'obtienne deux cartes défectueuses de la même manière sont plus grandes que les chances qu'il s'agisse d'un problème Linux).
Que puis-je essayer d'autre pour faire fonctionner l'USB (et idéalement mon réseau, mais nous nous en tiendrons à l'USB pour l'instant) ?
Modification #1 :
Comme je n'ai pas de réseau, je ne peux rapporter que des éléments intéressants de dmesg
ici.
D'intérêt pour dmesg
Je peux voir que j'ai 11 contrôleurs hôtes USB (OHCI, EHCI et xHCI). Il détecte mes périphériques USB, puis échoue immédiatement comme suit :
usb 3-1: new high-speed USB device number 2 using ehci_hcd
usb 3-1: device descriptor read/64, error -32
Cela se répète plusieurs fois en incrémentant le nombre et en essayant d'autres contrôleurs hôtes USB jusqu'à ce qu'il revienne aux contrôleurs OHCI qui échouent également mais ont un message supplémentaire :
Connexe :Linux – Quand utiliseriez-vous pivot_root plutôt que switch_root ?
usb 8-1: device not accepting address 4, error -32
Je pense que mes problèmes de réseau sont liés au fait que je n'ai pas activé IPv6 sur mon routeur et cela semble être un problème
eth1: no IPv6 routers present
Modification #2 :
lspci -vvv
montre que mes adaptateurs réseau (à la fois intégrés et d'extension) sont Realtek Semiconductor (pas de surprise); RTL8111/8168B et RTL8169/8110 respectivement. Mes contrôleurs USB sont Etron Technology EJ168 (xHCI) et AMD nee ATI SB7x0/SB8x0/SB9x0 (EHCI &OHCI)
Exécute maintenant Debian Wheezy modprobe
affiche usb_common
, usbcore
, xhci_hcd
, ehci_hcd
, et ohci_hcd
tous chargés et fonctionnels.
Réponse acceptée :
J'ai trouvé la réponse de ce fil (http://ubuntuforums.org/showthread.php?t=2114055) sur ubuntuforums.org.
Il semble qu'avec les cartes mères Gigabyte plus récentes (au moins), il existe une option BIOS appelée IOMMU Controller
qui est désactivé par défaut et ne donne aucun indice ou indication sur ce à quoi il sert.
L'activation de ce paramètre et le redémarrage "magique" restaure tous mes problèmes USB et réseau dans un système d'exploitation Linux 64 bits (peu importe lequel).
Je suis plutôt choqué et ravi que la recherche d'une solution aussi simple ait été si longue.
Merci à tous pour votre aide et vos suggestions. J'espère que d'autres trouveront cela utile.
Mise à jour : Je voudrais juste ajouter que mes paramètres BIOS actuels incluent également l'activation de XHCI Handoff et EHCI Handoff en plus du contrôleur IOMMU. D'autres l'ont également mentionné et l'activation de ces deux transferts permet également à mes ports USB 3.0 de fonctionner comme prévu.