Os slots USB param de funcionar de repente de vez em quando

30

Após reinstalar o sistema Lubuntu 12.04 no meu laptop, um problema mais antigo ressurgiu após alguns dias e instalação de programas diferentes: sem motivo aparente o mouse externo e algumas vezes outros dispositivos conectados a USB (incluindo o HDD) param de funcionar. O disco rígido mostra que tem tensão, pois tem uma luz ali, e o mouse externo pisca por um segundo quando conectado.

Eu publiquei uma versão diferente deste problema antes . Eu mantenho isso por enquanto como exemplo das duas respostas lá. Nenhum deles funciona aqui.

Fazer logout não faz nada, a reinicialização faz.

O evento parece inteiramente aleatório. Após a reinicialização, ele reaparece após vários dias ou semanas ou, raramente, após algumas horas.

O que conta é no final, eu acho:

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
  • Percebi que na maioria das ocasiões apenas o mouse e o teclado externos são afetados, mas não o disco rígido externo. Ou, se estiver, reconectá-lo resolve o problema .

  • Eu tenho uma inicialização dupla com o WinXP: no Windows isso nunca acontece, por isso não é um problema de hardware

  • Eu usei o Lubuntu Quantal 12.10 e o mesmo problema aconteceu lá também . Atualizar para isso não seria uma solução

  • Em certa ocasião, apenas reiniciar 2 ou até 3 vezes o resolveu.


Usando o mesmo PC / hardware com o Linux Mint 14 (Quantal) Xfce, o problema quase desapareceu (aconteceu uma vez desde então). Não tenho certeza se essa 'solução' vem do Xfce ou Mint (acho que o Mint 14 Nadia usa o mesmo kernel que o Lubuntu Quantal).

user47206
fonte
Envie a saída de lsusb. Eu fiz uma pesquisa no Google host controller process error, something bad happenede a primeira apareceu em 2002. Então continue a aparecer periodicamente todos esses anos. Problema parece ser driver vs algum chipset USB.
31512 John Siu
@ John Siu: paste.ubuntu.com/1472989 - isso é feito com mouse externo e teclado externo. é com eles que esse problema está relacionado. Eu usei mouses diferentes e tive o mesmo problema (raramente, como afirmei), mas usei exclusivamente este teclado: poderia ser a causa?
11
hmm, eu estava realmente procurando uma linha como esta 'Dispositivo 001 do barramento 001: ID 8087: 0024 Hub de correspondência de taxa integrada da Intel Corp.'. Como se 'nx8220' for o modelo correto, a caixa deverá estar usando o chipset Intel 915PM. No entanto, você só tem 'Linux Foundation ....'. Vou dar uma resposta, pois a sugestão será muito difícil de colocar aqui no formato apropriado.
31712 John Siu
11
se NUNCA acontecer com o XP, não deverá estar relacionado ao hardware (teclado).
31512 John Siu
2
Como observação - só porque isso não acontece no Windows, não significa que não seja um problema de hardware. É perfeitamente possível que o Windows (ou mesmo os drivers de hardware) seja menos sensível ou reaja com mais facilidade a um erro ou falha de hardware. (Por exemplo, o software Logitech no Windows pode detectar a desconexão e executar as etapas necessárias para se reconectar sem a intervenção do usuário).
Shauna

Respostas:

6

problemas de kernel vs hardware

Se você descartou possíveis problemas de hardware, como problemas de tensão / corrente, falhas nas portas / hubs USB, isso provavelmente é um problema no kernel.

Se você se sentir confortável com possíveis problemas de não inicialização / problemas de tela preta na inicialização, tente instalar o kernel quantal disponível nos repositórios 12.04.

Lembre-se: a maioria dos problemas de tela preta se deve à instalação de drivers gráficos proprietários. Você terá mais sorte em removê-los primeiro antes de atualizar seu kernel.

Para instalar o kernel quantal:

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

Lembre-se de fazer um backup completo do sistema para permitir a recuperação se o novo kernel quebrar mais do que o corrigido.

