Meu teclado para de funcionar sem motivo aparente.
Depois de usar o Ubuntu por 2,5 anos como uma máquina virtual em um host Windows ( VirtualBox ), finalmente tomei a decisão, reformatei meu disco rígido e construí o sistema com o Ubuntu ontem. Hoje de manhã, meu teclado parou de funcionar.
Eu vejo muitos posts sobre o Ubuntu e um teclado ou mouse USB deixando de funcionar aleatoriamente. Eles indicam que é suspenso automaticamente a energia dos dispositivos USB para economizar energia e, quando o dispositivo USB não é compatível com alguns, o USB não é ativado como deveria.
Tentei a sugestão publicada em Fixing USB AutoSuspend .
Mas sem sorte. Eu também tentei outra sugestão: inicializar sem o teclado e conectá-lo quando o Ubuntu iniciar.
Aqui estão alguns detalhes:
- Eu usei o mesmo teclado Kinesis com o Ubuntu como uma máquina virtual nos últimos dois anos, não há problema.
- O Kinesis possui macros e o acionamento de uma macro aciona o problema 100% do tempo. No entanto, isso acontece quando eu estou apenas digitando (sem macros) também.
- Eu tentei o Kinesis em um laptop agora. Esta é uma máquina de um ano em que eu instalei o Ubuntu 16.04 há duas semanas. O uso de uma macro do teclado Kinesis não reproduziu o problema.
Máquina do problema
- Dell XPS, 6 anos, desktop
- Instalado Ubuntu 16.04 ontem
- Usando o teclado USB do Kinesis Advantage
- Desconectar / reconectar o teclado funcionou 9 em 10 vezes
- A reinicialização também funciona
- Não acho que seja um problema de energia USB, pois um LED no teclado permanece aceso e outros dispositivos USB continuam funcionando.
- Eu tenho um mouse USB e um Bluetooth conectado à máquina. Ambos continuam trabalhando mesmo quando o Kinesis para.
- Normalmente, tenho um segundo teclado normal da marca Dell conectado a pessoas que não são de Kinesis que precisam usar meu computador. Hoje cedo, este teclado parou de funcionar toda vez que o Kinesis parava de funcionar. No entanto, agora, desencadeando o problema com uma macro, o teclado da Dell continua funcionando.
O Kinesis, que eu tenho há 8 anos, tornou possível para mim continuar digitando. Se não conseguir resolver isso, terei que voltar ao Windows, o que seria uma chatice de verdade.
Qualquer sugestão sobre o que tentar ou maneiras de depurar isso seria muito apreciada.
Estou pesquisando drivers USB, dos quais no Linux não sei nada. No entanto, descobri que o laptop possui portas USB 2.0 e 3.0. A área de trabalho (com o problema) é apenas USB 2.0. Ainda cavando ...
xserver-xorg-input-all
funcionou para mim quando eu atualizado paraUbuntu 17.04
Respostas:
Eu tive o mesmo problema com o Ubuntu 16.04 (Xenial Xerus) e procurei muito por qualquer solução ...
A solução está no final desta resposta se você não se importa com a história do contexto. O contexto pode parecer blabla inútil (talvez seja), mas acho que poderia ajudar os leitores a verificar se o problema que resolvi no meu PC é o mesmo que o deles.
CONTEXTO
Desesperadamente, testei sem êxito quase todas as dicas que encontrei na Web, reiniciando após cada tentativa:
usbcore.autosuspend=-1
Parâmetro de inicialização do kernel '/ etc / default / grub'CONTROL_RUNTIME_AUTOSUSPEND=0
man laptop-mode.conf
&man laptop_mode
)options usbcore autosuspend=1
em '/etc/modprobe.d/usb.conf' também foi ineficienterules
arquivo específico do dispositivo paraudev
'/etc/udev/rules.d/usb-power.rules' recomendado por Serge Y. StroobandtDepois de ler todas essas coisas técnicas, só entendi que a causa estava relacionada ao meu valor '/ sys / module / usbcore / parameters / autosuspend' bloqueado em dois segundos, independentemente da alteração que faço na minha configuração. Você pode verificá-lo com o
cat
comando:E sim, meu mouse foi desativado exatamente após dois segundos, então eu sabia que estava no caminho certo. Claro que eu testei o
echo -1
comando que vi aqui e ali, com o-1
objetivo de desativar a suspensão automática ... mas:Não entendi por que a permissão foi negada, mesmo no modo sudo. Não tentei como raiz, porque simplesmente não achei que pudesse ser um problema. Aqui estava o erro :(
Graças aos comentários de Alex Dekker e Bryce , aprendi como desativar a suspensão automática apenas para o mouse. Mas é claro que minhas primeiras tentativas falharam com isso
bash: Permission denied error
, então eu tive que esperar para entender minha confusão root / sudo antes que oecho -1
comando sugerido por Alex finalmente funcionasse.Eu também encontrei uma maneira melhor de executar um comando como usuário root sem fazer login como root. A diferença entre o uso do shell raiz e do comando raiz está bem explicada na página wiki RootSudo do Ubuntu oficial . Adoro aprender esse tipo de coisa, mas ei! Por que sempre deve ser aprendido da maneira dolorosa? ri muito
OMG, foi uma verdadeira dor de cabeça e demorou muito tempo para um noob como eu entender, como eu costumo dizer "sem cérebro sem ganho". A mina precisa visivelmente de mais treinamento.
Então vamos parar de falar de mim e consertar! Continue abaixo ...
Eu recomendo a segunda solução para o seu HDD externo ocioso para não esgotar a bateria do laptop por nada. Mas eu lhe dou as duas soluções, porque quem ama a própria liberdade também deve amar a liberdade um do outro :)
SOLUÇÃO 1
Para desativar a suspensão automática em todos os dispositivos / portas USB
Abra o Terminal e execute:
Esta é realmente uma solução temporária que permite testar instantaneamente se esse comando corrige o problema de suspensão automática do mouse ou do teclado.
Se o (s) seu (s) dispositivo (s) USB funcionam bem agora, basta editar o script '/etc/rc.local' para que ele execute esse comando sempre que o sistema for inicializado. Dessa forma, você tornará a correção permanente . Edite o arquivo, por exemplo, com nano:
e coloque o
echo -1
comando no seu arquivo '/etc/rc.local' antes daexit 0
linhaReinicie o seu computador
(Verifique a nota importante no final.)
.
SOLUÇÃO 2
Para desativar a suspensão automática para um dispositivo / porta USB específico
As opções de energia para um dispositivo USB estão em
/sys/bus/usb/devices/n-n/power
. O quen-n
é um determinado dispositivo requer algumas manipulações para descobrir, mas não é complicado. O exemplo abaixo mostra como eu determinei que o número da porta USB do meu receptor de mouse sem fio é3-1
, portanto, adapte isso à sua própria situação:Desconecte seu dispositivo USB, abra o Terminal e execute o
sudo dmesg
comandoConecte seu dispositivo USB novamente e execute
sudo dmesg
novamente no Terminal para verificar se há alterações.Aqui está como é o final da minha
dmesg
saída de comando depois de conectar meu mouse novamente em um slot:Agora podemos ver que a porta em que meu dispositivo USB foi conectado é identificada como
usb 3-1
.Execute o seguinte comando no seu Terminal, alterando o número da minha porta
3-1
pela que você encontrou em seu própriodmesg
resultado:Observe que
autosuspend_delay_ms
substituiu o obsoletoautosuspend
desde a versão 2.6.38 do kernel, de acordo com a documentação oficial do Linux .Esta é realmente uma solução temporária , mas agora você pode testar facilmente se esse comando corrigiu o problema de suspensão automática do mouse ou do teclado.
Se o seu dispositivo USB funcionar bem agora, basta editar o script '/etc/rc.local' para executar esse comando sempre que o sistema for inicializado. Dessa forma, você tornará a correção permanente . Edite o arquivo, por exemplo, com nano:
e coloque o
echo -1
comando no seu arquivo '/etc/rc.local' antes daexit 0
linha, mais uma vez, não se esqueça de alterar o número da portan-n
no comando:Reinicie o seu computador
.
Importante: não esqueça que você terá que executar o
sudo sh -c
comando "temporário" novamente manualmente se desconectar / reconectar o dispositivo USB enquanto o ambiente da área de trabalho já estiver iniciado, mesmo se você conectá-lo novamente ao mesmo plugue USB. Normal, apenas porque o arquivo '/etc/rc.local' é chamado apenas uma vez na inicialização do sistema.De qualquer forma, soluções alternativas são possíveis. Povos mais qualificados podem ter métodos mais inteligentes, mas eu configurei aliases específicos de porta no Ubuntu. Ele permite que eu use os comandos simples
usb1
ouusb2
seletivamente se eu precisar desconectar / reconectar meu dispositivo USB aqui ou ali. Você também! Você também pode criar aliases de comandos para jogar com palavras curtas em vez de digitar o comando completo. É fácil de configurar em menos de dois minutos e também funciona com Alt+ F2:)Mais idéias para facilitar as coisas também serão muito bem-vindas.
fonte
Eu tive exatamente o mesmo problema (teclado Kinesis, parou de funcionar após uma reinicialização).
Acabei descobrindo que estava relacionado a uma atualização do kernel
A inicialização usando o kernel 4.4.0-31 mais antigo corrigiu o problema para mim.
Esta publicação inclui instruções sobre como inicializar usando um kernel antigo (permitindo que você veja se o kernel antigo faz o truque para você).
fonte
Se você tiver
laptop-mode-tools
, pode ser possível desativar totalmente a suspensão automática do USB alterando:dentro
para
Observe que há uma opção comentada neste arquivo
Você pode tentar usar essa opção se quiser ajustar suas configurações de gerenciamento de energia.
NOTAS:
fonte
Eu tenho esse mesmo problema. Para mim, a solução era simples, enquanto o motivo real foi deixado desconhecido.
Ontem liguei um segundo mouse ao meu pc. Tudo funcionou bem. Hoje, quando eu inicializei, o teclado não funcionava na tela de login ou na área de trabalho. Funcionou durante a inicialização, por exemplo, entrei no BIOS.
O teclado começou a funcionar depois que eu desconectei o novo mouse e conectei todos os fios USB.
fonte
Li este e outros relatórios várias vezes no ano passado e, no final, desisti de usar o teclado que estava causando problemas e mudei para um teclado sem fio.
Até que me ocorreu que o problema começou na época em que construí um novo PC, e isso pode ser um problema de energia. Então, comprei um hub USB com energia para conectar o teclado. Resolveu o problema! Afinal, não era um problema de software, mas aparentemente meu novo computador possui saídas USB com pouca energia (ou assim o meu teclado pensa).
Pode valer a pena tentar se você estiver sofrendo com interrupções intermitentes do teclado, conforme descrito acima, e nada no lado do software funcionou. Um hub USB alimentado não precisa ser caro.
fonte
Esta não é a resposta que eu estava procurando, mas ... Passei dois dias e muitas horas tentando resolver esse problema. Comprei um hub PCIe USB 3.0 para ver se isso funcionaria - não funcionou.
Minha conclusão é que não vale a pena solucionar esse problema, e existem maneiras melhores para o mesmo fim.
Minha solução / solução alternativa é confiar na função de trechos do meu editor de texto. Isso significa que vou investir e confiar mais em um editor específico (provavelmente será o Atom ), mas isso será ainda melhor do que o que eu tinha nas macros do teclado, pois os trechos são mais fáceis de manter do que as macros do teclado.
Aprendi muito sobre USB em Redefinindo o subsistema USB .
fonte