Bug 198627 - Touchpad not working in Linux
Summary: Touchpad not working in Linux
Status: RESOLVED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: I2C (show other bugs)
Hardware: Intel Linux
: P1 blocking
Assignee: Drivers/I2C virtual user
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-31 15:51 UTC by Rafael Rossi
Modified: 2019-01-27 11:32 UTC (History)
6 users (show)

See Also:
Kernel Version: all
Tree: Mainline
Regression: No


Attachments

Description Rafael Rossi 2018-01-31 15:51:41 UTC
Touchpad SYNA3602:00 0911:5288 not working on Linux.
It works perfectly fine under Windows 10.

It should be related to this:
https://patchwork.kernel.org/patch/10046575/
but that patch didn't solve the problem in my laptop.

Also I'm finding bug reporting for same touchpad in similar hardware stating that Touchpad stops working after a while, even in Windows. This is not my case, it never worked in linux and always works in Windows 10.

Laptop is a Q4 2017 "Multicom Talisa U230", with an Intel Celeron N3450.


```
[raf@talisa ~] $ dmesg | grep -i SYNA
[    2.996117] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[    2.998347] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/8713)
[    2.999493] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[    3.004463] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/23334)
[    3.007248] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/20745)
[    3.012119] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/31302)
[    3.013223] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/29952)
[    3.020144] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/22281)
[    3.374337] input: SYNA3602:00 0911:5288 Touchpad as /devices/pci0000:00/0000:00:16.1/i2c_designware.1/i2c-1/i2c-SYNA3602:00/0018:0911:5288.0003/input/input11
[    3.374518] hid-multitouch 0018:0911:5288.0003: input,hidraw2: I2C HID v1.00 Mouse [SYNA3602:00 0911:5288] on i2c-SYNA3602:00
```



```
[raf@talisa ~]$ xinput list-props 11
Device 'SYNA3602:00 0911:5288 Touchpad':
    Device Enabled (141):	1
    Coordinate Transformation Matrix (143):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (296):	0
    libinput Tapping Enabled Default (297):	0
    libinput Tapping Drag Enabled (298):	1
    libinput Tapping Drag Enabled Default (299):	1
    libinput Tapping Drag Lock Enabled (300):	0
    libinput Tapping Drag Lock Enabled Default (301):	0
    libinput Tapping Button Mapping Enabled (302):	1, 0
    libinput Tapping Button Mapping Default (303):	1, 0
    libinput Natural Scrolling Enabled (278):	1
    libinput Natural Scrolling Enabled Default (279):	0
    libinput Left Handed Enabled (280):	0
    libinput Left Handed Enabled Default (281):	0
    libinput Accel Speed (282):	0.280000
    libinput Accel Speed Default (283):	0.000000
    libinput Scroll Methods Available (287):	1, 1, 0
    libinput Scroll Method Enabled (288):	1, 0, 0
    libinput Scroll Method Enabled Default (289):	1, 0, 0
    libinput Click Methods Available (304):	1, 1
    libinput Click Method Enabled (305):	1, 0
    libinput Click Method Enabled Default (306):	1, 0
    libinput Middle Emulation Enabled (292):	0
    libinput Middle Emulation Enabled Default (293):	0
    libinput Send Events Modes Available (263):	1, 1
    libinput Send Events Mode Enabled (264):	0, 0
    libinput Send Events Mode Enabled Default (265):	0, 0
    libinput Disable While Typing Enabled (307):	1
    libinput Disable While Typing Enabled Default (308):	1
    Device Node (266):	"/dev/input/event16"
    Device Product ID (267):	2321, 21128
    libinput Drag Lock Buttons (294):	<no items>
    libinput Horizontal Scroll Enabled (295):	1
```


