Di tanto in tanto, gli slot USB smettono di funzionare improvvisamente


30

Dopo aver reinstallato il sistema Lubuntu 12.04 sul mio laptop, dopo alcuni giorni è riemerso un problema più vecchio e l'installazione di programmi diversi: senza motivo apparente il mouse esterno e talvolta altri dispositivi collegati tramite USB (incluso hdd) smettono di funzionare. L'hdd mostra che ha tensione in quanto ha una luce lì, e il mouse esterno lampeggia per un secondo quando collegato.

Ho pubblicato una versione diversa di questo problema prima . Lo tengo per ora come esempio delle due risposte lì. Nessuno di loro lavora qui.

La disconnessione non fa nulla, il riavvio fa.

L'evento sembra del tutto casuale, dopo il riavvio riapparirà dopo molti giorni o settimane o, raramente, dopo alcune ore.

Quello che conta è alla fine immagino:

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
  • Ho notato che nella maggior parte dei casi sono interessati solo il mouse e la tastiera esterni, ma non l'HDD esterno. O se lo è, sostituirlo risolve il problema .

  • Ho un doppio avvio con WinXP: in Windows questo non succede mai, quindi non è un problema hardware

  • Ho usato Lubuntu Quantal 12.10 e lo stesso problema si è verificato anche lì . L'aggiornamento a quello non sarebbe una soluzione

  • In determinate occasioni solo il riavvio 2 o anche 3 volte risolto.


Utilizzando lo stesso PC / hardware con Linux Mint 14 (Quantal) Xfce, il problema è quasi scomparso (è successo una volta da allora). Non sono sicuro che questa "soluzione" derivi dall'uso di Xfce o Mint (immagino che Mint 14 Nadia usi lo stesso kernel di Lubuntu Quantal).


Si prega di inviare output di lsusb. Ho fatto una ricerca su Google host controller process error, something bad happenede la prima è stata mostrata già nel 2002. Poi continuo a comparire di volta in volta in tutti questi anni. Il problema sembra essere il driver rispetto ad alcuni chipset USB.
John Siu,

@ John Siu: paste.ubuntu.com/1472989 - questo viene fatto con mouse esterno e tastiera esterna. sono loro a questo problema. ho usato topi diversi e ho avuto lo stesso problema (raramente, come ho detto) ma ho usato esclusivamente questa tastiera: potrebbe essere la causa?

1
hmm, in realtà stavo cercando una linea come questa "Bus 001 Device 002: ID 8087: 0024 Intel Corp. Integrated Rate Matching Hub". Perché se 'nx8220' è il modello corretto, la scatola dovrebbe usare il chipset Intel 915PM. Tuttavia hai solo "Linux Foundation ....". Inserirò una risposta, poiché il suggerimento sarà troppo difficile da inserire nel formato corretto qui.
John Siu,

1
se non accade MAI con XP, non dovrebbe essere correlato all'hardware (tastiera).
John Siu,

2
Come nota, solo perché non succede in Windows, non significa che non sia un problema hardware. È del tutto possibile che Windows (o anche i driver hardware) siano meno sensibili, o reagiscano in modo più grazioso, a un errore o errore hardware. (Ad esempio, il software Logitech su Windows potrebbe rilevare la disconnessione e adottare le misure necessarie per riconnettersi senza l'intervento dell'utente).
Shauna,

Risposte:


6

problemi kernel vs hardware

Se hai escluso possibili problemi hardware come problemi di tensione / corrente, mancanza di porte / hub USB, questo è probabilmente un problema del kernel.

Se ti senti a tuo agio con possibili problemi di non avvio / problemi della schermata nera all'avvio, puoi provare a installare il kernel quantico disponibile nei repository 12.04.

Ricorda: la maggior parte dei problemi relativi alla schermata nera sono dovuti all'installazione di driver grafici proprietari. Avrai molta fortuna rimuovendoli prima di aggiornare il tuo kernel.

Per installare il kernel quantico:

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

Ricorda di fare un backup completo del sistema per permetterti di recuperare se il nuovo kernel si rompe più di quanto corregge.


A proposito, ho un problema simile con quantal. Pensavo fosse perché avevo lasciato cadere l'HD un paio di volte. "Scatta" e poi scompare. Suona familiare?
Gazza il

