2 votes

Crashing du système - comment décharger xhci_hcd et n'autoriser que ehci_hcd dans Ubuntu 12.04, 13.04 pour le débogage de certains hardwares usb.

J'ai quelques matériels USB qui utilisent une alimentation de 500mA (5V), après des recherches, j'ai trouvé qu'une alimentation externe ou un hub était la solution mais c'était une perte de temps, même en utilisant une alimentation externe le problème continue.

Maintenant, la seule façon de déboguer ce problème est de désactiver Xhci_hcd dans Ubuntu 12.04 ou Ubuntu 13.04 et de garder Ehci_hcd uniquement car c'est là que le problème de 99% a commencé.

Mais dans Ubuntu, il est impossible ou presque de désactiver xhci_hcd, comment puis-je le faire ?

essayé :

$ cd /etc/pm/config.d/
$ pwd
/etc/pm/config.d
$ ls
00sleep_module  unload_modules unload_module
root@e300gent:/etc/pm/config.d# cat *
SUSPEND_MODULES="xhci"

SUSPEND_MODULES="xhci"

SUSPEND_MODULES="xhci"

$ tail -f /var/log/syslog
Oct  6 10:47:54 e300gent kernel: [ ] xhci_hcd 0000:02:00.0: ERROR Transfer event TRB DMA ptr not part of current TD
Oct  6 10:47:54 e300gent kernel: [ ] xhci_hcd 0000:02:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
Oct  6 10:47:54 e300gent kernel: [ ] xhci_hcd 0000:02:00.0: ERROR Transfer event TRB DMA ptr not part of current TD

Oct  6 10:47:54 e300gent kernel: [ ] usb 3-1: USB disconnect, device number 2
Oct  6 10:48:00 e300gent kernel: [ ] usb 1-1.4: new high-speed USB device number 5 using ehci_hcd
Oct  6 10:48:00 e300gent kernel: [ ] uvcvideo: Found UVC 1.00 device HD Pro Webcam C920 (046d:082d)
Oct  6 10:48:00 e300gent kernel: [ ] input: HD Pro Webcam C920 as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input17
Oct  6 10:48:00 e300gent mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4"

Oct  6 10:48:01 e300gent rtkit-daemon[1470]: Successfully made thread 2583 of process 1464 (n/a) owned by '1000' RT at priority 5.
Oct  6 10:48:01 e300gent rtkit-daemon[1470]: Supervising 6 threads of 1 processes of 1 users.

ehci_hcd : laisse tomber le dispositif aussi :

[ ] usb 1-1.4: reset high-speed USB device number 5 using ehci_hcd
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: reset high-speed USB device number 5 using ehci_hcd
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: reset high-speed USB device number 5 using ehci_hcd
[ ] usb 1-1.4: device not accepting address 5, error -110
[ ] usb 1-1.4: reset high-speed USB device number 5 using ehci_hcd
[ ] usb 1-1.4: device not accepting address 5, error -110
[ ] usb 1-1.4: USB disconnect, device number 5
[ ] usb 1-1.4: new high-speed USB device number 6 using ehci_hcd
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: device descriptor read/64, error -110
[ ] usb 1-1.4: new high-speed USB device number 7 using ehci_hcd
[ ] usb 1-1.4: device descriptor read/64, error -110

et aussi dans la liste noire du noyau mais xhci est impossible à désactiver dans Ubuntu

Quelqu'un peut-il me montrer comment désactiver ce xhci pour que je puisse trouver le problème exact en déboguant l'appareil avec le seul ehci ?

0voto

Daniel H Points 144

Xhci_hcd est intégré au noyau depuis au moins 14.04. Vous pouvez recompiler le noyau pour que ce soit un module à la place (il est sous Device Drivers | USB support dans le menu de configuration du noyau, appuyez sur la barre d'espacement jusqu'à ce qu'il soit M, ou bien mettez CONFIG_USB_XHCI_HCD=m dans le fichier .config). Une fois ce fichier construit, vous pouvez le mettre sur liste noire et le charger et le décharger à volonté avec modprobe et rmmod.

Malheureusement pour moi, je pense que ma carte mère nécessite xhci_hcd même pour l'usb 2.0 et ne peut pas utiliser seulement ehci_hcd, donc ne pas avoir le module xhci_hcd chargé signifie pas d'usb du tout (ou je dois prendre d'autres mesures pour le faire fonctionner) :

$ lsusb
unable to initialize libusb: -99

Mais c'est utile d'avoir un module xhci, je peux au moins le recompiler avec quelques bidouillages sans avoir à recompiler le noyau entier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X