You are not logged in.
Pages: 1
Hi there,
I have Arch installed on an Acer C720 (chromebook) with a custom BIOS (Mr. Chromebox). Overall it works great, but sometimes there is a random failure that affect the touchpad. I suspect it is a power issue as it seems to occur more often when charging or actively reading data from USB, but as it occurs randomly it is hard to narrow down the exact cause. At first I could only unfreeze the touchpad after a complete shutdown of the computer. Reboot or resume did not work. I noticed that since recently I can simply suspend and wake to laptop to fix the problem (a kernel upgrade maybe?). It made debugging easier as I can now restore the mouse after the bug occurs.
Here is a sample of dmesg, cyapa refer to the touchpad.
...
[125194.816059] cyapa i2c-CYAP0000:00: failed to read report data, (-121)
[125322.218369] cyapa i2c-CYAP0000:00: failed to read report data, (-121)
[125356.461858] i2c_designware INT33C2:00: controller timed out
[125357.505191] i2c_designware INT33C2:00: controller timed out
[125358.440831] cyapa i2c-CYAP0000:00: invalid device state bytes: 00 13
[125358.533642] cyapa i2c-CYAP0000:00: runtime resume failed: -121The error 'failed to read report data' occurs all the time and is not necessary linked to the timeout. I tried to reset the touchpad driver using modprobe, without success. I would like to know what commands I could use to restart the I2C bus as it would happen during a suspend/wake cycle. Is it possible?
Last edited by alfalfa (2017-11-15 01:59:11)
Offline
https://bbs.archlinux.org/viewtopic.php … 4#p1747894 ?
man i2cdetect, in doubt try to reload the "cyapatp" module.
Offline
I installed i2c-tools, but strangely no busses are detected (no output from i2cdetect -l)
"modprobe --remove cyapatp && modprobe cyapatp" did not work and then required to restart in order to reactivate the touchpad (resume/wake cycle no longer work if used).
psmouse.synaptics_intertouch=0 did not work either.
The only thing that worked so far is the resume/wake cycle. That is why I am looking for a way to simulate it, so I can make a script to restart the touchpad when needed.
Last edited by alfalfa (2017-11-19 08:02:22)
Offline
I suspect it is a power issue...
resume/wake cycle. That is why I am looking for a way to simulate it
You want to simulate a power cut?
Other things to try are the chromeos_* module in use and - I guess you're using some sort of power saving (powertop, tlp, laptop-tools?)
Try to deactivate that and see whether it makes a difference. You can probably isolate the power saving mechanism for the touchpad, in case.
Does the notebook maybe have a Fn key to toggle the touchpad?
Offline
I don't use either powertop, tlp or laptoop-tools. I simply use a python script to monitor the battery level and suspend if it gets too low.
I tried to restart chromeos_ modules (_laptop, _keyboard_leds and _pstore) but they don't seem to affect the touchpad at all.
I know it seems a little odd but yes I think a "power cut" might be the way.. It seems to be partly caused by the hardware, as in the past I noticed even switching the kernel did not work, and the laptop needed to be completly shutdown. At least now it work with a quick suspend/wake cycle so there is some hope to isolate the step that restart I2C driver and put that into a script, if that is possible.
Offline
I severely doubt "the step that restart I2C driver" is the answer here, because the i2c driver in question is cyapatp.
I rather assume that the implicit power cut of the S3 cycle is resetting the hardware, thus the question for the Fn key to toggle the touchpad ...
Offline
Pages: 1