Gniazda USB przestają nagle działać od czasu do czasu

30

Po ponownej instalacji systemu Lubuntu 12.04 na moim laptopie po kilku dniach pojawił się starszy problem i instalacja różnych programów: bez wyraźnego powodu zewnętrzna mysz i czasami inne urządzenia podłączone do USB (w tym dysk twardy) przestają działać. Dysk twardy pokazuje napięcie, ponieważ ma tam lampkę, a mysz zewnętrzna miga przez sekundę po podłączeniu.

Wcześniej opublikowałem inną wersję tego problemu . Na razie przechowuję to jako przykład dwóch odpowiedzi. Żadne z nich tu nie działa.

Wylogowanie nic nie robi, restart wykonuje.

Wydarzenie wydaje się całkowicie losowe, po ponownym uruchomieniu pojawi się ponownie po wielu dniach lub tygodniach lub rzadko po kilku godzinach.

Liczy się na końcu:

Nov 24 14:06:55 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29953.822962] usb 3-1: USB disconnect, device number 3
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069427] uhci_hcd 0000:00:1d.0: host controller process error, something bad happened!
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069439] uhci_hcd 0000:00:1d.0: host controller halted, very bad!
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069461] uhci_hcd 0000:00:1d.0: HC died; cleaning up
Nov 24 14:06:57 cprq-HP-Compaq-nx8220-PY518EA-ABB kernel: [29955.069492] usb 2-2: USB disconnect, device number 2
  • Zauważyłem, że w większości przypadków dotyczy to tylko zewnętrznej myszy i klawiatury, ale nie zewnętrznego dysku twardego. A jeśli tak, to jego rozwiązanie rozwiązuje problem .

  • Mam podwójny rozruch z WinXP: w systemie Windows tak się nigdy nie dzieje, więc nie jest to problem sprzętowy

  • Użyłem Lubuntu Quantal 12.10 i ten sam problem również się tam pojawił . Uaktualnienie do tego nie byłoby rozwiązaniem

  • W niektórych przypadkach tylko ponowne uruchomienie 2 lub nawet 3 razy rozwiązało to.


Używając tego samego komputera / sprzętu z Linux Mint 14 (Quantal) Xfce, problem prawie zniknął ( od tego czasu zdarzyło się to raz ). Nie jestem pewien, czy to „rozwiązanie” pochodzi z Xfce czy Minta (chyba Mint 14 Nadia używa tego samego jądra co Lubuntu Quantal).

47206
źródło
Proszę zamieścić dane wyjściowe lsusb. Przeprowadziłem wyszukiwanie w Google, host controller process error, something bad happeneda pierwsze pojawiło się już w 2002 roku. Następnie przez te wszystkie lata pojawiały się od czasu do czasu. Wydaje się, że problem dotyczy sterownika z niektórymi chipsetami USB.
John Siu
@John Siu: paste.ubuntu.com/1472989 - odbywa się to za pomocą zewnętrznej myszy i zewnętrznej klawiatury. to one dotyczą tego problemu. użyłem różnych myszy i miałem ten sam problem (rzadko, jak powiedziałem), ale użyłem wyłącznie tej klawiatury: czy może to być przyczyna?
1
hmm, tak naprawdę szukałem takiej linii „Bus 001 Device 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub”. Ponieważ jeśli „nx8220” jest prawidłowym modelem, w pudełku powinien być używany mikroukład Intel 915PM. Masz jednak tylko „Linux Foundation ....”. Odpowiem, ponieważ propozycja będzie zbyt trudna do sformułowania w tym miejscu.
John Siu
1
jeśli NIGDY nie zdarzy się to z XP, to nie powinno być związane ze sprzętem (klawiaturą).
John Siu
2
Uwaga: to, że tak się nie dzieje w systemie Windows, nie oznacza, że ​​nie jest to problem sprzętowy. Jest całkiem możliwe, że system Windows (a nawet sterowniki sprzętowe) jest mniej wrażliwy lub reaguje bardziej płynnie na błąd sprzętowy lub awarię. (Na przykład oprogramowanie Logitech w systemie Windows może wykryć rozłączenie i podjąć niezbędne kroki, aby połączyć się ponownie bez interwencji użytkownika).
Shauna

Odpowiedzi:

6

jądro a problemy sprzętowe

