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.
usb
card-reader
mikewilliamson
źródło
źródło
Odpowiedzi:
Czy możesz wypróbować stary schemat inicjowania urządzeń USB? Można to zrobić, zmieniając parametr jądra w
/etc/default/grub
:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
doGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
update-grub
źródło
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:
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_hcd
tak jesti sprawdź, które urządzenie PCI zapewnia magistralę USB 6:
Nazwa katalogu tutaj to identyfikator magistrali PCI odpowiadający tej magistrali USB. To po prostu:
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.)
źródło
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!
źródło
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
źródło
Miał
na CentOS.
Znaleziono http://paulphilippov.com/articles/how-to-fix-device-not-accepting-address-error
Rzeczywiście, włożenie zasilanego koncentratora USB do równania rozwiązało to.
źródło