O problema é, na verdade, o gerenciamento de energia do dispositivo "Suyin Corp. 1.3M WebCam (notebook emachines E730, submarca da Acer)". Este dispositivo é um dispositivo USB multiprotocolo interno que não é apenas a webcam, mas também o teclado. A solução é desativar autosuspend
para esse dispositivo. Você pode fazer isso com as seguintes etapas:
Etapa 1A: identifique seu dispositivo no barramento USB.
Executar
$ lsusb
e procure pela WebCam. No meu caso, a saída é assim:
Bus 002 Device 004: ID 064e:a219 Suyin Corp. 1.3M WebCam (notebook emachines E730, Acer sub-brand)
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 1c7a:0801 LighTuning Technology Inc. Fingerprint Reader
Bus 001 Device 011: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
O que significa que, no meu caso, o dispositivo é Bus 002 Device 004
. Precisamos dessas informações na Etapa 2 como 2-1.4
. O 2
é o número do Barramento do comando lsusb
, o 1
é o Barramento ( 0
seria o próprio Hub), O 4
é o dispositivo no barramento do comando lsusb
.
Etapa 1B: identifique seu dispositivo no barramento USB.
Como alternativa, você pode identificar seu dispositivo usando os seguintes comandos:
$ cd /sys/bus/usb/devices
$ echo */input
Isto imprimirá todos os dispositivos que são um teclado. No meu caso, imprime 2-1.4:1.0/input
, o que significa que o dispositivo é 2-1.4
.
Se você tiver vários teclados conectados, precisará descobrir qual teclado é o correto. Nesse caso, desconecte todos os outros teclados antes de executar o comando echo
ou inspecione o arquivo product
correspondente, neste caso 2-1.4/product
, ou seja, usando cat 2-1.4/product
. O arquivo product
deve conter uma string como 1.3M WebCam
.
Etapa 2: desative autosuspend
para o dispositivo.
Supondo que a Etapa 1 resultou no dispositivo 2-1.4
, execute o seguinte comando para desativar autosuspend
para esse dispositivo:
$ sudo sh -c 'echo "0" >/sys/bus/usb/devices/2-1.4/power/autosuspend'
Agora o teclado deve estar funcionando perfeitamente.
Etapa 3: torne a mudança permanente
Para tornar esta alteração permanente, você precisa executar o comando echo durante a inicialização. Para saber como executar um script durante a inicialização, consulte link