liberdade de expressão
fonte
Apenas para sua informação, eu tenho um problema semelhante com o quantal. Eu tinha assumido que era porque havia deixado cair o HD algumas vezes. Ele "clica" e desaparece. Soa familiar?
Novp
@ Magpie: de maneira alguma. Mesmo agora, percebo que: 1. nunca o tenho no WinXP, na inicialização dupla, então acho que não é um problema de hardware, 2. eu também o tive em quantal, portanto a atualização não seria uma solução
11
@cipricus - os erros no rastreamento fazem com que pareça um problema no kernel. Os caras do kernel upstream estariam interessados. No entanto, eles pedem que você tente o kernel mais recente - o 3.8rc1, eu acho. Se você seguir esse caminho - faça backup do seu sistema com um clone de imagem primeiro. Uma alternativa é fazer backup do seu sistema (ou inicialização dupla), instalar o raring (13.04) por uma semana e ver se o problema reaparece. você pode retornar ao seu sistema principal posteriormente. Raring usará o kernel v3.8 - provavelmente conseguirá isso nas próximas semanas.
fossfreedom
@ fossfreedom: posso criar uma nova opção de inicialização do 13.04 em paralelo ao 12.04 ?, como um sistema operacional diferente? o problema é que isso raramente acontecia ultimamente. talvez eu deva esperar pelo 13 estável e atualizar?
11
sim (eu fiz isso no passado 11.10 e 12.04 ao mesmo tempo) - ao inicializar a partir do USB, você terá a opção de inicialização dupla em vez de apagar ... mas, por favor - faça o backup do seu sistema primeiro: )
fossfreedom
10

Problemas de energia para USB 2.0

O USB 2.0 possui um consumo máximo de corrente disponível de 500mA, no entanto, deve-se notar que os + 5V em várias portas podem realmente estar no mesmo barramento. Por exemplo, em um gabinete de mesa, as portas USB na frente da máquina podem estar todas no mesmo barramento, enquanto as portas na parte traseira da máquina normalmente são um barramento diferente ou têm suprimentos + 5V completamente separados para cada grupo de Soquetes USB 2.0.

Um dispositivo de baixa corrente, conforme definido pelos padrões USB 2.0 , pode consumir até 100mA (1 unidade), enquanto os dispositivos de alta corrente podem consumir até 5 unidades (500mA). Os discos rígidos sem fonte externa de suprimento geralmente são dispositivos de alta corrente.

Os dispositivos devem parar de funcionar se a linha de + 5V cair abaixo de 4,75V e é por isso que muitos dispositivos de alta potência podem causar problemas em alguns computadores.

Além disso, o circuito que fornece + 5V a cada barramento pode se recusar a negociar novamente a capacidade de alta potência se o dispositivo estiver consumindo corrente suficiente para puxar a linha de + 5V para muito baixo. É por isso que os dispositivos de alta potência precisarão ser removidos e reconectados antes de funcionarem, se falharem devido a um problema de energia, e também por que uma reinicialização não permite reconectá-los durante um ciclo completo de desativação / desativação pode fazê-lo.

Observe que, se um ou mais dispositivos de baixa energia já estiverem conectados a um barramento USB, talvez não haja capacidade suficiente disponível para executar também um dispositivo de alta energia, como um disco rígido externo.

Portanto, o uso de dispositivos de alta potência precisa ser planejado e, se existirem problemas, o dispositivo precisará ser usado sozinho em qualquer barramento ou receber uma fonte de + 5V separada.

Embora o documento dos padrões USB 2.0 possa ser um pouco difícil de ler, há algumas informações e explicações muito boas na página da wikipedia sobre o assunto USB 2.0

Observe também que a conexão de muitos dispositivos de baixa energia, como através de um dispositivo de hub USB externo, também pode causar uma queda de tensão na linha de alimentação do barramento, fazendo com que alguns ou todos os dispositivos sejam desativados.

Os tipos de cabos usados ​​também podem afetar a confiabilidade dos dispositivos de alta potência. Por exemplo, um disco rígido externo conectado por meio de um cabo USB longo comum pode ver uma queda de tensão suficiente em 500mA para se desativar, a fim de evitar danos a seus circuitos ou motores de acionamento. Esses dispositivos geralmente são fornecidos com um cabo curto especial ou um cabo 'Y' que se conecta a duas portas USB para ajudar no problema de energia. Observe que essa é apenas uma solução parcial para o problema relacionado especificamente ao problema de cabeamento; na verdade, não permite que mais de 500mA sejam fornecidos, pois as portas USB adjacentes provavelmente estão na mesma fonte de 5V 500mA internamente no computador. Mesmo onde um barramento separado é usado para o segundo plugue no cabo 'Y', ele ganhou ' não conseguir uma fonte de alta corrente, pois não possui conexão de dados para solicitá-la ao barramento USB. Somente uma das portas será ativada como uma fonte de alta corrente.

