Dispositivo USB que não aceita endereço


12

Tenho uma série de máquinas que estou construindo para trabalhar com leitores de cartões USB. Quando os inicializo, recebo uma longa série de mensagens:

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

Em algumas máquinas mais antigas, são necessárias apenas algumas tentativas até que o leitor de cartão finalmente aceite um endereço, enquanto em máquinas mais novas pode demorar muitos minutos. Mudar de hardware não é uma opção e conectar o leitor de cartão USB a uma porta diferente é apenas uma opção para os manchines mais antigos. Este foi um problema no 11.04 e agora estou executando o 12.04 beta e ainda está acontecendo.

Existe algo que eu possa fazer no software (talvez uma regra do udev?) Que conserte isso?

Qualquer conselho apreciado. Fico feliz em fornecer mais detalhes, se você precisar deles.


Para mim, o problema estava no cabo.
Gayan Weerakutti 23/01/19

Respostas:


6

Você poderia tentar o antigo esquema de inicialização para dispositivos USB? Isso pode ser feito alterando o parâmetro do kernel em /etc/default/grub:

  • mudar a linha que diz GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"paraGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • corre update-grub
  • reinicie e veja se isso ajudou

2

No meu caso, parece que tenho um hub dentro da máquina (provavelmente fornecendo o cluster de quatro portas na parte traseira) que não aceita o endereço atribuído.

As mensagens de log para mim são assim:

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

Isso mostra que é o barramento usb 6 . Não tenho nada conectado a ele e quero que cale a boca.

Agora precisamos encontrar o driver relevante. Nesse caso, é uhci_hcd, então

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

e descubra qual dispositivo PCI fornece o barramento usb 6:

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

O nome do diretório aqui é o ID do barramento PCI correspondente ao barramento USB. Então é simplesmente:

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

para desligá-lo.

Se isso funcionar, apenas a última linha poderá ser adicionada a um script de inicialização. Parece que deveria haver um parâmetro do kernel para evitar alguns barramentos USB, mas não consigo encontrar um.

(Com base na resposta do titaniumtux, mas tentando evitar desvincular o teclado. Chame-me à moda antiga, mas ainda o uso.)


0

Eu conheci a mesma situação que a sua.

Mas eu usei o Ubuntu 10.04.

Mas se eu usasse outro computador, ele nunca sairia.

Até agora, acho que era algo com a minha interface USB.

Depois de adicionar regras do udev ao meu sistema, isso pode ocorrer menos do que antes.

Você pode experimentá-lo .

Muitas felicidades!


0

Faça um script contendo o seguinte e execute-o na inicialização:

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

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

Isso deve resolver o problema.

Fonte: aqui


Observe que este comando, conforme escrito, irá desassociar todos os dispositivos EHCI, que podem incluir o teclado.
poolieby

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.