```
[raf@talisa ~]$ grep -e "Using input driver 'libinput'" /var/log/Xorg.0.log | grep -i touchpad
[     6.898] (II) Using input driver 'libinput' for 'SYNA3602:00 0911:5288 Touchpad'
```
Comment 1 Rafael Rossi 2018-01-31 16:58:20 UTC
The "Multicom Talisa U230" looks same as "Jumper EZBook 3 Pro".
Comment 2 Paul Terry 2018-02-03 17:37:36 UTC
Same issue on "Chuwi LapBook Air" but different hardware name on the touchpad. Vendor and Product ID seem to be the same though.

Tried the same patch from https://patchwork.kernel.org/patch/10046575/ on 4.14.16 kernel and tried base 4.15 kernel but the problem still remains.

dmesg | grep -i ALPS
[    3.022217] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/261)
[    3.024282] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/8713)
[    3.025405] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/261)
[    3.028493] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/23334)
[    3.029543] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/20745)
[    3.032589] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/31302)
[    3.033676] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/29952)
[    3.037699] i2c_hid i2c-ALPS0001:00: i2c_hid_get_input: incomplete report (32/22281)
[    3.463174] input: ALPS0001:00 0911:5288 Touchpad as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-4/i2c-ALPS0001:00/0018:0911:5288.0002/input/input10
[    3.464876] hid-multitouch 0018:0911:5288.0002: input,hidraw1: I2C HID v1.00 Mouse [ALPS0001:00 0911:5288] on i2c-ALPS0001:00

...

xinput list-props 10
Device 'ALPS0001:00 0911:5288 Touchpad':
	Device Enabled (140):	1
	Coordinate Transformation Matrix (142):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (273):	1
	Device Accel Constant Deceleration (274):	2.500000
	Device Accel Adaptive Deceleration (275):	1.000000
	Device Accel Velocity Scaling (276):	12.500000
	Synaptics Edges (295):	52, 1258, 46, 813
	Synaptics Finger (296):	25, 30, 0
	Synaptics Tap Time (297):	180
	Synaptics Tap Move (298):	68
	Synaptics Tap Durations (299):	180, 180, 100
	Synaptics ClickPad (300):	1
	Synaptics Middle Button Timeout (301):	0
	Synaptics Two-Finger Pressure (302):	282
	Synaptics Two-Finger Width (303):	7
	Synaptics Scrolling Distance (304):	31, 31
	Synaptics Edge Scrolling (305):	0, 0, 0
	Synaptics Two-Finger Scrolling (306):	1, 0
	Synaptics Move Speed (307):	1.000000, 1.750000, 0.127714, 0.000000
	Synaptics Off (308):	1
	Synaptics Locked Drags (309):	0
	Synaptics Locked Drags Timeout (310):	5000
	Synaptics Tap Action (311):	0, 0, 0, 0, 0, 0, 0
	Synaptics Click Action (312):	1, 1, 1
	Synaptics Circular Scrolling (313):	0
	Synaptics Circular Scrolling Distance (314):	0.100000
	Synaptics Circular Scrolling Trigger (315):	0
	Synaptics Circular Pad (316):	0
	Synaptics Palm Detection (317):	0
	Synaptics Palm Dimensions (318):	10, 200
	Synaptics Coasting Speed (319):	20.000000, 50.000000
	Synaptics Pressure Motion (320):	30, 160
	Synaptics Pressure Motion Factor (321):	1.000000, 1.000000
	Synaptics Grab Event Device (322):	0
	Synaptics Gestures (323):	1
	Synaptics Capabilities (324):	1, 0, 1, 1, 1, 0, 0
	Synaptics Pad Resolution (325):	14, 14
	Synaptics Area (326):	0, 0, 0, 0
	Synaptics Soft Button Areas (327):	655, 0, 704, 0, 0, 0, 0, 0
	Synaptics Noise Cancellation (328):	7, 7
	Device Product ID (266):	2321, 21128
	Device Node (265):	"/dev/input/event9"

...


