O que são redefinições de dispositivo USB?


20

Eu tenho esse software RAID-1 novinho em folha, construído com duas unidades USB externas da WD Elements e vejo que o Linux repete a seguinte mensagem bastante:

...
[302148.036912] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
[302153.052029] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302186.031481] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302217.050210] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302281.043543] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302312.090158] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302351.076851] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
...

Então, o que diz? Isso é normal? Esse é um problema que eu deveria tentar corrigir?

Atualização
Na verdade, essas mensagens não são para as unidades que eu pensava que eram. Também tenho várias outras unidades USB conectadas a este computador por meio de um hub USB. Enfim, minha pergunta é basicamente o que essa mensagem significa em inglês simples?


3
Criar RAID a partir de drives USB não parece uma boa ideia. O RAID tem tudo a ver com confiabilidade em todas as suas unidades, e o USB tem tudo a ver com dispositivos de conexão e desconecção quentes. Como você está usando o RAID-1, não é tão ruim, mas também não é uma boa ideia.
Mvp

11
Não há nada de errado em usar dispositivos USB na configuração RAID. É uma idéia perfeitamente sólida, ainda mais quando se considera que é um computador doméstico, não um servidor corporativo. Você pode argumentar sobre as limitações de taxa de transferência USB, mas isso não é uma preocupação para mim pessoalmente. Esse ataque é uma abordagem preguiçosa para a solução de backup mais do que qualquer outra coisa.
ILIV

11
Você indicou que suas unidades estão conectadas às portas USB do notebook. Diga o que quiser, mas isso é simplesmente uma bomba-relógio esperando para explodir. Além disso, se seus dispositivos forem USB3, o kernel deve usar xhci_hcd. Se estiver usando ehci_hcd, isso significa que seus dispositivos estão sendo executados em velocidades USB2.
Mvp

11
Por que é uma "bomba-relógio"?
ILIV 4/11/13

2
Vejo que da próxima vez, por favor, tente descobrir razões reais para chamar algo de bomba-relógio. Só para constar, eu não tenho um gato ou qualquer outro animal de estimação, eu nunca puxei cabos, este notebook permanece em papel de carta há alguns anos, as chances de portas USB queimarem são quase iguais a uma chance de ter Se a conexão direta ficar interrompida, "algo mais" é engraçado, pode acontecer até mesmo para o servidor corporativo mais bem configurado e instalado. Então, pare de ser tão paranóico. Este é o RAID-1. Ter dois discos lançados ao mesmo tempo é muito improvável. Esta é uma solução sólida. Período.
ILIV 4/11/13

Respostas:


22

Deixe-me tentar.

Literalmente, a mensagem diz que a pilha USB do Linux emitiu "USB_RESET" para o seu dispositivo específico (dispositivos 19 e 20, sejam eles quais forem). O erro parece ocorrer uma vez a cada 10 a 30 segundos. Após a redefinição, o log deve receber novas mensagens de enumeração, pois a redefinição do USB forçará o dispositivo conectado ao "estado padrão". Parece que a verbosidade do seu log está muito reduzida.

Redefinir um dispositivo USB no meio da operação é uma situação bastante drástica. O controlador recorre a essa "porta" redefinida se encontrar "erro de transação". O erro de transação ocorre quando o link não conclui todas as fases necessárias da transação USB ou apresenta um erro de CRC. Em USB normal, o controlador EHCI tentará novamente automaticamente a transação com falha (no máximo 3 vezes) e, em seguida, definirá uma interrupção XACT_ERROR. Estatisticamente, pela teoria dos erros, se um link não responde adequadamente a três tentativas seguidas, há algo errado com o segmento USB específico, principalmente eletricamente. Portanto, o erro de transação é considerado fatal e o software tenta recuperar o link. Se a árvore quatro tentar recuperar o link falhar, o host considerará essa porta como morta e será encerrada.

No Linux, no entanto, alguém decidiu que três tentativas teóricas não são suficientes e o software Linux realiza 32 (trinta e duas) tentativas adicionais, perfazendo um total de 96 (!!!). Se o link do hardware for eletricamente marginal, as 96 tentativas poderão ter sucesso em 99,99% do tempo. Os gurus do software Linux afirmam que isso ajuda a melhorar a operabilidade de dispositivos / cabos questionáveis. Em essência, essa técnica oculta um problema sério com essa conexão USB específica, o que não ajuda os usuários a longo prazo.

O problema pode estar no fornecimento de tensão marginal (VBUS) para os inversores, falhas no VBUS ou degradação do sinal nos fios de sinal. Eu tentaria cabos curtos de alta qualidade extremamente curtos primeiro e verificaria se as estatísticas de erro são alteradas.


Super resumo, obrigado! Algumas fontes adicionais seriam legais.
Christian Benke 14/10

11
Você sabe se é possível aumentar o número de tentativas feitas por ehci_hcdmódulo? Ou é possível forçar ohci_hcdum dispositivo específico (por exemplo, /dev/sdaé tratado por ehci_hcde "problemático" /dev/sdbé tratado porohci_hcd )?
dma_k

5

Este erro está descrito no artigo Linux: Redefinir dispositivo USB de alta velocidade usando o erro ehci_hcd e solução :

Este erro indica que o USB 2.0 pode não funcionar no seu sistema ou pode funcionar apenas nas velocidades USB 1.1. Para corrigir este problema:

  1. Substituir hardware: Na maioria dos casos, você precisa substituir a placa-mãe.
  2. Remova o driver ehci_hcd
  3. Desative a interface USB 2.0 da unidade ehci_hcd e use-a como USB 1.1. Em resumo, desative o ehci_hcd.

Se você não deseja substituir a placa-mãe, para remover o driver ehci_hcd, edite o arquivo /etc/modprobe.d/blacklist.conf e adicione a linha:

blacklist ehci_hcd

Por fim, use o script mkinitrd para construir uma estrutura de diretórios que possa servir como um sistema de arquivos raiz initrd sem ehci_hcd:

# mkinitrd -o /boot/initrd.$(uname -r).img $(uname -r)

Reinicie como teste.

Um artigo com instruções semelhantes é: Por que o erro "kernel: usb 1-2.2: redefine o dispositivo USB de alta velocidade usando ehci_hcd e endereço 6" foi gravado no arquivo / var / log / messages?

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.