Jeśli wykluczyłeś możliwe problemy sprzętowe, takie jak problemy z napięciem / prądem, awarie portów / koncentratorów USB, prawdopodobnie jest to problem z jądrem.

Jeśli czujesz się komfortowo z możliwymi problemami z brakiem uruchamiania / problemami z czarnym ekranem podczas uruchamiania, możesz spróbować zainstalować jądro kwantowe dostępne w repozytoriach 12.04.

Pamiętaj - większość problemów z czarnym ekranem wynika z instalacji zastrzeżonych sterowników graficznych. Będziesz mieć najwięcej szczęścia, usuwając je najpierw przed aktualizacją jądra.

Aby zainstalować kwantowe jądro:

sudo apt-get install linux-generic-lts-quantal

Pamiętaj, aby wykonać pełną kopię zapasową systemu, aby umożliwić odzyskanie, jeśli nowe jądro zepsuje się bardziej niż naprawia.

fossfreedom
źródło
Po prostu mam podobny problem z kwantem. Zakładałem, że to dlatego, że upuściłem HD kilka razy. „Klika”, a następnie znika. Brzmi znajomo?
Sroka
@Magpie: wcale. Nawet teraz zdaję sobie sprawę, że: 1. nigdy nie mam go w WinXP, podczas podwójnego rozruchu, więc myślę, że to nie jest problem sprzętowy, 2. też miałem go pod względem ilościowym, więc aktualizacja nie byłaby rozwiązaniem
1
@cipricus - błędy śledzenia naprawdę sprawiają, że wygląda to jak problem z jądrem. Zainteresowani byliby ludzie z jądra. Najpierw jednak poprosiliby cię o wypróbowanie najnowszego jądra - myślę, że to 3.8rc1. Jeśli pójdziesz tą drogą - najpierw wykonaj kopię zapasową systemu za pomocą klonowania obrazu. Alternatywą jest utworzenie kopii zapasowej systemu (lub podwójnego rozruchu), zainstalowanie Raring (13.04) na tydzień i sprawdzenie, czy problem pojawi się ponownie. następnie możesz powrócić do głównego systemu. Raring będzie korzystał z jądra v3.8 - prawdopodobnie dostanie to w ciągu najbliższych kilku tygodni.
fossfreedom
@ fossfreedom: czy mogę utworzyć nową opcję rozruchu 13.04 równolegle do 12.04 ?, jako inny system operacyjny? problem polega na tym, że ostatnio rzadko się to zdarza. może powinienem poczekać na stabilną 13 i zaktualizować?
1
tak (robiłem to w przeszłości 11.10 i 12.04 jednocześnie) - podczas uruchamiania z USB daje opcję podwójnego rozruchu zamiast usuwania ... ale proszę - najpierw (!) wykonaj kopię zapasową systemu: )
fossfreedom
10

Problemy z zasilaniem USB 2.0

USB 2.0 ma maksymalny dostępny prąd 500 mA, jednak należy zauważyć, że + 5 V na kilku portach może faktycznie znajdować się na tej samej magistrali. Na przykład w obudowie na pulpicie wszystkie porty USB z przodu urządzenia mogą znajdować się na tej samej magistrali, podczas gdy porty z tyłu urządzenia zwykle będą miały inną magistralę lub będą miały osobne zasilanie + 5 V dla każdej grupy Gniazda USB 2.0.

Urządzenie niskoprądowe zdefiniowane w standardach USB 2.0 może pobierać do 100 mA (1 jednostka), podczas gdy urządzenia wysokoprądowe mogą pobierać do 5 jednostek (500 mA). Dyski twarde bez zewnętrznego źródła zasilania są zwykle urządzeniami wysokoprądowymi.

Urządzenia powinny przestać działać, jeśli linia + 5 V spadnie poniżej 4,75 V i dlatego wiele urządzeń dużej mocy może powodować problemy na niektórych komputerach.

Ponadto obwód, który dostarcza + 5 V do każdej szyny, może odmówić ponownego wynegocjowania zdolności wysokiej mocy, jeśli urządzenie pobiera wystarczającą ilość prądu, aby zbyt nisko podciągnąć linię + 5 V. Dlatego urządzenia o dużej mocy będą musiały zostać usunięte i ponownie podłączone, zanim zaczną działać, jeśli uległy awarii z powodu problemu z zasilaniem, a także dlatego, że ponowne uruchomienie nie pozwala im na ponowne podłączenie podczas pełnego cyklu wyłączania / zwiększania mocy może to zrobić.