grep -e "ALPS" /var/log/Xorg.0.log 
[     5.515] (II) config/udev: Adding input device ALPS0001:00 0911:5288 Touchpad (/dev/input/event9)
[     5.515] (**) ALPS0001:00 0911:5288 Touchpad: Applying InputClass "libinput touchpad catchall"
[     5.515] (**) ALPS0001:00 0911:5288 Touchpad: Applying InputClass "touchpad catchall"
[     5.515] (**) ALPS0001:00 0911:5288 Touchpad: Applying InputClass "Default clickpad buttons"
[     5.517] (II) Using input driver 'synaptics' for 'ALPS0001:00 0911:5288 Touchpad'
[     5.517] (**) ALPS0001:00 0911:5288 Touchpad: always reports core events
[     5.677] (II) synaptics: ALPS0001:00 0911:5288 Touchpad: found clickpad property
[     5.677] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: x-axis range 0 - 1310 (res 14)
[     5.677] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: y-axis range 0 - 859 (res 14)
[     5.678] (II) synaptics: ALPS0001:00 0911:5288 Touchpad: device does not report pressure, will use touch data.
[     5.678] (II) synaptics: ALPS0001:00 0911:5288 Touchpad: device does not report finger width.
[     5.678] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: buttons: left right double triple
[     5.678] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: Vendor 0x911 Product 0x5288
[     5.678] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: invalid pressure range.  defaulting to 0 - 255
[     5.678] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: invalid finger width range.  defaulting to 0 - 15
[     5.678] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: touchpad found
[     5.678] (**) ALPS0001:00 0911:5288 Touchpad: always reports core events
[     5.717] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-4/i2c-ALPS0001:00/0018:0911:5288.0002/input/input10/event9"
[     5.717] (II) XINPUT: Adding extended input device "ALPS0001:00 0911:5288 Touchpad" (type: TOUCHPAD, id 10)
[     5.717] (**) synaptics: ALPS0001:00 0911:5288 Touchpad: (accel) MinSpeed is now constant deceleration 2.5
[     5.717] (**) synaptics: ALPS0001:00 0911:5288 Touchpad: (accel) MaxSpeed is now 1.75
[     5.717] (**) synaptics: ALPS0001:00 0911:5288 Touchpad: (accel) AccelFactor is now 0.128
[     5.717] (**) ALPS0001:00 0911:5288 Touchpad: (accel) keeping acceleration scheme 1
[     5.717] (**) ALPS0001:00 0911:5288 Touchpad: (accel) acceleration profile 1
[     5.717] (**) ALPS0001:00 0911:5288 Touchpad: (accel) acceleration factor: 2.000
[     5.718] (**) ALPS0001:00 0911:5288 Touchpad: (accel) acceleration threshold: 4
[     5.718] (--) synaptics: ALPS0001:00 0911:5288 Touchpad: touchpad found
[     5.721] (II) config/udev: Adding input device ALPS0001:00 0911:5288 Touchpad (/dev/input/mouse1)
[     5.721] (**) ALPS0001:00 0911:5288 Touchpad: Ignoring device from InputClass "touchpad ignore duplicates"
Comment 3 Paul Terry 2018-02-03 18:23:05 UTC
Previously had synaptics driver installed as a test, no good. below is my terminal out put of "grep -e "ALPS" /var/log/Xorg.0.log" without the synaptics driver