Desde o uso muito comum de teclados e mouses USB, às vezes podem ocorrer problemas quando ambos estão conectados ao mesmo barramento. As correntes de pico de carga na inicialização podem exceder a especificação de design do barramento USB e fazer com que um ou ambos os dispositivos sejam desativados ou apresentem mau funcionamento.

As soluções para esses problemas geralmente envolvem o uso de apenas um mínimo de dispositivos de baixa potência, usando apenas dispositivos de baixa potência bem projetados e fabricados, certificando-se de que estejam conectados a barramentos diferentes com linhas de + 5V separadas e onde os dispositivos de alta potência estejam envolvidos usando um hub alimentado para ajudar com os problemas de suprimento observados em muitos suprimentos de barramento USB 2.0. Se não for possível usar um hub energizado, o dispositivo de alta potência só deve ser conectado após o computador ser ligado e o consumo de corrente dos dispositivos de baixa energia ter estabilizado.

Também deve ser observado aqui que computadores como laptops e netbooks podem ter dispositivos USB de baixa potência incorporados internamente. Hardware, como leitores de cartão internos, adaptadores 3G sem fio e webcams, geralmente são conectados internamente a um barramento USB. Pode ser um barramento dedicado com sua própria energia de + 5V ou pode ser compartilhado com uma ou mais portas USB externas.

fabricator4
fonte
11
Excelente explicação - algumas informações muito úteis aqui.
2
Não é o mouse em si, mas o dongle que você conecta na porta USB que recebe os dados de movimento do mouse. Pode não estar funcionando bem com outros dispositivos e causando problemas. Não está claro pelo que você nos disse onde está o verdadeiro culpado. Um disco rígido pode funcionar corretamente, mas a queda de tensão resultante pode causar o mau funcionamento de outros dispositivos. Descobri que é melhor ligar o computador e depois conectar os dispositivos de alta potência assim que os dispositivos essenciais de baixa potência se estabilizarem.
fabricator4
11
Após a ocorrência de um problema, consulte as últimas linhas do syslog: "cat / var / logs / syslog | tail" para ver se há alguma coisa mencionada lá.
fabricator4
Vou atualizar pergunta nesse sentido, logo que isso acontecer novamente ... siga
8

Algo semelhante a isso estava acontecendo comigo. Esta postagem do blog forneceu uma solução parcial.

Isto é o que funcionou para mim:

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

Conforme observado na postagem em bloco, diferentes sistemas são desligados em locais diferentes; portanto, se o acima não funcionar, convém substituir /sys/bus/pci/drivers/xhci_hcd/por /sys/bus/pci/drivers/ehci_hcd/, ou /sys/bus/pci/drivers/uhci_hcd/, se existir um deles.

naught101
fonte
11
debian 9.5: / sys / bus / pci / drivers / ehci-pci (note o traço "-" não um "_")
eli
Isso não deveria ser em "$file"vez de "$i"?
Nikolai Prokoschenko 11/11
Eu acho. fixo.
naught101
6

Postagem antiga e respostas não são relevantes para o USB 3.0. Então, veja como redefinir um barramento 3.0 que parou de veicular dados:

su -

e como raiz:

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

Depois disso, o USB deve começar a funcionar corretamente novamente, assim como após uma reinicialização.


Explicação

Caso você esteja usando um driver diferente, é assim que eu descobri o que fazer, use-o como referência:

A lsusb -tproduzirá isso - anote o xhci_hcddriver do barramento rápido, é o nome do 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

O diretório a procurar é /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

No meu caso, eu precisava me soltar "0000:06:00.0".

ps. Se você precisar reconectar o driver USB 2.0, siga as instruções acima, mas com ehci-pciou veja aqui (merece um crédito).

