Urządzenie USB nie akceptuje adresu

12

Mam szereg maszyn, które buduję do pracy, które mają czytniki kart USB. Kiedy je uruchamiam, otrzymuję długą serię wiadomości:

...
[ 2347.768419] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2347.968178] usb 1-6.6: new full-speed USB device number 10 using ehci_hcd
[ 2352.552020] usb 1-6.6: device not accepting address 10, error -32
[ 2352.568421] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2352.768179] usb 1-6.6: new full-speed USB device number 12 using ehci_hcd
[ 2357.352033] usb 1-6.6: device not accepting address 12, error -32
...

Na niektórych starszych maszynach wystarczy kilka prób, zanim czytnik kart ostatecznie zaakceptuje adres, podczas gdy na nowszych komputerach może to potrwać wiele minut. Zmiana sprzętu nie jest opcją, a podłączenie czytnika kart USB do innego portu jest tylko opcją dla starszych manchines. To był problem poniżej 11.04, a teraz korzystam z wersji beta 12.04 i wciąż się dzieje.

Czy jest coś, co mogę zrobić w oprogramowaniu (być może zasada udev?), Które to rozwiązałoby?

Wszelkie porady są mile widziane. Z przyjemnością podam więcej szczegółów, jeśli ich potrzebujesz.

mikewilliamson
źródło
Dla mnie problem dotyczył kabla.
Gayan Weerakutti

Odpowiedzi:

6

Czy możesz wypróbować stary schemat inicjowania urządzeń USB? Można to zrobić, zmieniając parametr jądra w /etc/default/grub:

  • zmień wiersz, który mówi GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"doGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • biegać update-grub
  • uruchom ponownie i sprawdź, czy to pomogło
taneli
źródło
2

W moim przypadku wydaje mi się, że mam koncentrator wewnątrz maszyny (prawdopodobnie zapewniający czteroportowy klaster z tyłu), który nie zaakceptuje przypisanego adresu.

Dla mnie komunikaty dziennika wyglądają tak:

usb 6-1: new low-speed USB device number 116 using uhci_hcd
usb 6-1: device not accepting address 116, error -71
hub 6-0:1.0: unable to enumerate USB device on port 1

To pokazuje, że jest to autobus USB 6 . Nie mam z tym nic wspólnego i chcę, żeby się zamknął.

Teraz musimy znaleźć odpowiedni sterownik. W tym przypadku uhci_hcdtak jest

$ sudo -s
# cd /sys/bus/pci/drivers/uhci_hcd

i sprawdź, które urządzenie PCI zapewnia magistralę USB 6:

# echo */usb6
0000:00:1a.2/usb5

Nazwa katalogu tutaj to identyfikator magistrali PCI odpowiadający tej magistrali USB. To po prostu:

# echo 0000:00:1d.0 > unbind

wyłączyć to.

Jeśli to zadziała, do skryptu rozruchowego można dodać tylko ostatnią linię. Wydaje się, że powinien istnieć parametr jądra, aby uniknąć niektórych magistrali USB, ale nie mogę go znaleźć.

(Na podstawie odpowiedzi titaniumtux, ale starając się uniknąć rozpięcia klawiatury. Nazywaj mnie staroświeckim, ale nadal go używam.)

poolie
źródło
0

Spotkałem taką samą sytuację jak twoja.

Ale użyłem Ubuntu 10.04.

Ale jeśli użyję innego komputera, nigdy nie wyjdzie.

Do tej pory myślę, że to coś z moim interfejsem USB.

Po dodaniu reguł udev do mojego systemu może się to zdarzyć mniej niż wcześniej.

Możesz tego spróbować .

Wszystkiego najlepszego!

CathyLuan
źródło
0

Utwórz skrypt zawierający następujące elementy i uruchom go podczas uruchamiania:

cd /sys/bus/pci/drivers/ehci_hcd/

sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

To powinno rozwiązać problem.

Źródło: tutaj

titaniumtux
źródło
Zauważ, że to polecenie, tak jak zostało napisane, odłączy każde urządzenie EHCI, które może zawierać klawiaturę.
poolie