Pamiętaj, że jeśli jedno lub więcej urządzeń o niskim poborze mocy jest już podłączonych do magistrali USB, pojemność może być niewystarczająca do uruchomienia urządzenia o dużej mocy, takiego jak zewnętrzny dysk twardy.

Dlatego należy zaplanować użycie urządzeń dużej mocy, a jeśli występują problemy, urządzenie musi być używane samodzielnie na dowolnej magistrali lub mieć osobne zasilanie + 5 V.

Chociaż dokument standardów USB 2.0 może być nieco trudny do odczytania, w dokumencie znajduje się kilka bardzo dobrych informacji i wyjaśnień na stronie wikipedii na temat USB 2.0

Należy również pamiętać, że podłączenie wielu urządzeń o niskiej mocy, takich jak zewnętrzne urządzenie koncentrujące USB, może również spowodować spadek napięcia na linii zasilania magistrali, powodując wyłączenie niektórych lub wszystkich urządzeń.

Rodzaj użytych kabli może również wpłynąć na niezawodność urządzeń dużej mocy. Na przykład zewnętrzny dysk twardy podłączony zwykłym długim kablem USB może dostrzec wystarczający spadek napięcia przy 500 mA, aby się wyłączyć, aby zapobiec uszkodzeniu obwodów lub silników napędowych. Urządzenia te są zwykle dostarczane ze specjalnym krótkim kablem lub kablem „Y”, który podłącza się do dwóch portów USB w celu rozwiązania problemu z zasilaniem. Należy pamiętać, że jest to tylko częściowe rozwiązanie problemu związanego konkretnie z problemem okablowania, w rzeczywistości nie pozwala na dostarczenie więcej niż 500 mA, ponieważ sąsiednie porty USB prawdopodobnie będą zasilane tym samym zasilaniem 5 V 500 mA wewnątrz komputera. Nawet jeśli osobna magistrala jest używana dla drugiej wtyczki kabla „Y” wygrał ” być w stanie uzyskać wysokie natężenie prądu, ponieważ nie ma połączenia danych, aby zażądać tego z magistrali USB. Tylko jeden z portów zostanie włączony jako źródło prądu o wysokim natężeniu.

Ponieważ bardzo powszechne jest używanie klawiatur i myszy USB, czasami mogą wystąpić problemy, gdy oba są podłączone do tej samej magistrali. Szczytowe prądy obciążenia przy włączaniu mogą przekraczać specyfikację projektową magistrali USB i powodować wyłączenie jednego lub obu urządzeń lub awarię.

Rozwiązania tych problemów zwykle obejmują użycie tylko minimalnej liczby urządzeń o niskiej mocy, stosowanie tylko dobrze zaprojektowanych i wykonanych urządzeń o niskim poborze mocy, upewniając się, że są one podłączone do różnych magistral z osobnymi liniami + 5 V oraz tam, gdzie urządzenia dużej mocy są zaangażowane za pomocą zasilanego koncentratora aby rozwiązać problemy z zasilaniem występujące w wielu zasilaczach USB 2.0. Jeśli nie jest możliwe użycie zasilanego koncentratora, urządzenie o dużej mocy należy podłączyć dopiero po włączeniu komputera i ustabilizowaniu prądu pobieranego przez urządzenia o niskiej mocy.

Należy również zauważyć, że komputery takie jak laptopy i netbooki mogą mieć wbudowane urządzenia USB małej mocy. Sprzęt, taki jak wewnętrzne czytniki kart, bezprzewodowe karty 3G i kamery internetowe, są często wewnętrznie podłączone do magistrali USB. Może to być dedykowana magistrala z własnym zasilaniem + 5 V lub może być współdzielona z jednym lub kilkoma zewnętrznymi portami USB.