Amir Uval
fonte
11
Não posso agradecer o suficiente. Esta é a única solução que funcionou para mim, até o bluetooth agora está funcionando! Não há necessidade de reiniciar mais. Para mim, foi "0000: 00: 14.0" usando o Ubuntu 14.04 e o Asus VivoBook.
Karim Sonbol 28/11
Felizmente! Parece que acidentalmente tornei minha resposta um "wiki da comunidade", então votar não me credita. (@ThomasWard, você pode ajudar por wiki desta comunidade?)
Amir Uval
11
No entanto, há um problema: tentei hoje e estou recebendo este erro: tee: / sys / bus / pci / dhcd / unbind: Não existe esse arquivo ou diretório tee: / sys / bus / pci / dhcd / bind: não existe arquivo ou diretório
Karim Sonbol 01/12/16
@KarimSonbol não é / sys / bus / pci / drivers / ...?
Amir Uval
sim, desculpe o meu erro #
Karim Sonbol 12/12/16
3

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

A lsusb -tsaída será no seguinte 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

Preste atenção ao Bus 00Xnúmero e à versão 1.1/ 2.0USB nas duas saídas. Se o mouse e o teclado estiverem ativados 1.1agora, tente movê-los para a 2.0porta ou o contrário.

Isso não corrige o problema do driver, mas uma solução alternativa (se funcionar).

John Siu
fonte
você poderia ser mais explícito? O que devo fazer? comparar o resultado de lsusbcom o de lsusb -t? o que devo procurar lá? você quer preferir o ônibus 2.0? Eu costumo usar isso para o disco rígido externo. no seu comentário, você diz "Porque se 'nx8220' for o modelo correto, a caixa deve estar usando o chipset Intel 915PM. No entanto, você possui apenas 'Linux Foundation" - isso significa que não tenho o driver correto? O que é para ser feito? O resultado lsusb -té is paste.ubuntu.com/1482285
11
(1) Sim, tente usar o barramento USB 2.0. Se você tiver apenas uma porta 2.0, veja se consegue encontrar um hub USB externo e conectá-lo. (2) Marquei algumas das minhas outras caixas e elas também mostram apenas o Linux Foundation, portanto não há erro. (3) lsusb -té para facilitar a identificação de dispositivo USB e o ônibus que ligue.
John Siu
11
@cipricus Existem várias possibilidades e não tenho certeza. Vou listar as causas mais prováveis ​​do meu conhecimento: (1) Software puro: o driver Linux não está manipulando a porta 1.1 corretamente para este chipset. Essa será a causa mais possível. (2) Hardware parcial: a porta USB é sensível à estática e pode sofrer degradação / morte ao longo do tempo, especialmente em placas-mãe e chipsets mais antigos. Sua porta 1.1 talvez esteja em degradação e não esteja funcionando muito bem, e o driver Linux não pode lidar com esses casos especiais (como flutuação de tensão), enquanto o driver XP sabe como lidar com eles (ou tolerar).
31512 John Siu
11
A especificação USB 1.1 do @cipricus é rápida o suficiente (e muito acima) para teclado e mouse. Eu realmente duvido que algum ser humano possa max. supere essa velocidade com um teclado normal (com mão humana).
31412 John Siu
Obrigado! Concordei que esse tipo de problema deve ser determinado caso a caso, dependendo do sintoma. FELIZ ANO NOVO!!
John Siu
2

FWIW - Se você está tendo problemas com o USB no ubuntu devido a conflitos ou problemas de energia, poupe alguns problemas e obtenha um expansor USB alimentado - estes são dispositivos baratos que se conectam à sua porta USB e a transformam em 5 ou 10 ou o que você precisar para comprar e ter uma fonte de alimentação separada e comprar cerca de 30 $ USD na amazon.

Eu tive muitos problemas com meu teclado e / ou mouse quando adicionei um dispositivo USB e isso fez com que todos os meus problemas desaparecessem.

Felicidades

bsautner
fonte
0

Uma solução rápida que funciona pelo menos no meu caso (Linux Mint KDE, em um laptop Lenovo Yoga 3 Pro):

Com o laptop ligado, basta pressionar o botão liga / desliga por cerca de 30 segundos , que será desligado e continuará sendo pressionado por um tempo depois disso. Fiz isso com o carregador desconectado. Depois de ligar o laptop, as portas USB funcionam novamente.

Juan M. Gonzalez
fonte