@Magpie: niente affatto. Anche ora mi rendo conto che: 1. non ce l'ho mai in WinXP, in dual boot, quindi immagino che non sia un problema hardware, 2. L'ho avuto anche in quantale, quindi l'aggiornamento non sarebbe una soluzione

1
@cipricus - gli errori nella traccia lo fanno sembrare un problema del kernel. I ragazzi del kernel a monte sarebbero interessati. Tuttavia, per prima cosa ti chiedono di provare l'ultimo kernel - che è 3.8rc1 credo. Se segui questa strada, esegui prima il backup del sistema con un clone di immagini. Un'alternativa è eseguire il backup del sistema (o doppio avvio), installare raring (13.04) per una settimana e vedere se il problema si ripresenta. puoi quindi tornare al tuo sistema principale in seguito. Raramente userà il kernel v3.8 - probabilmente lo otterrà nelle prossime settimane.
Fossfreedom

@ fossfreedom: posso creare una nuova opzione di avvio di 13.04 in parallelo a 12.04 ?, come sistema operativo diverso? il problema è che raramente è successo ultimamente. forse dovrei aspettare il 13 stabile e aggiornare?

1
sì (l'ho fatto negli ultimi 11.10 e 12.04 contemporaneamente) - all'avvio da USB ti darà la possibilità di eseguire il dual boot anziché cancellare ... ma per favore - per favore (!) esegui prima il backup del tuo sistema: )
Fossfreedom

10

Problemi di alimentazione per USB 2.0

USB 2.0 ha un assorbimento di corrente massimo disponibile di 500 mA, tuttavia va notato che + 5 V su più porte potrebbero effettivamente trovarsi sullo stesso bus. Ad esempio in un caso desktop, le porte USB sulla parte anteriore della macchina potrebbero trovarsi tutte sullo stesso bus, mentre le porte sul retro della macchina saranno normalmente un bus diverso o avranno alimentazioni + 5V completamente separate per ciascun gruppo di Prese USB 2.0.

Un dispositivo a bassa corrente come definito dagli standard USB 2.0 può assorbire fino a 100 mA (1 unità) mentre i dispositivi ad alta corrente possono assorbire fino a 5 unità (500 mA). I dischi rigidi senza fonte di alimentazione esterna sono in genere dispositivi ad alta corrente.

I dispositivi dovrebbero smettere di funzionare se la linea + 5V scende al di sotto di 4,75 V ed è per questo che molti dispositivi ad alta potenza possono causare problemi su alcuni computer.

Inoltre, il circuito che fornisce + 5 V a ciascun bus può rifiutare di rinegoziare la capacità di alta potenza se il dispositivo assorbe abbastanza corrente per abbassare troppo la linea di + 5 V. Questo è il motivo per cui i dispositivi ad alta potenza dovranno essere rimossi e ricollegati prima che funzionino se si sono guastati a causa di un problema di alimentazione, e anche perché un riavvio non consente loro di ricollegarsi durante un ciclo di spegnimento / accensione completo può farlo.

Se uno o più dispositivi a bassa potenza sono già collegati a un bus USB, potrebbe non essere disponibile una capacità sufficiente per eseguire anche un dispositivo ad alta potenza come un disco rigido esterno.

Pertanto, è necessario pianificare l'utilizzo di dispositivi ad alta potenza e, in caso di problemi, il dispositivo deve essere utilizzato da solo su uno qualsiasi dei bus o con un'alimentazione separata di + 5V.

Mentre il documento sugli standard USB 2.0 potrebbe essere un po 'difficile da leggere, ci sono alcune ottime informazioni e spiegazioni nella pagina di Wikipedia sull'argomento USB 2.0

Si noti inoltre che il collegamento di molti dispositivi a bassa potenza, ad esempio tramite un dispositivo hub USB esterno, può anche causare una caduta di tensione sulla linea di alimentazione del bus, causando la disabilitazione di alcuni o tutti i dispositivi.

I tipi di cavi utilizzati possono anche influire sull'affidabilità dei dispositivi ad alta potenza. Ad esempio, un disco rigido esterno collegato tramite un cavo USB lungo normale potrebbe vedere una caduta di tensione sufficiente a 500 mA per disabilitarsi per evitare danni ai suoi circuiti o ai motori di azionamento. Questi dispositivi sono in genere forniti con uno speciale cavo corto o un cavo a "Y" che si collega a due porte USB per risolvere il problema di alimentazione. Si noti che questa è solo una soluzione parziale al problema relativo in particolare al problema del cablaggio, in realtà non consente di fornire più di 500 mA poiché è probabile che le porte USB adiacenti si trovino sulla stessa alimentazione da 5 V 500 mA internamente al computer. Anche quando viene utilizzato un bus separato per la seconda spina sul cavo "Y", ha vinto " essere in grado di ottenere una corrente elevata poiché non dispone di una connessione dati per richiederlo dal bus USB. Solo una delle porte sarà abilitata come alimentazione ad alta corrente.

