Eu tive o mesmo problema com o Xenial 16.04 e procurei muito por qualquer solução ... Isso era muito chato mover meu cursor do mouse constantemente apenas para ativar o dispositivo. Eu estava a caminho de abandonar e fazer uma nova instalação ou mudar distro, perto da crise nervosa lol. Mas finalmente encontrei a única solução para o meu problema, e parece ser exatamente o mesmo que o seu, klequis.
A solução está no final desta resposta se você não se importar com a história do contexto. O contexto pode parecer um blabla inusitado (talvez seja), mas acho que isso poderia ajudar os leitores a verificar se o problema que eu resolvi no meu PC é o mesmo que o deles.
.
CONTEXTO
Eu tenho desesperadamente sem sucesso testado perto de todas as dicas que encontrei na web, reiniciando após cada tentativa:
- '/ etc / default / grub' inicialização do kernel
usbcore.autosuspend=-1
parameter - runtime-pm.conf do modo de laptop '
CONTROL_RUNTIME_AUTOSUSPEND=0
- desabilitando totalmente as Ferramentas do Modo Laptop do arquivo '/etc/laptop-mode/laptop-mode.conf', confirmando que o problema não está relacionado a esse recurso do kernel, verifiquei diferentes maneiras que laptop_mode < Não estava mais em execução para ter certeza. (ref:
man laptop-mode.conf
& amp;man laptop_mode
) - Eu li alguns truques sobre '/etc/laptop-mode/conf.d/usb-autouspend.conf', mas este arquivo não existe na minha versão do Ubuntu 16.04 com o laptop-mode-tools v1.68
- powertop desinstalação do aplicativo, muitas vezes é suspeito em fóruns causar problemas de suspensão automática, hoje eu sei que não era verdade no meu caso, como desinstalar não corrigir nada
-
options usbcore autosuspend=1
em '/etc/modprobe.d/usb.conf' também foi ineficiente - Roteiro '/etc/udev/rules.d/60-power.rules' fornecido por Wiki oficial do Gentoo
- arquivo
rules
específico do dispositivo paraudev
'/etc/udev/rules.d/usb-power.rules' recomendado por Serge Y. Stroobandt
Depois de ter lido todas essas coisas técnicas, eu só entendi que a causa estava relacionada ao meu valor '/ sys / module / usbcore / parameters / autosuspend' preso em 2 segundos, qualquer que seja a alteração que eu faça na minha configuração. Você pode verificar isso com o comando cat
:
$ cat /sys/module/usbcore/parameters/autosuspend
2
E sim, meu mouse foi desativado exatamente após 2 segundos, então eu sabia que estava no caminho certo. É claro que eu testei o comando echo -1
que eu vi aqui e ali, -1
pretendia desabilitar a suspensão automática ... mas:
sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied
Eu não entendi porque a permissão foi negada, mesmo no modo sudo. Eu não tentei como root porque eu simplesmente não achei que isso poderia ser um problema. Aqui estava o erro: (
Agradecemos a Alex Dekker & amp; Bryce comenta , aprendi a desativar autosuspend apenas para o meu mouse. Mas é claro que minhas primeiras tentativas falharam com esse bash: Permission denied error
, então tive que esperar pela compreensão da minha confusão raiz / sudo antes que o comando echo -1
sugerido por Alex finalmente funcionasse.
Eu também encontrei uma maneira melhor de executar um comando como usuário root sem login como root, a diferença entre o uso de comandos root e root é bem explicada na ajuda oficial do Página wiki do RootSudo . Eu amo aprender esse tipo de coisa, mas ei! por que tem que ser sempre aprendido o caminho doloroso? lol
OMG foi uma dor de cabeça real e demorou muito tempo para um noob como eu entender, como eu costumo dizer "sem cérebro sem ganho". Mina visivelmente precisa de mais treinamento.
Então, vamos parar de falar de mim mesmo e consertá-lo! Por favor continue abaixo ...
Eu recomendo a 2 ª solução para o seu disco rígido externo inativo para não drenar a bateria do seu laptop para nada. Mas eu lhe dou as duas soluções, porque quem ama a sua própria liberdade deve amar a liberdade um do outro também:)
SOLUÇÃO 1
Para desativar a suspensão automática em todos os dispositivos / portas USB
-
Abra o Terminal e execute:
sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
- 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 seu dispositivo USB funcionar bem agora, apenas edite seu script '/etc/rc.local' para que ele execute o comando sempre que o sistema for inicializado. Dessa forma, você fará o tipo de correção permanente . Edite o arquivo, por exemplo, com nano:
sudo nano /etc/rc.local
-
e coloque o comando
echo -1
no seu arquivo '/etc/rc.local' antes da linhaexit 0
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. (...) # By default this script does nothing. echo -1 > /sys/module/usbcore/parameters/autosuspend exit 0
-
Reinicie seu computador
(por favor, verifique a nota Importante no final)
.
SOLUÇÃO 2
Para desabilitar 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
é para um determinado dispositivo requer algumas manipulações para descobrir, mas não é complicado. O exemplo abaixo mostra como determinei que o número da porta usb do meu receptor de mouse sem fio é3-1
, então, por favor, adapte isso à sua própria situação:-
Desconecte seu dispositivo USB, abra o Terminal e execute o comando
sudo dmesg
-
Conecte seu dispositivo USB novamente e execute
sudo dmesg
novamente no Terminal para verificar se há alterações -
Veja como é o final da saída do meu comando
dmesg
depois de ter colocado meu mouse de volta em um slot:[40208.575249] usb 3-1: new full-speed USB device number 8 using xhci_hcd [40208.705233] usb 3-1: New USB device found, idVendor=062a, idProduct=4102 [40208.705240] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [40208.705245] usb 3-1: Product: 2.4G Wireless Mouse [40208.705248] usb 3-1: Manufacturer: MOSART Semi. [40208.707679] input: MOSART Semi. 2.4G Wireless Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:062A:4102.0007/input/input24 [40208.763946] hid-generic 0003:062A:4102.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [MOSART Semi. 2.4G Wireless Mouse] on usb-0000:00:14.0-1/input0
Agora, podemos ver que a porta em que o meu dispositivo USB foi conectado está identificada como
usb 3-1
.Nota: este truque diz respeito ao ID da porta USB, não ao ID do dispositivo. Por exemplo, se eu conectar meu mouse à próxima porta USB, ele será identificado como
usb 3-2
indmesg
result. Mas esta solução # 2 continua a ser muito útil se você usar o hábito de sempre conectar seu mouse ou teclado à mesma porta, e geralmente é o que as pessoas usam para fazer inconscientemente;)
-
-
Execute o seguinte comando no seu Terminal, alterando meu número de porta
3-1
com o que você encontrou no seu próprio resultadodmesg
:sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
Observe que
autosuspend_delay_ms
substituiu oautosuspend
preterido 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 que ele execute o comando sempre que o sistema for inicializado. Dessa forma, você fará o tipo de correção permanente . Edite o arquivo, por exemplo, com nano:
sudo nano /etc/rc.local
-
e coloque o comando
echo -1
no seu arquivo '/etc/rc.local' antes da linhaexit 0
, mais uma vez não se esqueça de alterar o número da portan-n
no comando:#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. (...) # By default this script does nothing. echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms exit 0
-
Reinicie seu computador
.
Importante: não se esqueça que você terá que executar o comando sudo sh -c
"temporary" novamente manualmente se você desconectar / reconectar seu dispositivo USB enquanto seu ambiente de desktop já estiver iniciado, mesmo se você ligá-lo de volta no mesmo plug USB. Normal, só 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. Os povos mais qualificados podem ter métodos mais inteligentes, mas eu configurei aliases específicos de portas no Ubuntu. Ele permite que eu use os comandos simples usb1
ou usb2
seletivamente se eu tiver que desconectar / reconfigurar meu dispositivo USB aqui ou ali. Você também! você também pode criar um comandos aliases para jogar com palavras curtas em vez de digitar o comando completo, é fácil definir em menos de 2 minutos e também funciona com Alt + F2:)
Mais ideias para facilitar as coisas também seriam muito bem-vindas.
Felicidades:)