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?
Respostas:
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.
fonte
ehci_hcd
módulo? Ou é possível forçarohci_hcd
um dispositivo específico (por exemplo,/dev/sda
é tratado porehci_hcd
e "problemático"/dev/sdb
é tratado porohci_hcd
)?Este erro está descrito no artigo Linux: Redefinir dispositivo USB de alta velocidade usando o erro ehci_hcd e solução :
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: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:
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?
fonte