Dall'uso molto comune di tastiere e mouse USB, a volte possono verificarsi problemi quando entrambi sono collegati allo stesso bus. Le correnti di picco del carico all'accensione possono superare le specifiche di progettazione del bus USB e causare la disabilitazione o il malfunzionamento di uno o entrambi i dispositivi.

Le soluzioni a questi problemi di solito comportano l'utilizzo di un minimo di dispositivi a bassa potenza, utilizzando solo dispositivi a bassa potenza ben progettati e realizzati, assicurandosi che siano collegati a diversi bus con linee separate da + 5V e in cui i dispositivi ad alta potenza sono coinvolti utilizzando un hub alimentato per aiutare con i problemi di alimentazione riscontrati su molte forniture bus USB 2.0. Se non è possibile utilizzare un hub alimentato, il dispositivo ad alta potenza deve essere collegato solo dopo aver acceso il computer e stabilizzato il consumo di corrente da dispositivi a bassa potenza.

Va anche notato qui che computer come laptop e netbook possono avere dispositivi USB a bassa potenza incorporati internamente. Hardware come lettori di schede interni, adattatori wireless 3G e webcam sono spesso collegati internamente a un bus USB. Potrebbe trattarsi di un bus dedicato con una propria alimentazione di + 5V o può essere condiviso con una o più porte USB esterne.


1
Ottima spiegazione - alcune informazioni molto utili qui.

2
Non è il mouse stesso, ma il dongle che si collega alla porta USB che riceve i dati di movimento dal mouse. Potrebbe non funzionare bene con altri dispositivi e causare loro problemi. Non è chiaro da cosa ci hai detto dove risiede il vero colpevole. Un disco rigido può accendersi correttamente, ma la conseguente caduta di tensione può causare il malfunzionamento di altri dispositivi. Ho scoperto che è meglio accendere il computer e quindi collegare i dispositivi ad alta potenza una volta stabilizzati i dispositivi a bassa potenza essenziali.
fabricator4,

1
Dopo che si è verificato un problema, dai un'occhiata alle ultime righe di syslog: "cat / var / logs / syslog | tail" per vedere se c'è qualcosa di menzionato lì.
fabricator4,

aggiornerò la domanda di conseguenza non appena accadrà di nuovo ... per favore segui

lo ha fatto: pastebin.com/0qR8bhhX .

8

Mi stava succedendo qualcosa di simile. Questo post sul blog ha fornito una soluzione parziale.

Questo è ciò che ha funzionato per me:

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

Come notato in quel posto di blocco, sistemi diversi alzano appeso in luoghi diversi, quindi se il precedente non funziona, si potrebbe desiderare di provare a sostituire /sys/bus/pci/drivers/xhci_hcd/con /sys/bus/pci/drivers/ehci_hcd/, o /sys/bus/pci/drivers/uhci_hcd/, se una di queste esiste.


1
debian 9.5: / sys / bus / pci / drivers / ehci-pci (nota il trattino "-" non un "_")
eli

Questo non dovrebbe essere "$file"invece di "$i"?
Nikolai Prokoschenko,

Credo di si. fisso.
naught101

6

Post precedente e risposte non pertinenti a USB 3.0. Ecco quindi come ripristinare un bus 3.0 che ha interrotto la pubblicazione dei dati:

su -

e come 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

Successivamente, USB dovrebbe ricominciare a funzionare correttamente, proprio come dopo un riavvio.


Spiegazione

Nel caso in cui tu stia utilizzando un driver diverso, è così che ho trovato cosa fare, usalo come riferimento:

A lsusb -tprodurrà questo: prendi nota del xhci_hcddriver per il bus veloce, è il nome del driver 3.0:

$ 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

La directory da cercare è /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

Nel mio caso avevo bisogno di rilassarmi "0000:06:00.0".

ps. Se è necessario ricollegare il driver USB 2.0, seguire le istruzioni sopra ma con ehci-pcio guardare qui (merita un credito).


