kobolabs / Kobo-Reader

http://www.koboereader.com/
599 stars 126 forks source link

kobo touch touchscreen freeze [solved 2] #84

Closed thejoedoe closed 5 years ago

thejoedoe commented 5 years ago

it's a kobo touch N905B (not the newest model) with neonode v1. /sys/power/wakeup_count increases rapidly (false alarms). after some hours the touchscreen stops sending events and the wakeup_count stops increasing. must full restart. wakeup count has made it to different numbers above 300,000 or as low as 17,000. older kernels don't have /sys/power/wakeup_count. tested one, it still freezes. wakeup events, counted by wakeup_count, are supposed to happen only at the time the device powers on from "sleep mode" dmesg prints messages and commands, where "commands" are actually from a message saying command received by this ts driver, first I'll list what names are messages, then I'll list them mixed. messages: open,close,fake,send activate,send deactivate. usually the sequence is: close,deactivate fake,open,activate,res,res,freq,close,deactivate open,activate,res,res,freq

sometimes the 2nd section is printed twice, or multiple fake cmds.. find "neocmd" in /sys. if you look at the driver's source file there are commands for it. so echo d >neocmd;sleep 4;echo a >neocmd reactivates it. usually dmesg says "send deactivate,deactivate,send activate,activate,res,freq" after "deactivate" and before "activate" the wakeup count doesn't increase at all. when it has froze: one time it stopped after freq of the 2nd section above. one time I got "141 undefined command 162 (9 bytes)" one time neocmd worked to unfreeze it other times it says only "send deactivate,send activate" if you chvt and back, it does an activate and deactivate, along with a full open and close. also, under /sys/bus, "bind" does not work, so don't use "unbind".

pgaskin commented 5 years ago

Is there a reason why you created another account and issue instead of posting in #83? And the part about neocmd seems to make sense, but the part about the event count and bind/unbind doesn't. What did you try to pass to bind?

thejoedoe commented 5 years ago

That was a mistake, these issues should be combined. the basename of the folder neocmd is in is passed to bind or unbind which is under /sys/bus. it is also the basename of a link next to bind or unbind, if unbound this link gets removed (along with the other files I mentioned in #83, and neocmd and driver). this name is of the form minornum-hexnum. error when storing in bind, if unbind first dmesg says not in list.

thejoedoe commented 5 years ago

hopefully it's fixed by this [changing to solved for now] kmod1.zip