0

I have an Acer Aspire A5943G laptop, and its keyboard is not working properly. The keys SDGHM and some shift combinations produce either no characters at all, or just sometimes with wrong delay and repetition. What can I do to fix this?

1

The problem is actually with the power management of the "Suyin Corp. 1.3M WebCam (notebook emachines E730, Acer sub-brand)" device. This device is an internal multi-protocol USB device which is not only the webcam but also the keyboard. The solution is to disable autosuspend for that device. You can do so with the following steps:

Step 1A: Identify your device on the USB bus.

Run

$ lsusb

and look for the WebCam. In my case the output looks like this:

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

which means that in my case the device is Bus 002 Device 004. We need that information in Step 2 as 2-1.4. The 2 is the Bus number from the lsusb command, the 1 is the Bus (0 would be the Hub itself), The 4 is the device on the bus from the lsusb command.

Step 1B: Identify your device on the USB bus.

Alternatively, you can identify your device using the following commands:

$ cd /sys/bus/usb/devices
$ echo */input

This will print all devices which are a keyboard. In my case, it prints 2-1.4:1.0/input which means the device is 2-1.4. If you have multiple keyboards attached, you need to figure out which keyboard is the right one. In that case, either detach all other keyboards before running the echo command, or inspect the corresponding product file, in this case 2-1.4/product, i.e. using cat 2-1.4/product. The product file should contain a string like 1.3M WebCam.

Step 2: Disable autosuspend for the device.

Assuming that Step 1 resulted in the device 2-1.4, run the following command to disable autosuspend for that device:

$ sudo sh -c 'echo "0" >/sys/bus/usb/devices/2-1.4/power/autosuspend'

Now the keyboard should be working perfectly well.

Step 3: Make the change permanent

To make this change permanent, you need to run that echo command during startup. For how to run a script during startup, see https://stackoverflow.com/questions/8339555/how-to-run-a-script-at-the-start-up-of-ubuntu

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.