1
Non posso ringraziarti abbastanza. Questa è l'unica soluzione che ha funzionato per me, anche il bluetooth ora funziona! Non è più necessario riavviare. Per me è stato "0000: 00: 14.0" usando Ubuntu 14.04 e Asus VivoBook.
Karim Sonbol,

Volentieri! Sembra che abbia accidentalmente trasformato la mia risposta in un "wiki della comunità", quindi votare in su non mi dà credito. (@ThomasWard, per favore, puoi aiutarmi con un wiki della community?)
Amir Uval,

1
Tuttavia, c'è un problema, l'ho provato oggi e sto ricevendo questo errore: tee: / sys / bus / pci / dhcd / unbind: nessun file o directory tee: / sys / bus / pci / dhcd / bind: nessun tale file o directory
Karim Sonbol

@KarimSonbol non è / sys / bus / pci / drivers / ...?
Amir Uval, dic.1

sì, scusate il mio errore
Karim Sonbol,

3

Base su 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

lsusb -t, l'output sarà nel seguente formato

$ 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

Prestare attenzione al Bus 00Xnumero e alla versione 1.1/ 2.0USB in entrambe le uscite. Se il mouse e la tastiera sono attivi 1.1ora, prova a spostarli sulla 2.0porta o viceversa.

Questo non risolve il problema del driver, ma una soluzione (se funziona).


potresti essere più esplicito? cosa dovrei fare? confrontare il risultato di lsusbcon quello di lsusb -t? cosa dovrei cercare lì dentro? intendi preferire il bus 2.0? di solito lo uso per hdd esterno. nel tuo commento dici "Perché se 'nx8220' è il modello corretto, la scatola dovrebbe usare il chipset Intel 915PM. Tuttavia hai solo 'Linux Foundation" - significa che mi manca il driver corretto? Che cosa si deve fare? il risultato lsusb -tè paste.ubuntu.com/1482285

1
(1) Sì, prova a utilizzare il bus USB 2.0. Se hai solo una porta 2.0, vedi se riesci a trovare un hub USB esterno e collegarlo. (2) Controllo qualche altra mia casella e mostrano anche solo Linux Foundation, quindi non è un errore. (3) lsusb -tserve per identificare più facilmente il dispositivo USB e il bus che collegano.
John Siu,

1
@cipricus Ci sono più possibilità e non posso esserne sicuro. Elencherò le cause più probabili a mia conoscenza: (1) Software puro: il driver Linux non gestisce correttamente la porta 1.1 per questo chipset. Questa sarà la causa più possibile. (2) Hardware parziale: la porta USB è sensibile all'elettricità statica e può degradarsi / morire nel tempo, in particolare per la scheda madre e il chipset più vecchi. La tua porta 1.1 potrebbe degradarsi e non funziona molto bene, e il driver Linux non è in grado di gestire quei casi speciali (come la fluttuazione della tensione), mentre il driver XP sa come gestirli (o tollerarli).
John Siu,

1
Le specifiche di USB 1.1 di @cipricus sono abbastanza veloci (e oltre) per tastiera e mouse. Dubito davvero che qualsiasi essere umano possa max. fuori quella velocità con una tastiera normale (con mano umana).
John Siu,

Grazie! Sono d'accordo, questo tipo di problema deve essere determinato caso per caso, a seconda del sintomo. FELICE ANNO NUOVO!!
John Siu,

2

FWIW - Se hai problemi USB su Ubuntu a causa di conflitti o problemi di alimentazione, risparmia qualche problema e ottieni un espansore USB alimentato - questi sono dispositivi economici che si collegano alla tua porta USB e lo trasformano in 5 o 10 o qualsiasi cosa ti serva per acquistare e disporre di un alimentatore separato e acquistare Amazon per circa $ 30.

Ho avuto tonnellate di problemi con la tastiera e / o il mouse quando ho aggiunto un dispositivo USB e questo ha risolto tutti i miei problemi.

Saluti


0

Una soluzione veloce che funziona almeno nel mio caso (Linux Mint KDE, su un laptop Lenovo Yoga 3 Pro):

Con il laptop acceso, basta premere il pulsante di accensione per circa 30 secondi , che si sta spegnendo e continua a premere per un po 'dopo questo. L'ho fatto con il caricabatterie scollegato. Dopo aver acceso il laptop, le porte USB funzionano nuovamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.