Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Touch screen input SIS0817 no longer works (regression)

Need help with peripherals or devices?
Post Reply
Message
Author
rauferd
Posts: 2
Joined: 2017-09-07 13:27

Touch screen input SIS0817 no longer works (regression)

#1 Post by rauferd »

I have a Wortmann / Terra mobile 360-11 netbook, running Debian 10 buster (testing), linux kernel 4.12.0. It comes with a 1366x768 Elantech touch screen.

Code: Select all

$ uname -a
Linux N360-11-Fronczek 4.12.0-1-amd64 #1 SMP Debian 4.12.6-1 (2017-08-12) x86_64 GNU/Linux
The touch screen used to work until about a week ago, when my kernel was updated from 4.11.0 to 4.12.0. Now, the output (display) still works, but the input (mouse) does not. Apparently, it is not the kernel package itself that causes the touchscreen to stop working. Booting my current system with the previous kernel 4.11.0 does not render the touch screen functional. It must be some other package or config file that was updated along with the kernel.

The touch screen is a i2c_hid type input, but module i2c_hid is not currently used:

Code: Select all

$ lsmod | grep i2c
i2c_i801               24576  0
i2c_hid                20480  0
hid                   118784  3 i2c_hid,hid_generic,usbhid
i2c_designware_platform    16384  0
i2c_designware_core    20480  1 i2c_designware_platform
i2c_algo_bit           16384  1 i915
The touch screen is not recognized by xinput anymore, either:

Code: Select all

$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
During startup, I can see the following error messages:

Code: Select all

$ dmesg |  grep i2c
[ 4334.336231] i2c_designware 808622C1:06: i2c_dw_handle_tx_abort: lost arbitration
[ 4335.366240] i2c_designware 808622C1:06: controller timed out
[ 4335.366557] i2c i2c-14: i2c write failed
This patch may address my problem, but neither am I entirely sure about this, nor do I know if the patch is included in the kernel running on my machine:
https://github.com/jwrdegoede/linux-sun ... e3118ccbd6

Any help on how to proceed with debugging or even how to open a proper bug report for this problem is greatly appreciated!

User avatar
debiman
Posts: 3063
Joined: 2013-03-12 07:18

Re: Touch screen input SIS0817 no longer works (regression)

#2 Post by debiman »

beautiful hardware!
you may be right with the regression, but - why are you running testing on that?

rauferd
Posts: 2
Joined: 2017-09-07 13:27

Re: Touch screen input SIS0817 no longer works (regression)

#3 Post by rauferd »

Good question, actually. I did try a few live distros on the first day I got the new netbook (at least Debian, Xubuntu and Elive among them), but I did not notice any major difference in hardware support, so I chose Debian testing. Probably mostly because that's what I have been using with all of my notebooks/netbooks for more than ten years now (stable on desktops and servers). Which Debian version or other distribution/derivative would you recommend for this kind of device?

In the mean time I have collected some more information:
I compiled a custom kernel 4.12.6 (debian source package linux-source-4.12, version 4.12.6-1) with every config option that I thought might be related to the ELANTECH touch screen turned on. Indeed this did bring the touch screen back to life.

However, I am convinced that is not due to the new kernel, because I noticed another thing:
After hibernation or soft restarts, the touch screen does not work (reproducibly). On the console, I see the following error message:
> i2c_designware 808622C1:06: controller timed out
> i2c_hid i2c_SIS0817:00: failed to change power setting.
The message is printed again every time I switch from X11 to the console via Ctrl-Alt-F1, etc.

Also, the touch screen does not work if I reboot with a different kernel (regardless which kernel) -- unless the system is physically powered off for a couple of seconds.

After a complete shutdown of the system (power off for a couple of seconds), the touch screen works again, with all three kernels (stock 4.11.0, stock 4.12.0, custom 4.12.6).
I apologize for the confusion, I should have tested more thoroughly earlier.

Still, I would like to have the touch screen working after sleep/hibernate/soft restart. Any ideas on how to proceed from here?
Where could I open a bug report for this issue?

P.S.: Just for completeness and my own reference I have posted the output of dmesg (saved after a cold start with the touch screen working) on pastebin: https://pastebin.com/FitQAgJ7

P.P.S.: While I am at it: Multitouch input does not work with my touch screen and never did with any of the kernels/distros tested by me. I think that libinput acutally lacks support for multitouch with this type of touch screen, but I might have missed something. If anyone did get this working with a similar touch screen, I would be delighted to hear about it.

Post Reply