producent 4
źródło
1
Doskonałe wyjaśnienie - kilka bardzo przydatnych informacji tutaj.
2
To nie sama mysz, ale klucz, który podłączasz do portu USB, który odbiera dane o ruchu z myszy. Może nie działać dobrze z innymi urządzeniami i powodować problemy. Z tego, co powiedziałeś nam, nie wynika jasno, gdzie leży prawdziwy winowajca. Dysk twardy może ładować się dobrze, ale wynikający z niego spadek napięcia może spowodować awarię innych urządzeń. Odkryłem, że najlepiej jest włączyć komputer, a następnie podłączyć urządzenia dużej mocy po ustabilizowaniu się podstawowych urządzeń małej mocy.
fabricator4,
1
Gdy problem wystąpi natychmiast, spójrz na kilka ostatnich linii syslog: „cat / var / logs / syslog | tail”, aby zobaczyć, czy coś tam jest wspomniane.
fabricator4,
odpowiednio zaktualizuję pytanie, jak tylko to się powtórzy ... śledź
8

Przydarzyło mi się coś podobnego do tego. Ten post na blogu stanowi częściowe rozwiązanie.

Oto, co zadziałało dla mnie:

sudo -s
cd /sys/bus/pci/drivers/xhci_hcd/
for file in ????:??:??.? ; do
 echo -n "$file" > unbind
 echo -n "$file" > bind
done

Jak zauważono w tym wpisie blokowym, różne systemy rozłączają się w różnych miejscach, więc jeśli powyższe nie działa, możesz spróbować zastąpić /sys/bus/pci/drivers/xhci_hcd/go /sys/bus/pci/drivers/ehci_hcd/, lub /sys/bus/pci/drivers/uhci_hcd/jeśli jeden z nich istnieje.

naught101
źródło
1
debian 9.5: / sys / bus / pci / drivers / ehci-pci (uwaga na myślnik „-” not a „_”)
eli
Jeżeli nie będzie to "$file"zamiast "$i"?
Nikolai Prokoschenko
Chyba tak. naprawiony.
naught101
6

Stary post i odpowiedzi nie dotyczą USB 3.0. Oto jak zresetować magistralę 3.0, która przestała wyświetlać dane:

su -

i jako root:

echo -n "0000:06:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:06:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind

Następnie USB powinien zacząć działać poprawnie, podobnie jak po ponownym uruchomieniu.


Wyjaśnienie

Jeśli używasz innego sterownika, oto jak znalazłem, co robić, użyj go jako odniesienia:

lsusb -tWyjście będzie to - warto zanotować xhci_hcdkierowcy na szybkiej magistrali, to nazwa 3,0 kierowca:

$ lsusb -t
        /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
        /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
            |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=dvb_usb_it913x, 480M
        /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
            |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            ...etc

Katalog do wyszukiwania to /sys/bus/pci/drivers/xhci_hcd

        drwxr-xr-x  2 root root    0   5 21:48 ./
        drwxr-xr-x 28 root root    0   1 00:21 ../
        lrwxrwxrwx  1 root root    0   6 00:29 0000:06:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.3/0000:06:00.0/
        --w-------  1 root root 4096   5 22:33 bind
        lrwxrwxrwx  1 root root    0   5 22:32 module -> ../../../../module/xhci_hcd/
        --w-------  1 root root 4096   5 22:32 new_id
        --w-------  1 root root 4096   5 22:32 remove_id
        --w-------  1 root root 4096   5 22:32 uevent
        --w-------  1 root root 4096   5 22:33 unbind

W moim przypadku musiałem odpiąć "0000:06:00.0" .

ps. Jeśli chcesz ponownie powiązać sterownik USB 2.0, postępuj zgodnie z powyższymi instrukcjami, ale za pomocą ehci-pcilub spójrz tutaj (zasługuje na kredyt).

Amir Uval
źródło
1
Nie mogę ci wystarczająco podziękować. To jedyne rozwiązanie, które działało dla mnie, nawet bluetooth teraz działa! Nie trzeba już restartować. Dla mnie było to „0000: 00: 14.0” przy użyciu Ubuntu 14.04 i Asus VivoBook.
Karim Sonbol
Ochoczo! Wygląda na to, że przypadkowo uczyniłem z mojej odpowiedzi „wiki społeczności”, więc głosowanie mnie nie przypisuje. (@ThomasWard, czy możesz mi pomóc, odblokowując wiki wiki?)
Amir Uval,
1
Jest jednak jeden problem, próbowałem go dzisiaj i otrzymuję ten błąd: tee: / sys / bus / pci / dhcd / unbind: Brak takiego pliku lub katalogu tee: / sys / bus / pci / dhcd / bind: Nie ma takiego plik lub katalog
Karim Sonbol
@KarimSonbol nie jest to / sys / bus / pci / drivers / ...?
Amir Uval,
tak, przepraszam za mój błąd
Karim Sonbol,
3

