Il dispositivo USB non accetta l'indirizzo


12

Ho una serie di macchine che sto costruendo per lavorare con lettori di schede USB. Quando li avvio ricevo una lunga serie di messaggi:

...
[ 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
...

Su alcune macchine più vecchie ci vogliono solo pochi tentativi prima che il lettore di carte accetti finalmente un indirizzo, mentre sulle macchine più recenti potrebbero volerci molti minuti. Cambiare hardware non è un'opzione e collegare il lettore di schede USB a una porta diversa è solo un'opzione per le macchine meno recenti. Questo era un problema con l'11.04 e ora sto eseguendo la beta 12.04 e sta ancora accadendo.

C'è qualcosa che posso fare nel software (forse una regola udev?) Che potrebbe risolvere questo problema?

Qualche consiglio apprezzato. Sono felice di fornire maggiori dettagli se ne hai bisogno.


Per me, il problema era con il cavo.
Gayan Weerakutti,

Risposte:


6

Potresti provare il vecchio schema di inizializzazione per i dispositivi USB? Questo può essere fatto modificando il parametro kernel in/etc/default/grub :

  • cambia la linea che dice GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" aGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • correre update-grub
  • riavviare e vedere se ha aiutato

2

Nel mio caso mi sembra di avere un hub all'interno della macchina (probabilmente fornendo il cluster a quattro porte sul retro) che non accetta l'indirizzo assegnato.

I messaggi di registro per me sembrano così:

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

Questo mostra che è il bus USB 6 . Non ho nulla collegato ad esso e voglio che taci.

Ora dobbiamo trovare il driver pertinente. In questo caso è uhci_hcdcosì

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

e trova quale dispositivo PCI fornisce il bus USB 6:

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

Il nome della directory qui è l'ID del bus PCI corrispondente a quel bus USB. Quindi è semplicemente:

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

per spegnerlo.

Se funziona, è possibile aggiungere solo l'ultima riga a uno script all'avvio. Sembra che ci dovrebbe essere un parametro del kernel per evitare alcuni bus USB ma non riesco a trovarne uno.

(Basato sulla risposta di titaniumtux ma cercando di evitare di sciogliere la tastiera. Chiamami vecchio stile ma lo uso ancora.)


0

Ho incontrato la stessa situazione della tua.

Ma ho usato Ubuntu 10.04.

Ma se avessi usato un altro computer, non sarebbe mai uscito.

Quindi fino ad ora, penso che fosse qualcosa con la mia interfaccia USB.

Dopo aver aggiunto le regole udev al mio sistema, può accadere meno prima.

Puoi provarlo .

Auguri!


0

Crea uno script contenente quanto segue ed eseguilo all'avvio:

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

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

Questo dovrebbe risolvere il problema.

Fonte: qui


Nota che questo comando come scritto sta per separare ogni dispositivo EHCI, che potrebbe includere la tua tastiera.
poolie,

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.