grep -e "ALPS" /var/log/Xorg.0.log 
[     5.144] (II) config/udev: Adding input device ALPS0001:00 0911:5288 Touchpad (/dev/input/event11)
[     5.144] (**) ALPS0001:00 0911:5288 Touchpad: Applying InputClass "libinput touchpad catchall"
[     5.144] (II) Using input driver 'libinput' for 'ALPS0001:00 0911:5288 Touchpad'
[     5.144] (**) ALPS0001:00 0911:5288 Touchpad: always reports core events
[     5.146] (II) event11 - (II) ALPS0001:00 0911:5288 Touchpad: (II) is tagged by udev as: Touchpad
[     5.146] (EE) event11 - (EE) ALPS0001:00 0911:5288 Touchpad: (EE) kernel bug: clickpad advertising right button
[     5.147] (II) event11 - (II) ALPS0001:00 0911:5288 Touchpad: (II) device is a touchpad
[     5.147] (II) event11 - (II) ALPS0001:00 0911:5288 Touchpad: (II) device removed
[     5.183] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-4/i2c-ALPS0001:00/0018:0911:5288.0002/input/input16/event11"
[     5.183] (II) XINPUT: Adding extended input device "ALPS0001:00 0911:5288 Touchpad" (type: TOUCHPAD, id 10)
[     5.184] (**) ALPS0001:00 0911:5288 Touchpad: (accel) selected scheme none/0
[     5.184] (**) ALPS0001:00 0911:5288 Touchpad: (accel) acceleration factor: 2.000
[     5.184] (**) ALPS0001:00 0911:5288 Touchpad: (accel) acceleration threshold: 4
[     5.186] (II) event11 - (II) ALPS0001:00 0911:5288 Touchpad: (II) is tagged by udev as: Touchpad
[     5.187] (EE) event11 - (EE) ALPS0001:00 0911:5288 Touchpad: (EE) kernel bug: clickpad advertising right button
[     5.187] (II) event11 - (II) ALPS0001:00 0911:5288 Touchpad: (II) device is a touchpad
[     5.189] (II) config/udev: Adding input device ALPS0001:00 0911:5288 Touchpad (/dev/input/mouse1)
Comment 4 Paul Terry 2018-02-05 21:10:16 UTC
If it helps, I have managed to "bodge"/"force" my touchpad to start working, but it isn't pretty. What I have done is below:

1. Blacklist the driver and set debug options - (May not be necessary, but when the mouse isn't working my laptop fails to suspend/resume properly, so I have it blacklisted)
[code]echo "blacklist i2c_hid" >> /etc/modprobe.d/00_i2c_hid
echo "options i2c_hid debug=1" >> /etc/modprobe.d/00_i2c_hid[/code]

2. Set debug i2c_hid kernel boot parameter

[code]systemd-boot
------
options ***other options blah blah blah*** i2c-hid.dyndbg=+p[/code]

3. Reboot machine
4. After login, run

[code]sudo modprobe -vr i2c_hid
sudo modprove -vi i2c_hid[/code]
I like the verbose flag so I can see what's going on

I have to repeat step 4 multiple times, I also use

[code]sudo libinput debug-events[/code]

so I can see when the touchpad actually kicks in.
Comment 5 Bogdan Arabadzhi 2018-04-04 09:28:21 UTC
Touchpad is not working for me either.

Teclast F7, Linux 4.14.x, 4.15.x.

Tried all the tricks listed anywhere, but still can't bring it from the dead.
Comment 6 Ludovic Geneix 2018-04-28 17:23:30 UTC
Hi,

Not working for me too.

Tester with an ezbook 3 pro v5 09-30-2017 BIOS and kernel 4.14.x, 4.15.x and 4.16.x.
Comment 7 Hual 2018-06-26 04:13:11 UTC
Hi,

I have the same problem with the chuwi air. I have played with the driver and see that the problem is in the sleep command, after reciving this command the device does not respond. I think this is a common problem with i2c-hid devices.

If you dont send this command the touchpad works, however another problem arises: the device works only when the computer is plugged to mains. If this is not the case the touchpad sends only one message to the computer when it detects an event, but doesn't send the complete movement. I think this is related with power saving.
Comment 8 Rafael Rossi 2018-06-26 09:00:22 UTC
Tested with kernel 4.17, still hopelessly dead.
In windows 10, no problems whatsoever.
Comment 9 Rafael Rossi 2019-01-27 11:32:56 UTC
Fixed in kernel 4.19. 
Backported to 4.18

Note You need to log in before you can comment on or make changes to this bug.