Oprzeć na lsusb

#lsusb
Bus 002 Device 002: ID 04f3:0230 Elan Microelectronics Corp. 3D Optical Mouse
Bus 003 Device 002: ID 04f3:0103 Elan Microelectronics Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Czy lsusb -tdane wyjściowe będą miały następujący format

$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M

Zwróć uwagę na Bus 00Xnumer i wersję 1.1/ 2.0USB na obu wyjściach. Jeśli mysz i klawiatura są 1.1teraz włączone , spróbuj przenieść je do 2.0portu lub na odwrót.

Nie rozwiązuje to problemu ze sterownikiem, ale obejście problemu (jeśli działa).

John Siu
źródło
czy mógłbyś być bardziej wyraźny? co powinienem zrobić? porównać wynik lsusbz lsusb -t? czego tam szukać? masz na myśli autobus 2.0? zwykle używam tego do zewnętrznego dysku twardego. w swoim komentarzu mówisz „Ponieważ jeśli„ nx8220 ”jest właściwym modelem, w pudełku powinien być używany mikroukład Intel 915PM. Masz jednak tylko„ Linux Foundation ”- czy to oznacza, że ​​brakuje mi odpowiedniego sterownika? co należy zrobić wynikiem lsusb -tjest pasta.ubuntu.com/1482285
1
(1) Tak, spróbuj użyć magistrali USB 2.0. Jeśli masz tylko jeden port 2.0, sprawdź, czy możesz znaleźć zewnętrzny hub USB i podłączyć go. (2) Zaznaczam kilka innych moich pudełek, a także pokazują tylko Linux Foundation, więc nie jest to błąd. (3) lsusb -tsłuży do łatwiejszej identyfikacji urządzenia USB i magistrali, którą podłączają.
John Siu,
1
@cipricus Istnieje wiele możliwości i nie jestem pewien. Wymienię najbardziej prawdopodobne przyczyny mojej wiedzy: (1) Czyste oprogramowanie: sterownik Linuksa nie obsługuje poprawnie portu 1.1 dla tego mikroukładu. To będzie najbardziej możliwa przyczyna. (2) Częściowy sprzęt: porty USB są wrażliwe na zakłócenia i z czasem mogą ulec degradacji / śmierci, szczególnie w przypadku starszych płyt głównych i mikroukładów. Twój port 1.1 może się degradować i nie działa zbyt dobrze, a sterownik Linuksa nie jest w stanie poradzić sobie z tymi specjalnymi przypadkami (takimi jak wahania napięcia), podczas gdy sterownik XP wie, jak sobie z nimi poradzić (lub je tolerować).
John Siu,
1
@cipricus Specyfikacja USB 1.1 jest wystarczająco szybka (i znacznie większa) dla klawiatury i myszy. Naprawdę wątpię, czy jakakolwiek istota ludzka może max. z tą prędkością przy pomocy normalnej klawiatury (ludzką ręką).
John Siu
Dziękuję Ci! Zgodziłem się, że ten rodzaj problemu musi być ustalany indywidualnie dla każdego przypadku, w zależności od objawu. SZCZĘŚLIWEGO NOWEGO ROKU!!
John Siu,
2

FWIW - Jeśli masz problemy z USB na Ubuntu z powodu konfliktów lub problemów z zasilaniem, zaoszczędź trochę problemów i zdobądź zasilany ekspander USB - są to tanie urządzenia, które podłączają się do portu USB i zmieniają go w 5 lub 10 lub cokolwiek potrzebujesz kupić i mieć osobne źródło zasilania i kupić amazon za około 30 USD.

Miałem mnóstwo problemów z klawiaturą i / lub myszą po dodaniu urządzenia USB, co sprawiło, że wszystkie moje problemy zniknęły.

Twoje zdrowie

bsautner
źródło
0

Szybkie rozwiązanie , które działa przynajmniej w moim przypadku (Linux Mint KDE na Lenovo Yoga 3 Pro laptop):

Gdy laptop jest włączony, wystarczy nacisnąć przycisk zasilania przez około 30 sekund , który wyłącza się, a następnie jeszcze przez chwilę naciska. Zrobiłem to z odłączoną ładowarką. Po włączeniu laptopa porty USB znów działają.

Juan M. Gonzalez
źródło