Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-11-20 Thread Mantas Mikulėnas
On 2017-03-31 11:57, Benjamin Tissoires wrote:
> On Mar 29 2017 or thereabouts, Andrew Duggan wrote:
>>
>>
>> On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:
>>> On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
 On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
>> On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
>>> On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
>>> wrote:
 On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>>> [Resending, forgot to add Jiri in CC]
>>>
>>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
 On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
>> 9343's
>> Synaptics touchpad and dropping some errors into dmesg. Here are 
>> the
>> messages that seem RMI-related:
>>
>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>> version
>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>> product: TM3038-001, fw id: 1832324
>> input: Synaptics TM3038-001 as
>> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
>> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
>> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
>
> input: SynPS/2 Synaptics TouchPad as
> /devices/platform/i8042/serio1/input/input6
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
> version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> product: TM3038-003, fw id: 2375007
> input: Synaptics TM3038-003 as
>
> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
>
>> […]
>> Compared to hid-multitouch, the RMI stack seems to have 
>> completely
>> broken
>> palm rejection and introduced some random jumpiness during fine
>> pointing
>> motions. I don't know if these issues are caused by the above 
>> errors
>> or
>> are a separate issue.
>> The error about the bootloader version not being recognized just 
>> means
>> that updating the firmware is not supported on this touchpad. It is 
>> only the
>> F34 firmware update functionality which is failing to load. The palm
>> rejection and jumps are not related to this error.
>>
> Maybe that code path should be changed to not make as much noise when 
> it
> runs
> on known unsupported hardware. Something like the attached patch?
>
>> Looking at how hid-multitouch handles palms it looks like palms 
>> should
>> not be reported as active when calling input_mt_report_slot_state(). 
>> I'm
>> setting the tool type to MT_TOOL_PALM when the firmware determines 
>> that a
>> contact is a palm. But, that does not seem to be sufficient enough 
>> to have
>> the palms filtered out. After some quick testing it looks like the 
>> change
>> below will restore palm rejection similar to that provided by
>> hid-multitouch.
>>
> It looks like your email client ate the tabs, but if I apply the 
> change
> myself it seems to fix the palm rejection regression for me.
>
> Tested-by: Cameron Gutman
 Sorry, I was short on time and just copied the diff into the email. 
 I'll
 submit a proper patch soon with your tested-by included. Thanks for 
 testing.


>>> I just pointed out this patch (well the actual submission) to Jason
>>> (Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
>>> userspace, I thought it was the easiest way.
>>> However, it seems that this doesn't enhance the jumps and just make it 
>>> worse.
>> I was assuming that the jumps and palm rejection where two separate 
>> issues.
>> But, the palm rejection patch makes 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-11-20 Thread Mantas Mikulėnas
On 2017-03-31 11:57, Benjamin Tissoires wrote:
> On Mar 29 2017 or thereabouts, Andrew Duggan wrote:
>>
>>
>> On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:
>>> On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
 On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
>> On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
>>> On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
>>> wrote:
 On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>>> [Resending, forgot to add Jiri in CC]
>>>
>>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
 On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
>> 9343's
>> Synaptics touchpad and dropping some errors into dmesg. Here are 
>> the
>> messages that seem RMI-related:
>>
>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>> version
>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>> product: TM3038-001, fw id: 1832324
>> input: Synaptics TM3038-001 as
>> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
>> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
>> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
>
> input: SynPS/2 Synaptics TouchPad as
> /devices/platform/i8042/serio1/input/input6
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
> version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> product: TM3038-003, fw id: 2375007
> input: Synaptics TM3038-003 as
>
> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
>
>> […]
>> Compared to hid-multitouch, the RMI stack seems to have 
>> completely
>> broken
>> palm rejection and introduced some random jumpiness during fine
>> pointing
>> motions. I don't know if these issues are caused by the above 
>> errors
>> or
>> are a separate issue.
>> The error about the bootloader version not being recognized just 
>> means
>> that updating the firmware is not supported on this touchpad. It is 
>> only the
>> F34 firmware update functionality which is failing to load. The palm
>> rejection and jumps are not related to this error.
>>
> Maybe that code path should be changed to not make as much noise when 
> it
> runs
> on known unsupported hardware. Something like the attached patch?
>
>> Looking at how hid-multitouch handles palms it looks like palms 
>> should
>> not be reported as active when calling input_mt_report_slot_state(). 
>> I'm
>> setting the tool type to MT_TOOL_PALM when the firmware determines 
>> that a
>> contact is a palm. But, that does not seem to be sufficient enough 
>> to have
>> the palms filtered out. After some quick testing it looks like the 
>> change
>> below will restore palm rejection similar to that provided by
>> hid-multitouch.
>>
> It looks like your email client ate the tabs, but if I apply the 
> change
> myself it seems to fix the palm rejection regression for me.
>
> Tested-by: Cameron Gutman
 Sorry, I was short on time and just copied the diff into the email. 
 I'll
 submit a proper patch soon with your tested-by included. Thanks for 
 testing.


>>> I just pointed out this patch (well the actual submission) to Jason
>>> (Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
>>> userspace, I thought it was the easiest way.
>>> However, it seems that this doesn't enhance the jumps and just make it 
>>> worse.
>> I was assuming that the jumps and palm rejection where two separate 
>> issues.
>> But, the palm rejection patch makes things worse?
>>
>>> Is there anything we 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-31 Thread Andrew Duggan

On 03/31/2017 01:57 AM, Benjamin Tissoires wrote:

On Mar 29 2017 or thereabouts, Andrew Duggan wrote:


On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:

On Mar 28 2017 or thereabouts, Andrew Duggan wrote:

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-31 Thread Andrew Duggan

On 03/31/2017 01:57 AM, Benjamin Tissoires wrote:

On Mar 29 2017 or thereabouts, Andrew Duggan wrote:


On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:

On Mar 28 2017 or thereabouts, Andrew Duggan wrote:

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly bisect to where changes happen. Without anything 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-31 Thread Benjamin Tissoires
On Mar 29 2017 or thereabouts, Andrew Duggan wrote:
> 
> 
> On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:
> > On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
> > > On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > > > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew 
> > > > > > Duggan  wrote:
> > > > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > > > 
> > > > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding 
> > > > > > > > > > > > > to my XPS 13
> > > > > > > > > > > > > 9343's
> > > > > > > > > > > > > Synaptics touchpad and dropping some errors into 
> > > > > > > > > > > > > dmesg. Here are the
> > > > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > > > 
> > > > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > > > bootloader
> > > > > > > > > > > > > version
> > > > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, 
> > > > > > > > > > > > > manufacturer: Synaptics,
> > > > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID 
> > > > > > > > > > > > > v1.00 Mouse
> > > > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > > > 
> > > > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > > bootloader
> > > > > > > > > > > > version
> > > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > > Synaptics,
> > > > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > > > 
> > > > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID 
> > > > > > > > > > > > v1.00 Mouse
> > > > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > > > 
> > > > > > > > > > > > > […]
> > > > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to 
> > > > > > > > > > > > > have completely
> > > > > > > > > > > > > broken
> > > > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > > > during fine
> > > > > > > > > > > > > pointing
> > > > > > > > > > > > > motions. I don't know if these issues are caused by 
> > > > > > > > > > > > > the above errors
> > > > > > > > > > > > > or
> > > > > > > > > > > > > are a separate issue.
> > > > > > > > > The error about the bootloader version not being recognized 
> > > > > > > > > just means
> > > > > > > > > that updating the firmware is not supported on this touchpad. 
> > > > > > > > > It is only the
> > > > > > > > > F34 firmware update functionality which is failing to load. 
> > > > > > > > > The palm
> > > > > > > > > rejection and jumps are not related to this error.
> > > > > > > > > 
> > > > > > > > Maybe that code path should be changed to not make as much 
> > > > > > > > noise when it
> > > > > > > > runs
> > > > > > > > on known unsupported hardware. Something like the attached 
> > > > > > > > patch?
> > > > > > > > 
> > > > > > > > > Looking at how hid-multitouch handles palms it looks like 
> > > > > > > > > palms should
> > > > > > > > > not be reported as active when calling 
> > > > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > > > determines that a
> > > > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > > > enough to have
> > > > > > > > > the palms filtered out. After some quick testing it looks 
> > > > > > > > > like the change
> > > > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > > > hid-multitouch.
> > > > > > > > > 
> > > > 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-31 Thread Benjamin Tissoires
On Mar 29 2017 or thereabouts, Andrew Duggan wrote:
> 
> 
> On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:
> > On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
> > > On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > > > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew 
> > > > > > Duggan  wrote:
> > > > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > > > 
> > > > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding 
> > > > > > > > > > > > > to my XPS 13
> > > > > > > > > > > > > 9343's
> > > > > > > > > > > > > Synaptics touchpad and dropping some errors into 
> > > > > > > > > > > > > dmesg. Here are the
> > > > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > > > 
> > > > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > > > bootloader
> > > > > > > > > > > > > version
> > > > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, 
> > > > > > > > > > > > > manufacturer: Synaptics,
> > > > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID 
> > > > > > > > > > > > > v1.00 Mouse
> > > > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > > > 
> > > > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > > bootloader
> > > > > > > > > > > > version
> > > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > > Synaptics,
> > > > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > > > 
> > > > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID 
> > > > > > > > > > > > v1.00 Mouse
> > > > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > > > 
> > > > > > > > > > > > > […]
> > > > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to 
> > > > > > > > > > > > > have completely
> > > > > > > > > > > > > broken
> > > > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > > > during fine
> > > > > > > > > > > > > pointing
> > > > > > > > > > > > > motions. I don't know if these issues are caused by 
> > > > > > > > > > > > > the above errors
> > > > > > > > > > > > > or
> > > > > > > > > > > > > are a separate issue.
> > > > > > > > > The error about the bootloader version not being recognized 
> > > > > > > > > just means
> > > > > > > > > that updating the firmware is not supported on this touchpad. 
> > > > > > > > > It is only the
> > > > > > > > > F34 firmware update functionality which is failing to load. 
> > > > > > > > > The palm
> > > > > > > > > rejection and jumps are not related to this error.
> > > > > > > > > 
> > > > > > > > Maybe that code path should be changed to not make as much 
> > > > > > > > noise when it
> > > > > > > > runs
> > > > > > > > on known unsupported hardware. Something like the attached 
> > > > > > > > patch?
> > > > > > > > 
> > > > > > > > > Looking at how hid-multitouch handles palms it looks like 
> > > > > > > > > palms should
> > > > > > > > > not be reported as active when calling 
> > > > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > > > determines that a
> > > > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > > > enough to have
> > > > > > > > > the palms filtered out. After some quick testing it looks 
> > > > > > > > > like the change
> > > > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > > > hid-multitouch.
> > > > > > > > > 
> > > > > > > > It looks like 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Andrew Duggan



On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:

On Mar 28 2017 or thereabouts, Andrew Duggan wrote:

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly bisect to where changes happen. Without anything else to go
on, I'd say it's the new touchpad acceleration 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Andrew Duggan



On 03/29/2017 01:50 AM, Benjamin Tissoires wrote:

On Mar 28 2017 or thereabouts, Andrew Duggan wrote:

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly bisect to where changes happen. Without anything else to go
on, I'd say it's the new touchpad acceleration code from libinput 1.5 - the
max accel factor 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Benjamin Tissoires
On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
> On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > > > wrote:
> > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > 
> > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to 
> > > > > > > > > > > my XPS 13
> > > > > > > > > > > 9343's
> > > > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. 
> > > > > > > > > > > Here are the
> > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > 
> > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > bootloader
> > > > > > > > > > > version
> > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > Synaptics,
> > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > > Mouse
> > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > 
> > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > bootloader
> > > > > > > > > > version
> > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > Synaptics,
> > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > 
> > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > Mouse
> > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > 
> > > > > > > > > > > […]
> > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > > > completely
> > > > > > > > > > > broken
> > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > during fine
> > > > > > > > > > > pointing
> > > > > > > > > > > motions. I don't know if these issues are caused by the 
> > > > > > > > > > > above errors
> > > > > > > > > > > or
> > > > > > > > > > > are a separate issue.
> > > > > > > The error about the bootloader version not being recognized just 
> > > > > > > means
> > > > > > > that updating the firmware is not supported on this touchpad. It 
> > > > > > > is only the
> > > > > > > F34 firmware update functionality which is failing to load. The 
> > > > > > > palm
> > > > > > > rejection and jumps are not related to this error.
> > > > > > > 
> > > > > > Maybe that code path should be changed to not make as much noise 
> > > > > > when it
> > > > > > runs
> > > > > > on known unsupported hardware. Something like the attached patch?
> > > > > > 
> > > > > > > Looking at how hid-multitouch handles palms it looks like palms 
> > > > > > > should
> > > > > > > not be reported as active when calling 
> > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > determines that a
> > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > enough to have
> > > > > > > the palms filtered out. After some quick testing it looks like 
> > > > > > > the change
> > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > hid-multitouch.
> > > > > > > 
> > > > > > It looks like your email client ate the tabs, but if I apply the 
> > > > > > change
> > > > > > myself it seems to fix the palm rejection regression for me.
> > > > > > 
> > > > > > Tested-by: Cameron Gutman 
> > > > > Sorry, I was short on time and just copied the diff into the email. 
> > > > > I'll
> > > > > submit a proper patch soon with your tested-by included. Thanks for 
> > > > > testing.
> > > > > 
> > > > > 
> > > > I just pointed out 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Benjamin Tissoires
On Mar 28 2017 or thereabouts, Andrew Duggan wrote:
> On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > > > wrote:
> > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > 
> > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to 
> > > > > > > > > > > my XPS 13
> > > > > > > > > > > 9343's
> > > > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. 
> > > > > > > > > > > Here are the
> > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > 
> > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > bootloader
> > > > > > > > > > > version
> > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > Synaptics,
> > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > > Mouse
> > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > 
> > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > bootloader
> > > > > > > > > > version
> > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > Synaptics,
> > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > 
> > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > Mouse
> > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > 
> > > > > > > > > > > […]
> > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > > > completely
> > > > > > > > > > > broken
> > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > during fine
> > > > > > > > > > > pointing
> > > > > > > > > > > motions. I don't know if these issues are caused by the 
> > > > > > > > > > > above errors
> > > > > > > > > > > or
> > > > > > > > > > > are a separate issue.
> > > > > > > The error about the bootloader version not being recognized just 
> > > > > > > means
> > > > > > > that updating the firmware is not supported on this touchpad. It 
> > > > > > > is only the
> > > > > > > F34 firmware update functionality which is failing to load. The 
> > > > > > > palm
> > > > > > > rejection and jumps are not related to this error.
> > > > > > > 
> > > > > > Maybe that code path should be changed to not make as much noise 
> > > > > > when it
> > > > > > runs
> > > > > > on known unsupported hardware. Something like the attached patch?
> > > > > > 
> > > > > > > Looking at how hid-multitouch handles palms it looks like palms 
> > > > > > > should
> > > > > > > not be reported as active when calling 
> > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > determines that a
> > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > enough to have
> > > > > > > the palms filtered out. After some quick testing it looks like 
> > > > > > > the change
> > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > hid-multitouch.
> > > > > > > 
> > > > > > It looks like your email client ate the tabs, but if I apply the 
> > > > > > change
> > > > > > myself it seems to fix the palm rejection regression for me.
> > > > > > 
> > > > > > Tested-by: Cameron Gutman 
> > > > > Sorry, I was short on time and just copied the diff into the email. 
> > > > > I'll
> > > > > submit a proper patch soon with your tested-by included. Thanks for 
> > > > > testing.
> > > > > 
> > > > > 
> > > > I just pointed out this patch (well the actual submission) to 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Peter Hutterer
On Tue, Mar 28, 2017 at 06:50:44PM -0700, Andrew Duggan wrote:
> On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > > > wrote:
> > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > 
> > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to 
> > > > > > > > > > > my XPS 13
> > > > > > > > > > > 9343's
> > > > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. 
> > > > > > > > > > > Here are the
> > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > 
> > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > bootloader
> > > > > > > > > > > version
> > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > Synaptics,
> > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > > Mouse
> > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > 
> > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > bootloader
> > > > > > > > > > version
> > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > Synaptics,
> > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > 
> > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > Mouse
> > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > 
> > > > > > > > > > > […]
> > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > > > completely
> > > > > > > > > > > broken
> > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > during fine
> > > > > > > > > > > pointing
> > > > > > > > > > > motions. I don't know if these issues are caused by the 
> > > > > > > > > > > above errors
> > > > > > > > > > > or
> > > > > > > > > > > are a separate issue.
> > > > > > > The error about the bootloader version not being recognized just 
> > > > > > > means
> > > > > > > that updating the firmware is not supported on this touchpad. It 
> > > > > > > is only the
> > > > > > > F34 firmware update functionality which is failing to load. The 
> > > > > > > palm
> > > > > > > rejection and jumps are not related to this error.
> > > > > > > 
> > > > > > Maybe that code path should be changed to not make as much noise 
> > > > > > when it
> > > > > > runs
> > > > > > on known unsupported hardware. Something like the attached patch?
> > > > > > 
> > > > > > > Looking at how hid-multitouch handles palms it looks like palms 
> > > > > > > should
> > > > > > > not be reported as active when calling 
> > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > determines that a
> > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > enough to have
> > > > > > > the palms filtered out. After some quick testing it looks like 
> > > > > > > the change
> > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > hid-multitouch.
> > > > > > > 
> > > > > > It looks like your email client ate the tabs, but if I apply the 
> > > > > > change
> > > > > > myself it seems to fix the palm rejection regression for me.
> > > > > > 
> > > > > > Tested-by: Cameron Gutman 
> > > > > Sorry, I was short on time and just copied the diff into the email. 
> > > > > I'll
> > > > > submit a proper patch soon with your tested-by included. Thanks for 
> > > > > testing.
> > > > > 
> > > > > 
> > > > I just 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-29 Thread Peter Hutterer
On Tue, Mar 28, 2017 at 06:50:44PM -0700, Andrew Duggan wrote:
> On 03/19/2017 10:00 PM, Peter Hutterer wrote:
> > On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> > > On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > > > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > > > wrote:
> > > > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > > > 
> > > > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to 
> > > > > > > > > > > my XPS 13
> > > > > > > > > > > 9343's
> > > > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. 
> > > > > > > > > > > Here are the
> > > > > > > > > > > messages that seem RMI-related:
> > > > > > > > > > > 
> > > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > > bootloader
> > > > > > > > > > > version
> > > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > > Synaptics,
> > > > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > > Mouse
> > > > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > > > 
> > > > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > > bootloader
> > > > > > > > > > version
> > > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > > Synaptics,
> > > > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > > > 
> > > > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > > Mouse
> > > > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > > > 
> > > > > > > > > > > […]
> > > > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > > > completely
> > > > > > > > > > > broken
> > > > > > > > > > > palm rejection and introduced some random jumpiness 
> > > > > > > > > > > during fine
> > > > > > > > > > > pointing
> > > > > > > > > > > motions. I don't know if these issues are caused by the 
> > > > > > > > > > > above errors
> > > > > > > > > > > or
> > > > > > > > > > > are a separate issue.
> > > > > > > The error about the bootloader version not being recognized just 
> > > > > > > means
> > > > > > > that updating the firmware is not supported on this touchpad. It 
> > > > > > > is only the
> > > > > > > F34 firmware update functionality which is failing to load. The 
> > > > > > > palm
> > > > > > > rejection and jumps are not related to this error.
> > > > > > > 
> > > > > > Maybe that code path should be changed to not make as much noise 
> > > > > > when it
> > > > > > runs
> > > > > > on known unsupported hardware. Something like the attached patch?
> > > > > > 
> > > > > > > Looking at how hid-multitouch handles palms it looks like palms 
> > > > > > > should
> > > > > > > not be reported as active when calling 
> > > > > > > input_mt_report_slot_state(). I'm
> > > > > > > setting the tool type to MT_TOOL_PALM when the firmware 
> > > > > > > determines that a
> > > > > > > contact is a palm. But, that does not seem to be sufficient 
> > > > > > > enough to have
> > > > > > > the palms filtered out. After some quick testing it looks like 
> > > > > > > the change
> > > > > > > below will restore palm rejection similar to that provided by
> > > > > > > hid-multitouch.
> > > > > > > 
> > > > > > It looks like your email client ate the tabs, but if I apply the 
> > > > > > change
> > > > > > myself it seems to fix the palm rejection regression for me.
> > > > > > 
> > > > > > Tested-by: Cameron Gutman 
> > > > > Sorry, I was short on time and just copied the diff into the email. 
> > > > > I'll
> > > > > submit a proper patch soon with your tested-by included. Thanks for 
> > > > > testing.
> > > > > 
> > > > > 
> > > > I just pointed out this patch (well the actual 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-28 Thread Andrew Duggan

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly bisect to where changes happen. Without anything else to go
on, I'd say it's the new touchpad acceleration code from libinput 1.5 - the
max accel factor has changed so depending on the speed of the jumps, you can

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-28 Thread Andrew Duggan

On 03/19/2017 10:00 PM, Peter Hutterer wrote:

On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 

Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

I was assuming that the jumps and palm rejection where two separate issues.
But, the palm rejection patch makes things worse?


Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

I do not have a fix for the jumps yet. My next step is to file a bug against
libinput or the kernel. I used evemu-record to capture a log with jumps, but
when I play it back with a different userspace input stack with an older
version of libinput I do not see the jumps. I see the jumps on Fedora 25
with libinput 1.6.3 vs Ubuntu 16.10 with libinput 1.4.3 with X). Or at least
the jumps are not as significant. But, its possible there is an issue with
how the events are being reported which is incorrect and confusing libinput.
The X and Y coordinates being reported by the firmware seem correct and I
haven't found a problem yet. I thought a bug would be a better place to
collect evemu-record logs and compare.

fwiw, there's a fairly easy way to quickly check libinput for changes and
that's by having the gtk3-headers installed at configure time and then
running sudo ./tools/event-gui to visualize the movement (Esc quits)

That tool uses libinput data directly to draw pointer motion etc, so it's a
way to quickly bisect to where changes happen. Without anything else to go
on, I'd say it's the new touchpad acceleration code from libinput 1.5 - the
max accel factor has changed so depending on the speed of the jumps, you can
now get stronger pointer movement.

Cheers,
   

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-19 Thread Peter Hutterer
On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > wrote:
> > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > 
> > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > 
> > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > 
> > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to my 
> > > > > > > > > XPS 13
> > > > > > > > > 9343's
> > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. Here 
> > > > > > > > > are the
> > > > > > > > > messages that seem RMI-related:
> > > > > > > > > 
> > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > bootloader
> > > > > > > > > version
> > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > Synaptics,
> > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > Mouse
> > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > 
> > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
> > > > > > > > version
> > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > Synaptics,
> > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > 
> > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > 
> > > > > > > > > […]
> > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > completely
> > > > > > > > > broken
> > > > > > > > > palm rejection and introduced some random jumpiness during 
> > > > > > > > > fine
> > > > > > > > > pointing
> > > > > > > > > motions. I don't know if these issues are caused by the above 
> > > > > > > > > errors
> > > > > > > > > or
> > > > > > > > > are a separate issue.
> > > > > The error about the bootloader version not being recognized just means
> > > > > that updating the firmware is not supported on this touchpad. It is 
> > > > > only the
> > > > > F34 firmware update functionality which is failing to load. The palm
> > > > > rejection and jumps are not related to this error.
> > > > > 
> > > > Maybe that code path should be changed to not make as much noise when it
> > > > runs
> > > > on known unsupported hardware. Something like the attached patch?
> > > > 
> > > > > Looking at how hid-multitouch handles palms it looks like palms should
> > > > > not be reported as active when calling input_mt_report_slot_state(). 
> > > > > I'm
> > > > > setting the tool type to MT_TOOL_PALM when the firmware determines 
> > > > > that a
> > > > > contact is a palm. But, that does not seem to be sufficient enough to 
> > > > > have
> > > > > the palms filtered out. After some quick testing it looks like the 
> > > > > change
> > > > > below will restore palm rejection similar to that provided by
> > > > > hid-multitouch.
> > > > > 
> > > > It looks like your email client ate the tabs, but if I apply the change
> > > > myself it seems to fix the palm rejection regression for me.
> > > > 
> > > > Tested-by: Cameron Gutman 
> > > 
> > > Sorry, I was short on time and just copied the diff into the email. I'll
> > > submit a proper patch soon with your tested-by included. Thanks for 
> > > testing.
> > > 
> > > 
> > I just pointed out this patch (well the actual submission) to Jason
> > (Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
> > userspace, I thought it was the easiest way.
> > However, it seems that this doesn't enhance the jumps and just make it 
> > worse.
> 
> I was assuming that the jumps and palm rejection where two separate issues.
> But, the palm rejection patch makes things worse?
> 
> > Is there anything we can do to fix it (besides temporary disabling the
> > automatic loading of hid-rmi)?
> 
> I do not have a fix for the jumps yet. My next 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-19 Thread Peter Hutterer
On Fri, Mar 17, 2017 at 12:23:36PM -0700, Andrew Duggan wrote:
> On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:
> > On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  
> > wrote:
> > > On 03/13/2017 10:10 PM, Cameron Gutman wrote:
> > > > 
> > > > On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> > > > > 
> > > > > On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
> > > > > > [Resending, forgot to add Jiri in CC]
> > > > > > 
> > > > > > On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> > > > > > > On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > > > > > > > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > > > > > > > > Beginning in 4.11-rc1, it looks like RMI4 is binding to my 
> > > > > > > > > XPS 13
> > > > > > > > > 9343's
> > > > > > > > > Synaptics touchpad and dropping some errors into dmesg. Here 
> > > > > > > > > are the
> > > > > > > > > messages that seem RMI-related:
> > > > > > > > > 
> > > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized 
> > > > > > > > > bootloader
> > > > > > > > > version
> > > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > > Synaptics,
> > > > > > > > > product: TM3038-001, fw id: 1832324
> > > > > > > > > input: Synaptics TM3038-001 as
> > > > > > > > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > > > > > > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 
> > > > > > > > > Mouse
> > > > > > > > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > > > > > > > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > > > > > > > 
> > > > > > > > input: SynPS/2 Synaptics TouchPad as
> > > > > > > > /devices/platform/i8042/serio1/input/input6
> > > > > > > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
> > > > > > > > version
> > > > > > > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > > > > > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: 
> > > > > > > > Synaptics,
> > > > > > > > product: TM3038-003, fw id: 2375007
> > > > > > > > input: Synaptics TM3038-003 as
> > > > > > > > 
> > > > > > > > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > > > > > > > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> > > > > > > > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > > > > > > > 
> > > > > > > > > […]
> > > > > > > > > Compared to hid-multitouch, the RMI stack seems to have 
> > > > > > > > > completely
> > > > > > > > > broken
> > > > > > > > > palm rejection and introduced some random jumpiness during 
> > > > > > > > > fine
> > > > > > > > > pointing
> > > > > > > > > motions. I don't know if these issues are caused by the above 
> > > > > > > > > errors
> > > > > > > > > or
> > > > > > > > > are a separate issue.
> > > > > The error about the bootloader version not being recognized just means
> > > > > that updating the firmware is not supported on this touchpad. It is 
> > > > > only the
> > > > > F34 firmware update functionality which is failing to load. The palm
> > > > > rejection and jumps are not related to this error.
> > > > > 
> > > > Maybe that code path should be changed to not make as much noise when it
> > > > runs
> > > > on known unsupported hardware. Something like the attached patch?
> > > > 
> > > > > Looking at how hid-multitouch handles palms it looks like palms should
> > > > > not be reported as active when calling input_mt_report_slot_state(). 
> > > > > I'm
> > > > > setting the tool type to MT_TOOL_PALM when the firmware determines 
> > > > > that a
> > > > > contact is a palm. But, that does not seem to be sufficient enough to 
> > > > > have
> > > > > the palms filtered out. After some quick testing it looks like the 
> > > > > change
> > > > > below will restore palm rejection similar to that provided by
> > > > > hid-multitouch.
> > > > > 
> > > > It looks like your email client ate the tabs, but if I apply the change
> > > > myself it seems to fix the palm rejection regression for me.
> > > > 
> > > > Tested-by: Cameron Gutman 
> > > 
> > > Sorry, I was short on time and just copied the diff into the email. I'll
> > > submit a proper patch soon with your tested-by included. Thanks for 
> > > testing.
> > > 
> > > 
> > I just pointed out this patch (well the actual submission) to Jason
> > (Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
> > userspace, I thought it was the easiest way.
> > However, it seems that this doesn't enhance the jumps and just make it 
> > worse.
> 
> I was assuming that the jumps and palm rejection where two separate issues.
> But, the palm rejection patch makes things worse?
> 
> > Is there anything we can do to fix it (besides temporary disabling the
> > automatic loading of hid-rmi)?
> 
> I do not have a fix for the jumps yet. My next step is to file a bug against
> libinput or 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-17 Thread Andrew Duggan

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:


On 03/13/2017 06:35 PM, Andrew Duggan wrote:


On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 


Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.


I was assuming that the jumps and palm rejection where two separate 
issues. But, the palm rejection patch makes things worse?



Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?


I do not have a fix for the jumps yet. My next step is to file a bug 
against libinput or the kernel. I used evemu-record to capture a log 
with jumps, but when I play it back with a different userspace input 
stack with an older version of libinput I do not see the jumps. I see 
the jumps on Fedora 25 with libinput 1.6.3 vs Ubuntu 16.10 with libinput 
1.4.3 with X). Or at least the jumps are not as significant. But, its 
possible there is an issue with how the events are being reported which 
is incorrect and confusing libinput. The X and Y coordinates being 
reported by the firmware seem correct and I haven't found a problem yet. 
I thought a bug would be a better place to collect evemu-record logs and 
compare.


Hopefully, this will end up being a quick fix in the kernel and we can 
get it applied to 4.11 without having to hold off on disabling hid-rmi 
for PTPs.


Andrew


Cheers,
Benjamin




Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really seen any
jumpiness. But, based on the data I am seeing that if I lift my finger and
place it again in a short period of time the first event or so will be at
the location of the previous contact. Then it will switch over to the
current location. When 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-17 Thread Andrew Duggan

On 03/17/2017 09:57 AM, Benjamin Tissoires wrote:

On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:

On 03/13/2017 10:10 PM, Cameron Gutman wrote:


On 03/13/2017 06:35 PM, Andrew Duggan wrote:


On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL0665:01 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as

/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely
broken
palm rejection and introduced some random jumpiness during fine
pointing
motions. I don't know if these issues are caused by the above errors
or
are a separate issue.

The error about the bootloader version not being recognized just means
that updating the firmware is not supported on this touchpad. It is only the
F34 firmware update functionality which is failing to load. The palm
rejection and jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it
runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should
not be reported as active when calling input_mt_report_slot_state(). I'm
setting the tool type to MT_TOOL_PALM when the firmware determines that a
contact is a palm. But, that does not seem to be sufficient enough to have
the palms filtered out. After some quick testing it looks like the change
below will restore palm rejection similar to that provided by
hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 


Sorry, I was short on time and just copied the diff into the email. I'll
submit a proper patch soon with your tested-by included. Thanks for testing.



I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.


I was assuming that the jumps and palm rejection where two separate 
issues. But, the palm rejection patch makes things worse?



Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?


I do not have a fix for the jumps yet. My next step is to file a bug 
against libinput or the kernel. I used evemu-record to capture a log 
with jumps, but when I play it back with a different userspace input 
stack with an older version of libinput I do not see the jumps. I see 
the jumps on Fedora 25 with libinput 1.6.3 vs Ubuntu 16.10 with libinput 
1.4.3 with X). Or at least the jumps are not as significant. But, its 
possible there is an issue with how the events are being reported which 
is incorrect and confusing libinput. The X and Y coordinates being 
reported by the firmware seem correct and I haven't found a problem yet. 
I thought a bug would be a better place to collect evemu-record logs and 
compare.


Hopefully, this will end up being a quick fix in the kernel and we can 
get it applied to 4.11 without having to hold off on disabling hid-rmi 
for PTPs.


Andrew


Cheers,
Benjamin




Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really seen any
jumpiness. But, based on the data I am seeing that if I lift my finger and
place it again in a short period of time the first event or so will be at
the location of the previous contact. Then it will switch over to the
current location. When switching over to hid-multitouch I was unable to

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-17 Thread Benjamin Tissoires
On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:
> On 03/13/2017 10:10 PM, Cameron Gutman wrote:
>>
>>
>> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>>>
>>>
>>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

 [Resending, forgot to add Jiri in CC]

 On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
>
> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
>>
>> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>>>
>>> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
>>> 9343's
>>> Synaptics touchpad and dropping some errors into dmesg. Here are the
>>> messages that seem RMI-related:
>>>
>>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>>> version
>>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>>> product: TM3038-001, fw id: 1832324
>>> input: Synaptics TM3038-001 as
>>> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
>>> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
>>> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
>>
>> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
>>
>> input: SynPS/2 Synaptics TouchPad as
>> /devices/platform/i8042/serio1/input/input6
>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>> version
>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>> product: TM3038-003, fw id: 2375007
>> input: Synaptics TM3038-003 as
>>
>> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
>> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
>> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
>>
>>> […]
>>> Compared to hid-multitouch, the RMI stack seems to have completely
>>> broken
>>> palm rejection and introduced some random jumpiness during fine
>>> pointing
>>> motions. I don't know if these issues are caused by the above errors
>>> or
>>> are a separate issue.
>>>
>>> The error about the bootloader version not being recognized just means
>>> that updating the firmware is not supported on this touchpad. It is only the
>>> F34 firmware update functionality which is failing to load. The palm
>>> rejection and jumps are not related to this error.
>>>
>> Maybe that code path should be changed to not make as much noise when it
>> runs
>> on known unsupported hardware. Something like the attached patch?
>>
>>> Looking at how hid-multitouch handles palms it looks like palms should
>>> not be reported as active when calling input_mt_report_slot_state(). I'm
>>> setting the tool type to MT_TOOL_PALM when the firmware determines that a
>>> contact is a palm. But, that does not seem to be sufficient enough to have
>>> the palms filtered out. After some quick testing it looks like the change
>>> below will restore palm rejection similar to that provided by
>>> hid-multitouch.
>>>
>> It looks like your email client ate the tabs, but if I apply the change
>> myself it seems to fix the palm rejection regression for me.
>>
>> Tested-by: Cameron Gutman 
>
>
> Sorry, I was short on time and just copied the diff into the email. I'll
> submit a proper patch soon with your tested-by included. Thanks for testing.
>
>

I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

Cheers,
Benjamin

>
>
>> Just to confirm: I noticed "jumpiness during fine pointing motions" as
>> well since switching to 4.11-rc.
>>>
>>> One of my test systems is a XPS 13 9343 and I have not really seen any
>>> jumpiness. But, based on the data I am seeing that if I lift my finger and
>>> place it again in a short period of time the first event or so will be at
>>> the location of the previous contact. Then it will switch over to the
>>> current location. When switching over to hid-multitouch I was unable to
>>> reproduce this behavior. This definitely could be the source of the jumps.
>>>
>> The jumpiness definitely happens without lifting my finger, but I'm
>> willing
>> to test any patch you think would improve the situation. Moving one finger
>> slowly in a figure-8 across my touchpad shows the issue clearly for me.
>> The
>> small variations in speed of my finger due to the friction on the trackpad
>> get magnified to relatively large jumpy pointer movements on screen. It
>> seems much more noticeable in diagonal movements than completely vertical
>> or 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-17 Thread Benjamin Tissoires
On Wed, Mar 15, 2017 at 2:19 AM, Andrew Duggan  wrote:
> On 03/13/2017 10:10 PM, Cameron Gutman wrote:
>>
>>
>> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>>>
>>>
>>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

 [Resending, forgot to add Jiri in CC]

 On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
>
> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
>>
>> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>>>
>>> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13
>>> 9343's
>>> Synaptics touchpad and dropping some errors into dmesg. Here are the
>>> messages that seem RMI-related:
>>>
>>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>>> version
>>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>>> product: TM3038-001, fw id: 1832324
>>> input: Synaptics TM3038-001 as
>>> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
>>> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse
>>> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
>>
>> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
>>
>> input: SynPS/2 Synaptics TouchPad as
>> /devices/platform/i8042/serio1/input/input6
>> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader
>> version
>> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
>> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
>> product: TM3038-003, fw id: 2375007
>> input: Synaptics TM3038-003 as
>>
>> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
>> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
>> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
>>
>>> […]
>>> Compared to hid-multitouch, the RMI stack seems to have completely
>>> broken
>>> palm rejection and introduced some random jumpiness during fine
>>> pointing
>>> motions. I don't know if these issues are caused by the above errors
>>> or
>>> are a separate issue.
>>>
>>> The error about the bootloader version not being recognized just means
>>> that updating the firmware is not supported on this touchpad. It is only the
>>> F34 firmware update functionality which is failing to load. The palm
>>> rejection and jumps are not related to this error.
>>>
>> Maybe that code path should be changed to not make as much noise when it
>> runs
>> on known unsupported hardware. Something like the attached patch?
>>
>>> Looking at how hid-multitouch handles palms it looks like palms should
>>> not be reported as active when calling input_mt_report_slot_state(). I'm
>>> setting the tool type to MT_TOOL_PALM when the firmware determines that a
>>> contact is a palm. But, that does not seem to be sufficient enough to have
>>> the palms filtered out. After some quick testing it looks like the change
>>> below will restore palm rejection similar to that provided by
>>> hid-multitouch.
>>>
>> It looks like your email client ate the tabs, but if I apply the change
>> myself it seems to fix the palm rejection regression for me.
>>
>> Tested-by: Cameron Gutman 
>
>
> Sorry, I was short on time and just copied the diff into the email. I'll
> submit a proper patch soon with your tested-by included. Thanks for testing.
>
>

I just pointed out this patch (well the actual submission) to Jason
(Cc-ed). Given that there is no proper handling of MT_TOOL_PALM yet in
userspace, I thought it was the easiest way.
However, it seems that this doesn't enhance the jumps and just make it worse.

Is there anything we can do to fix it (besides temporary disabling the
automatic loading of hid-rmi)?

Cheers,
Benjamin

>
>
>> Just to confirm: I noticed "jumpiness during fine pointing motions" as
>> well since switching to 4.11-rc.
>>>
>>> One of my test systems is a XPS 13 9343 and I have not really seen any
>>> jumpiness. But, based on the data I am seeing that if I lift my finger and
>>> place it again in a short period of time the first event or so will be at
>>> the location of the previous contact. Then it will switch over to the
>>> current location. When switching over to hid-multitouch I was unable to
>>> reproduce this behavior. This definitely could be the source of the jumps.
>>>
>> The jumpiness definitely happens without lifting my finger, but I'm
>> willing
>> to test any patch you think would improve the situation. Moving one finger
>> slowly in a figure-8 across my touchpad shows the issue clearly for me.
>> The
>> small variations in speed of my finger due to the friction on the trackpad
>> get magnified to relatively large jumpy pointer movements on screen. It
>> seems much more noticeable in diagonal movements than completely vertical
>> or horizontal movements.
>>
>> Regards,
>> Cameron
>>

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Andrew Duggan

On 03/13/2017 10:10 PM, Cameron Gutman wrote:


On 03/13/2017 06:35 PM, Andrew Duggan wrote:


On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.

The error about the bootloader version not being recognized just means that 
updating the firmware is not supported on this touchpad. It is only the F34 
firmware update functionality which is failing to load. The palm rejection and 
jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should not be 
reported as active when calling input_mt_report_slot_state(). I'm setting the 
tool type to MT_TOOL_PALM when the firmware determines that a contact is a 
palm. But, that does not seem to be sufficient enough to have the palms 
filtered out. After some quick testing it looks like the change below will 
restore palm rejection similar to that provided by hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 


Sorry, I was short on time and just copied the diff into the email. I'll 
submit a proper patch soon with your tested-by included. Thanks for testing.


Andrew


Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really seen any 
jumpiness. But, based on the data I am seeing that if I lift my finger and 
place it again in a short period of time the first event or so will be at the 
location of the previous contact. Then it will switch over to the current 
location. When switching over to hid-multitouch I was unable to reproduce this 
behavior. This definitely could be the source of the jumps.


The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

Regards,
Cameron

---
diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..1291d9a 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
-   return -EINVAL;
+   dev_info(>fn->dev, "%s: Unsupported bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
+   return -ENODEV;
}
  
  	memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));





Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Andrew Duggan

On 03/14/2017 01:14 AM, Thorsten Leemhuis wrote:

Lo! On 14.03.2017 06:10, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. […]

Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really
seen any jumpiness. But, based on the data I am seeing that if I
lift my finger and place it again in a short period of time the
first event or so will be at the location of the previous
contact. Then it will switch over to the current location. When
switching over to hid-multitouch I was unable to reproduce this
behavior. This definitely could be the source of the jumps.

The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

@Andrew: Is there anything we can do to help track this down? A
evemu-record of some movements or something like that? Or do we need to
bring Peter into the loop in case it has something to do with libinput?


Yes, collecting some evemu-record logs of the jumps would be useful. 
Only after installing Fedora 25 was I able to see jumps while moving 
diagonally. I'm interested in seeing what others record and if it is the 
same as what I saw. The log of the jump did show the jump on Fedora 25. 
But, I did not see the jump with Ubuntu 16.10 with libinput 1.4.3.


Andrew


Ciao, Thorsten





Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Andrew Duggan

On 03/13/2017 10:10 PM, Cameron Gutman wrote:


On 03/13/2017 06:35 PM, Andrew Duggan wrote:


On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.

The error about the bootloader version not being recognized just means that 
updating the firmware is not supported on this touchpad. It is only the F34 
firmware update functionality which is failing to load. The palm rejection and 
jumps are not related to this error.


Maybe that code path should be changed to not make as much noise when it runs
on known unsupported hardware. Something like the attached patch?


Looking at how hid-multitouch handles palms it looks like palms should not be 
reported as active when calling input_mt_report_slot_state(). I'm setting the 
tool type to MT_TOOL_PALM when the firmware determines that a contact is a 
palm. But, that does not seem to be sufficient enough to have the palms 
filtered out. After some quick testing it looks like the change below will 
restore palm rejection similar to that provided by hid-multitouch.


It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 


Sorry, I was short on time and just copied the diff into the email. I'll 
submit a proper patch soon with your tested-by included. Thanks for testing.


Andrew


Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really seen any 
jumpiness. But, based on the data I am seeing that if I lift my finger and 
place it again in a short period of time the first event or so will be at the 
location of the previous contact. Then it will switch over to the current 
location. When switching over to hid-multitouch I was unable to reproduce this 
behavior. This definitely could be the source of the jumps.


The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

Regards,
Cameron

---
diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..1291d9a 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
-   return -EINVAL;
+   dev_info(>fn->dev, "%s: Unsupported bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
+   return -ENODEV;
}
  
  	memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));





Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Andrew Duggan

On 03/14/2017 01:14 AM, Thorsten Leemhuis wrote:

Lo! On 14.03.2017 06:10, Cameron Gutman wrote:

On 03/13/2017 06:35 PM, Andrew Duggan wrote:

On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. […]

Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

One of my test systems is a XPS 13 9343 and I have not really
seen any jumpiness. But, based on the data I am seeing that if I
lift my finger and place it again in a short period of time the
first event or so will be at the location of the previous
contact. Then it will switch over to the current location. When
switching over to hid-multitouch I was unable to reproduce this
behavior. This definitely could be the source of the jumps.

The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

@Andrew: Is there anything we can do to help track this down? A
evemu-record of some movements or something like that? Or do we need to
bring Peter into the loop in case it has something to do with libinput?


Yes, collecting some evemu-record logs of the jumps would be useful. 
Only after installing Fedora 25 was I able to see jumps while moving 
diagonally. I'm interested in seeing what others record and if it is the 
same as what I saw. The log of the jump did show the jump on Fedora 25. 
But, I did not see the jump with Ubuntu 16.10 with libinput 1.4.3.


Andrew


Ciao, Thorsten





Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Nick Dyer
On Mon, Mar 13, 2017 at 10:10:22PM -0700, Cameron Gutman wrote:
> > Compared to hid-multitouch, the RMI stack seems to have
> > completely broken palm rejection and introduced some random
> > jumpiness during fine pointing motions. I don't know if these
> > issues are caused by the above errors or are a separate issue.
> > 
> > The error about the bootloader version not being recognized just
> > means that updating the firmware is not supported on this touchpad.
> > It is only the F34 firmware update functionality which is failing to
> > load. The palm rejection and jumps are not related to this error.
> > 
> 
> Maybe that code path should be changed to not make as much noise when
> it runs on known unsupported hardware. Something like the attached
> patch?

> ---
> diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
> index 56c6c39..1291d9a 100644
> --- a/drivers/input/rmi4/rmi_f34v7.c
> +++ b/drivers/input/rmi4/rmi_f34v7.c
> @@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
>   } else if (f34->bootloader_id[1] == 7) {
>   f34->bl_version = 7;
>   } else {
> - dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
> - __func__);
> - return -EINVAL;
> + dev_info(>fn->dev, "%s: Unsupported bootloader version: 
> %u\n",
> + __func__, f34->bootloader_id[1]);
> + return -ENODEV;
>   }
>  
>   memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));

I'm afraid I'm responsible for this. I agree it's very unlikely to be
related to your other issues.

One approach to suppress the extra output would be to turn off
CONFIG_RMI_F34. I think your proposed change in wording would be fine,
though.

cheers

Nick


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Nick Dyer
On Mon, Mar 13, 2017 at 10:10:22PM -0700, Cameron Gutman wrote:
> > Compared to hid-multitouch, the RMI stack seems to have
> > completely broken palm rejection and introduced some random
> > jumpiness during fine pointing motions. I don't know if these
> > issues are caused by the above errors or are a separate issue.
> > 
> > The error about the bootloader version not being recognized just
> > means that updating the firmware is not supported on this touchpad.
> > It is only the F34 firmware update functionality which is failing to
> > load. The palm rejection and jumps are not related to this error.
> > 
> 
> Maybe that code path should be changed to not make as much noise when
> it runs on known unsupported hardware. Something like the attached
> patch?

> ---
> diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
> index 56c6c39..1291d9a 100644
> --- a/drivers/input/rmi4/rmi_f34v7.c
> +++ b/drivers/input/rmi4/rmi_f34v7.c
> @@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
>   } else if (f34->bootloader_id[1] == 7) {
>   f34->bl_version = 7;
>   } else {
> - dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
> - __func__);
> - return -EINVAL;
> + dev_info(>fn->dev, "%s: Unsupported bootloader version: 
> %u\n",
> + __func__, f34->bootloader_id[1]);
> + return -ENODEV;
>   }
>  
>   memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));

I'm afraid I'm responsible for this. I agree it's very unlikely to be
related to your other issues.

One approach to suppress the extra output would be to turn off
CONFIG_RMI_F34. I think your proposed change in wording would be fine,
though.

cheers

Nick


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Thorsten Leemhuis
Lo! On 14.03.2017 06:10, Cameron Gutman wrote:
> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
 On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>> […]
>> Compared to hid-multitouch, the RMI stack seems to have completely broken
>> palm rejection and introduced some random jumpiness during fine pointing
>> motions. […]
> Just to confirm: I noticed "jumpiness during fine pointing motions" as
> well since switching to 4.11-rc.
>>> One of my test systems is a XPS 13 9343 and I have not really
>>> seen any jumpiness. But, based on the data I am seeing that if I
>>> lift my finger and place it again in a short period of time the
>>> first event or so will be at the location of the previous
>>> contact. Then it will switch over to the current location. When
>>> switching over to hid-multitouch I was unable to reproduce this
>>> behavior. This definitely could be the source of the jumps.
> The jumpiness definitely happens without lifting my finger, but I'm willing
> to test any patch you think would improve the situation. Moving one finger
> slowly in a figure-8 across my touchpad shows the issue clearly for me. The
> small variations in speed of my finger due to the friction on the trackpad
> get magnified to relatively large jumpy pointer movements on screen. It
> seems much more noticeable in diagonal movements than completely vertical
> or horizontal movements. 

@Andrew: Is there anything we can do to help track this down? A
evemu-record of some movements or something like that? Or do we need to
bring Peter into the loop in case it has something to do with libinput?

Ciao, Thorsten


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-14 Thread Thorsten Leemhuis
Lo! On 14.03.2017 06:10, Cameron Gutman wrote:
> On 03/13/2017 06:35 PM, Andrew Duggan wrote:
>> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
 On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>> […]
>> Compared to hid-multitouch, the RMI stack seems to have completely broken
>> palm rejection and introduced some random jumpiness during fine pointing
>> motions. […]
> Just to confirm: I noticed "jumpiness during fine pointing motions" as
> well since switching to 4.11-rc.
>>> One of my test systems is a XPS 13 9343 and I have not really
>>> seen any jumpiness. But, based on the data I am seeing that if I
>>> lift my finger and place it again in a short period of time the
>>> first event or so will be at the location of the previous
>>> contact. Then it will switch over to the current location. When
>>> switching over to hid-multitouch I was unable to reproduce this
>>> behavior. This definitely could be the source of the jumps.
> The jumpiness definitely happens without lifting my finger, but I'm willing
> to test any patch you think would improve the situation. Moving one finger
> slowly in a figure-8 across my touchpad shows the issue clearly for me. The
> small variations in speed of my finger due to the friction on the trackpad
> get magnified to relatively large jumpy pointer movements on screen. It
> seems much more noticeable in diagonal movements than completely vertical
> or horizontal movements. 

@Andrew: Is there anything we can do to help track this down? A
evemu-record of some movements or something like that? Or do we need to
bring Peter into the loop in case it has something to do with libinput?

Ciao, Thorsten


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Cameron Gutman


On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> 
> 
> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>> [Resending, forgot to add Jiri in CC]
>>
>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
>>> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
 Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> Synaptics touchpad and dropping some errors into dmesg. Here are the
> messages that seem RMI-related:
>
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, 
> product: TM3038-001, fw id: 1832324
> input: Synaptics TM3038-001 as 
> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse 
> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
 FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

 input: SynPS/2 Synaptics TouchPad as
 /devices/platform/i8042/serio1/input/input6
 rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
 rmi4_f34: probe of rmi4-00.fn34 failed with error -22
 rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
 product: TM3038-003, fw id: 2375007
 input: Synaptics TM3038-003 as
 /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
 hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
 [DLL075B:01 06CB:76AF] on i2c-DLL075B:01

> […]
> Compared to hid-multitouch, the RMI stack seems to have completely broken
> palm rejection and introduced some random jumpiness during fine pointing
> motions. I don't know if these issues are caused by the above errors or
> are a separate issue.
> 
> The error about the bootloader version not being recognized just means that 
> updating the firmware is not supported on this touchpad. It is only the F34 
> firmware update functionality which is failing to load. The palm rejection 
> and jumps are not related to this error.
> 

Maybe that code path should be changed to not make as much noise when it runs
on known unsupported hardware. Something like the attached patch?

> Looking at how hid-multitouch handles palms it looks like palms should not be 
> reported as active when calling input_mt_report_slot_state(). I'm setting the 
> tool type to MT_TOOL_PALM when the firmware determines that a contact is a 
> palm. But, that does not seem to be sufficient enough to have the palms 
> filtered out. After some quick testing it looks like the change below will 
> restore palm rejection similar to that provided by hid-multitouch.
> 

It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 

 Just to confirm: I noticed "jumpiness during fine pointing motions" as
 well since switching to 4.11-rc.
> 
> One of my test systems is a XPS 13 9343 and I have not really seen any 
> jumpiness. But, based on the data I am seeing that if I lift my finger and 
> place it again in a short period of time the first event or so will be at the 
> location of the previous contact. Then it will switch over to the current 
> location. When switching over to hid-multitouch I was unable to reproduce 
> this behavior. This definitely could be the source of the jumps.
> 

The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

Regards,
Cameron

---
diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..1291d9a 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
-   return -EINVAL;
+   dev_info(>fn->dev, "%s: Unsupported bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
+   return -ENODEV;
}
 
memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Cameron Gutman


On 03/13/2017 06:35 PM, Andrew Duggan wrote:
> 
> 
> On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:
>> [Resending, forgot to add Jiri in CC]
>>
>> On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
>>> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
 Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> Synaptics touchpad and dropping some errors into dmesg. Here are the
> messages that seem RMI-related:
>
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, 
> product: TM3038-001, fw id: 1832324
> input: Synaptics TM3038-001 as 
> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse 
> [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
 FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

 input: SynPS/2 Synaptics TouchPad as
 /devices/platform/i8042/serio1/input/input6
 rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
 rmi4_f34: probe of rmi4-00.fn34 failed with error -22
 rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
 product: TM3038-003, fw id: 2375007
 input: Synaptics TM3038-003 as
 /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
 hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
 [DLL075B:01 06CB:76AF] on i2c-DLL075B:01

> […]
> Compared to hid-multitouch, the RMI stack seems to have completely broken
> palm rejection and introduced some random jumpiness during fine pointing
> motions. I don't know if these issues are caused by the above errors or
> are a separate issue.
> 
> The error about the bootloader version not being recognized just means that 
> updating the firmware is not supported on this touchpad. It is only the F34 
> firmware update functionality which is failing to load. The palm rejection 
> and jumps are not related to this error.
> 

Maybe that code path should be changed to not make as much noise when it runs
on known unsupported hardware. Something like the attached patch?

> Looking at how hid-multitouch handles palms it looks like palms should not be 
> reported as active when calling input_mt_report_slot_state(). I'm setting the 
> tool type to MT_TOOL_PALM when the firmware determines that a contact is a 
> palm. But, that does not seem to be sufficient enough to have the palms 
> filtered out. After some quick testing it looks like the change below will 
> restore palm rejection similar to that provided by hid-multitouch.
> 

It looks like your email client ate the tabs, but if I apply the change
myself it seems to fix the palm rejection regression for me.

Tested-by: Cameron Gutman 

 Just to confirm: I noticed "jumpiness during fine pointing motions" as
 well since switching to 4.11-rc.
> 
> One of my test systems is a XPS 13 9343 and I have not really seen any 
> jumpiness. But, based on the data I am seeing that if I lift my finger and 
> place it again in a short period of time the first event or so will be at the 
> location of the previous contact. Then it will switch over to the current 
> location. When switching over to hid-multitouch I was unable to reproduce 
> this behavior. This definitely could be the source of the jumps.
> 

The jumpiness definitely happens without lifting my finger, but I'm willing
to test any patch you think would improve the situation. Moving one finger
slowly in a figure-8 across my touchpad shows the issue clearly for me. The
small variations in speed of my finger due to the friction on the trackpad
get magnified to relatively large jumpy pointer movements on screen. It
seems much more noticeable in diagonal movements than completely vertical
or horizontal movements.

Regards,
Cameron

---
diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..1291d9a 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,9 +1369,9 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
-   return -EINVAL;
+   dev_info(>fn->dev, "%s: Unsupported bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
+   return -ENODEV;
}
 
memset(>v7.blkcount, 0x00, sizeof(f34->v7.blkcount));


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Andrew Duggan



On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.


The error about the bootloader version not being recognized just means 
that updating the firmware is not supported on this touchpad. It is only 
the F34 firmware update functionality which is failing to load. The palm 
rejection and jumps are not related to this error.


Looking at how hid-multitouch handles palms it looks like palms should 
not be reported as active when calling input_mt_report_slot_state(). I'm 
setting the tool type to MT_TOOL_PALM when the firmware determines that 
a contact is a palm. But, that does not seem to be sufficient enough to 
have the palms filtered out. After some quick testing it looks like the 
change below will restore palm rejection similar to that provided by 
hid-multitouch.



Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.


One of my test systems is a XPS 13 9343 and I have not really seen any 
jumpiness. But, based on the data I am seeing that if I lift my finger 
and place it again in a short period of time the first event or so will 
be at the location of the previous contact. Then it will switch over to 
the current location. When switching over to hid-multitouch I was unable 
to reproduce this behavior. This definitely could be the source of the 
jumps.



Thanks both of you for the reports.
Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
best move. Could we add a module parameter somewhere to force switching
back to hid-multitouch? (Or the other way around more likely).

We might need to have users testing rmi4-core and report libinput bugs,
but introducing such regressions for everybody is IMO not the right way.


If we added a module parameter it seems like we would need to add it to 
hid-core since that is where the decision on which driver to bind to is 
made. I'm a little hesitant to apply a hopefully temporary and very 
specific parameter to hid-core. I also think it probably depends on if 
these issues end up being quick bugfixes in the RMI driver or if fixes 
are needed in libinput. Worst case, we just revert the commit 
279967a65b32 (HID: rmi: Handle all Synaptics touchpads using hid-rmi) 
and have PTP touchpads go back to hid-multitouch.c until things are 
sorted out.



Note that I do not see any differences besides bug fixes when switching
from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
capable firmware does some more filtering (the Lenovos are not using HID
for the touchpads).


The touchpads which work with hid-multitouch typically use a newer 
generation chip which report 2D using F12 instead of F11. SMBus 
touchpads generally use F11. This is the first wide ranging test of the 
F12 implementation for touchpads. Another recent change is the storing 
of HID attention reports in the FIFO queue. If somehow an old report in 
the FIFO is being sent as the initial event with the coordinates from 
the previous contact. But, I did not see anything after a quick look at 
the FIFO code. I'll test on a non PTP HID / I2C touchpad to try to 
narrow down if t he issue is in HID or F12.


Finally, the problem could be in the firmware. But, I have been told 
that the data sent through the PTP collection is identical to the data 
reported in the RMI 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Andrew Duggan



On 03/13/2017 06:15 AM, Benjamin Tissoires wrote:

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:

On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:

Lo! On 12.03.2017 02:55, Cameron Gutman wrote:

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01


[…]
Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.


The error about the bootloader version not being recognized just means 
that updating the firmware is not supported on this touchpad. It is only 
the F34 firmware update functionality which is failing to load. The palm 
rejection and jumps are not related to this error.


Looking at how hid-multitouch handles palms it looks like palms should 
not be reported as active when calling input_mt_report_slot_state(). I'm 
setting the tool type to MT_TOOL_PALM when the firmware determines that 
a contact is a palm. But, that does not seem to be sufficient enough to 
have the palms filtered out. After some quick testing it looks like the 
change below will restore palm rejection similar to that provided by 
hid-multitouch.



Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.


One of my test systems is a XPS 13 9343 and I have not really seen any 
jumpiness. But, based on the data I am seeing that if I lift my finger 
and place it again in a short period of time the first event or so will 
be at the location of the previous contact. Then it will switch over to 
the current location. When switching over to hid-multitouch I was unable 
to reproduce this behavior. This definitely could be the source of the 
jumps.



Thanks both of you for the reports.
Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
best move. Could we add a module parameter somewhere to force switching
back to hid-multitouch? (Or the other way around more likely).

We might need to have users testing rmi4-core and report libinput bugs,
but introducing such regressions for everybody is IMO not the right way.


If we added a module parameter it seems like we would need to add it to 
hid-core since that is where the decision on which driver to bind to is 
made. I'm a little hesitant to apply a hopefully temporary and very 
specific parameter to hid-core. I also think it probably depends on if 
these issues end up being quick bugfixes in the RMI driver or if fixes 
are needed in libinput. Worst case, we just revert the commit 
279967a65b32 (HID: rmi: Handle all Synaptics touchpads using hid-rmi) 
and have PTP touchpads go back to hid-multitouch.c until things are 
sorted out.



Note that I do not see any differences besides bug fixes when switching
from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
capable firmware does some more filtering (the Lenovos are not using HID
for the touchpads).


The touchpads which work with hid-multitouch typically use a newer 
generation chip which report 2D using F12 instead of F11. SMBus 
touchpads generally use F11. This is the first wide ranging test of the 
F12 implementation for touchpads. Another recent change is the storing 
of HID attention reports in the FIFO queue. If somehow an old report in 
the FIFO is being sent as the initial event with the coordinates from 
the previous contact. But, I did not see anything after a quick look at 
the FIFO code. I'll test on a non PTP HID / I2C touchpad to try to 
narrow down if t he issue is in HID or F12.


Finally, the problem could be in the firmware. But, I have been told 
that the data sent through the PTP collection is identical to the data 
reported in the RMI 

Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Benjamin Tissoires

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > >
> > > Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> > > Synaptics touchpad and dropping some errors into dmesg. Here are the
> > > messages that seem RMI-related:
> > > 
> > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, 
> > > product: TM3038-001, fw id: 1832324
> > > input: Synaptics TM3038-001 as 
> > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse 
> > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > 
> > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > 
> > input: SynPS/2 Synaptics TouchPad as
> > /devices/platform/i8042/serio1/input/input6
> > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> > product: TM3038-003, fw id: 2375007
> > input: Synaptics TM3038-003 as
> > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > 
> > > […] 
> > > Compared to hid-multitouch, the RMI stack seems to have completely broken
> > > palm rejection and introduced some random jumpiness during fine pointing
> > > motions. I don't know if these issues are caused by the above errors or
> > > are a separate issue.
> > 
> > Just to confirm: I noticed "jumpiness during fine pointing motions" as
> > well since switching to 4.11-rc.
> 
> Thanks both of you for the reports.
> Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
> best move. Could we add a module parameter somewhere to force switching
> back to hid-multitouch? (Or the other way around more likely).
> 
> We might need to have users testing rmi4-core and report libinput bugs,
> but introducing such regressions for everybody is IMO not the right way.
> 
> Note that I do not see any differences besides bug fixes when switching
> from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
> capable firmware does some more filtering (the Lenovos are not using HID
> for the touchpads).
> 
> > 
> > @benjamin: Just wondering: Could that have something to do with the
> > ps2->rmi handover? I noticed that patches to improve things in this area
> > are still circulating, which lead me to wonder if that might have
> > anything to do with this. But it's just a wild guess.
> 
> This has nothing to do. ps2->rmi is not used at all by hid-rmi as the
> enumeration is done in the ACPI. The series you are mentioning are for
> touchpads that do not enumerate. Once enumerated (either through PS/2 or
> HID), the code should be the same.
> 
> Cheers,
> Benjamin
> 
> > 
> > > The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> > > and libinput 1.6.3-3.fc25 (latest in F25).
> > 
> > Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
> > mode.
> > 
> > Ciao, Thorsten
> > 
> > P.S.: I fixed the model number in above quotes from Cameron to avoid
> > confusion (he has a 9343, and not a 9443, as initially stated; see a
> > different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Benjamin Tissoires

[Resending, forgot to add Jiri in CC]

On Mar 13 2017 or thereabouts, Benjamin Tissoires wrote:
> On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> > Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> > >
> > > Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> > > Synaptics touchpad and dropping some errors into dmesg. Here are the
> > > messages that seem RMI-related:
> > > 
> > > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, 
> > > product: TM3038-001, fw id: 1832324
> > > input: Synaptics TM3038-001 as 
> > > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse 
> > > [DLL0665:01 06CB:76AD] on i2c-DLL0665:01
> > 
> > FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> > 
> > input: SynPS/2 Synaptics TouchPad as
> > /devices/platform/i8042/serio1/input/input6
> > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> > product: TM3038-003, fw id: 2375007
> > input: Synaptics TM3038-003 as
> > /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> > hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> > [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> > 
> > > […] 
> > > Compared to hid-multitouch, the RMI stack seems to have completely broken
> > > palm rejection and introduced some random jumpiness during fine pointing
> > > motions. I don't know if these issues are caused by the above errors or
> > > are a separate issue.
> > 
> > Just to confirm: I noticed "jumpiness during fine pointing motions" as
> > well since switching to 4.11-rc.
> 
> Thanks both of you for the reports.
> Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
> best move. Could we add a module parameter somewhere to force switching
> back to hid-multitouch? (Or the other way around more likely).
> 
> We might need to have users testing rmi4-core and report libinput bugs,
> but introducing such regressions for everybody is IMO not the right way.
> 
> Note that I do not see any differences besides bug fixes when switching
> from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
> capable firmware does some more filtering (the Lenovos are not using HID
> for the touchpads).
> 
> > 
> > @benjamin: Just wondering: Could that have something to do with the
> > ps2->rmi handover? I noticed that patches to improve things in this area
> > are still circulating, which lead me to wonder if that might have
> > anything to do with this. But it's just a wild guess.
> 
> This has nothing to do. ps2->rmi is not used at all by hid-rmi as the
> enumeration is done in the ACPI. The series you are mentioning are for
> touchpads that do not enumerate. Once enumerated (either through PS/2 or
> HID), the code should be the same.
> 
> Cheers,
> Benjamin
> 
> > 
> > > The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> > > and libinput 1.6.3-3.fc25 (latest in F25).
> > 
> > Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
> > mode.
> > 
> > Ciao, Thorsten
> > 
> > P.S.: I fixed the model number in above quotes from Cameron to avoid
> > confusion (he has a 9343, and not a 9443, as initially stated; see a
> > different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Benjamin Tissoires
On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> >
> > Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> > Synaptics touchpad and dropping some errors into dmesg. Here are the
> > messages that seem RMI-related:
> > 
> > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
> > TM3038-001, fw id: 1832324
> > input: Synaptics TM3038-001 as 
> > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
> > 06CB:76AD] on i2c-DLL0665:01
> 
> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> 
> input: SynPS/2 Synaptics TouchPad as
> /devices/platform/i8042/serio1/input/input6
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> product: TM3038-003, fw id: 2375007
> input: Synaptics TM3038-003 as
> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> 
> > […] 
> > Compared to hid-multitouch, the RMI stack seems to have completely broken
> > palm rejection and introduced some random jumpiness during fine pointing
> > motions. I don't know if these issues are caused by the above errors or
> > are a separate issue.
> 
> Just to confirm: I noticed "jumpiness during fine pointing motions" as
> well since switching to 4.11-rc.

Thanks both of you for the reports.
Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
best move. Could we add a module parameter somewhere to force switching
back to hid-multitouch? (Or the other way around more likely).

We might need to have users testing rmi4-core and report libinput bugs,
but introducing such regressions for everybody is IMO not the right way.

Note that I do not see any differences besides bug fixes when switching
from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
capable firmware does some more filtering (the Lenovos are not using HID
for the touchpads).

> 
> @benjamin: Just wondering: Could that have something to do with the
> ps2->rmi handover? I noticed that patches to improve things in this area
> are still circulating, which lead me to wonder if that might have
> anything to do with this. But it's just a wild guess.

This has nothing to do. ps2->rmi is not used at all by hid-rmi as the
enumeration is done in the ACPI. The series you are mentioning are for
touchpads that do not enumerate. Once enumerated (either through PS/2 or
HID), the code should be the same.

Cheers,
Benjamin

> 
> > The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> > and libinput 1.6.3-3.fc25 (latest in F25).
> 
> Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
> mode.
> 
> Ciao, Thorsten
> 
> P.S.: I fixed the model number in above quotes from Cameron to avoid
> confusion (he has a 9343, and not a 9443, as initially stated; see a
> different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Benjamin Tissoires
On Mar 13 2017 or thereabouts, Thorsten Leemhuis wrote:
> Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
> >
> > Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> > Synaptics touchpad and dropping some errors into dmesg. Here are the
> > messages that seem RMI-related:
> > 
> > rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> > rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> > rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
> > TM3038-001, fw id: 1832324
> > input: Synaptics TM3038-001 as 
> > /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> > hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
> > 06CB:76AD] on i2c-DLL0665:01
> 
> FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:
> 
> input: SynPS/2 Synaptics TouchPad as
> /devices/platform/i8042/serio1/input/input6
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
> product: TM3038-003, fw id: 2375007
> input: Synaptics TM3038-003 as
> /devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
> hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
> [DLL075B:01 06CB:76AF] on i2c-DLL075B:01
> 
> > […] 
> > Compared to hid-multitouch, the RMI stack seems to have completely broken
> > palm rejection and introduced some random jumpiness during fine pointing
> > motions. I don't know if these issues are caused by the above errors or
> > are a separate issue.
> 
> Just to confirm: I noticed "jumpiness during fine pointing motions" as
> well since switching to 4.11-rc.

Thanks both of you for the reports.
Andrew, Jiri, I think switching everybody to rmi4-core was maybe not the
best move. Could we add a module parameter somewhere to force switching
back to hid-multitouch? (Or the other way around more likely).

We might need to have users testing rmi4-core and report libinput bugs,
but introducing such regressions for everybody is IMO not the right way.

Note that I do not see any differences besides bug fixes when switching
from PS/2 to RMI4-core on my Lenovo T450s, so maybe the hid-multitouch
capable firmware does some more filtering (the Lenovos are not using HID
for the touchpads).

> 
> @benjamin: Just wondering: Could that have something to do with the
> ps2->rmi handover? I noticed that patches to improve things in this area
> are still circulating, which lead me to wonder if that might have
> anything to do with this. But it's just a wild guess.

This has nothing to do. ps2->rmi is not used at all by hid-rmi as the
enumeration is done in the ACPI. The series you are mentioning are for
touchpads that do not enumerate. Once enumerated (either through PS/2 or
HID), the code should be the same.

Cheers,
Benjamin

> 
> > The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> > and libinput 1.6.3-3.fc25 (latest in F25).
> 
> Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
> mode.
> 
> Ciao, Thorsten
> 
> P.S.: I fixed the model number in above quotes from Cameron to avoid
> confusion (he has a 9343, and not a 9443, as initially stated; see a
> different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Thorsten Leemhuis
Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>
> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> Synaptics touchpad and dropping some errors into dmesg. Here are the
> messages that seem RMI-related:
> 
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
> TM3038-001, fw id: 1832324
> input: Synaptics TM3038-001 as 
> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
> 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01

> […] 
> Compared to hid-multitouch, the RMI stack seems to have completely broken
> palm rejection and introduced some random jumpiness during fine pointing
> motions. I don't know if these issues are caused by the above errors or
> are a separate issue.

Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

@benjamin: Just wondering: Could that have something to do with the
ps2->rmi handover? I noticed that patches to improve things in this area
are still circulating, which lead me to wonder if that might have
anything to do with this. But it's just a wild guess.

> The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> and libinput 1.6.3-3.fc25 (latest in F25).

Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
mode.

Ciao, Thorsten

P.S.: I fixed the model number in above quotes from Cameron to avoid
confusion (he has a 9343, and not a 9443, as initially stated; see a
different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-13 Thread Thorsten Leemhuis
Lo! On 12.03.2017 02:55, Cameron Gutman wrote:
>
> Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9343's
> Synaptics touchpad and dropping some errors into dmesg. Here are the
> messages that seem RMI-related:
> 
> rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
> rmi4_f34: probe of rmi4-00.fn34 failed with error -22
> rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
> TM3038-001, fw id: 1832324
> input: Synaptics TM3038-001 as 
> /devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
> hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
> 06CB:76AD] on i2c-DLL0665:01

FWIW, I get this on my XPS 13 DE (9360) with 4.11-rc1:

input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input6
rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics,
product: TM3038-003, fw id: 2375007
input: Synaptics TM3038-003 as
/devices/pci:00/:00:15.1/i2c_designware.1/i2c-8/i2c-DLL075B:01/0018:06CB:76AF.0001/input/input20
hid-rmi 0018:06CB:76AF.0001: input,hidraw0: I2C HID v1.00 Mouse
[DLL075B:01 06CB:76AF] on i2c-DLL075B:01

> […] 
> Compared to hid-multitouch, the RMI stack seems to have completely broken
> palm rejection and introduced some random jumpiness during fine pointing
> motions. I don't know if these issues are caused by the above errors or
> are a separate issue.

Just to confirm: I noticed "jumpiness during fine pointing motions" as
well since switching to 4.11-rc.

@benjamin: Just wondering: Could that have something to do with the
ps2->rmi handover? I noticed that patches to improve things in this area
are still circulating, which lead me to wonder if that might have
anything to do with this. But it's just a wild guess.

> The affected machine is an XPS 13 9343 running Fedora 25 with 4.11-rc1 
> and libinput 1.6.3-3.fc25 (latest in F25).

Same setup here. In case it matters: I'm running Gnome-Shell in Wayland
mode.

Ciao, Thorsten

P.S.: I fixed the model number in above quotes from Cameron to avoid
confusion (he has a 9343, and not a 9443, as initially stated; see a
different mail in this thread for details)


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-11 Thread Cameron Gutman
On 03/11/2017 05:55 PM, Cameron Gutman wrote:
> 
> The affected machine is an XPS 13 9443 running Fedora 25 with 4.11-rc1 
> and libinput 1.6.3-3.fc25 (latest in F25).
> 

Oops, that's 9343, not 9443.

DMI: Dell Inc. XPS 13 9343/0TM99H, BIOS A11 12/08/2016


Re: Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-11 Thread Cameron Gutman
On 03/11/2017 05:55 PM, Cameron Gutman wrote:
> 
> The affected machine is an XPS 13 9443 running Fedora 25 with 4.11-rc1 
> and libinput 1.6.3-3.fc25 (latest in F25).
> 

Oops, that's 9343, not 9443.

DMI: Dell Inc. XPS 13 9343/0TM99H, BIOS A11 12/08/2016


Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-11 Thread Cameron Gutman
Hi,

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9443's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

Since "Unrecognized bootloader version" isn't a really helpful message, I
applied the attached patch to print the bootloader version which gave
me the following:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version: 16

I don't really know what to make of that. It seem very different than the
values the existing code expects.


Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.

The affected machine is an XPS 13 9443 running Fedora 25 with 4.11-rc1 
and libinput 1.6.3-3.fc25 (latest in F25).

Let me know any additional info you'd like.

Regards,
Cameron


diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..b458cb3 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,8 +1369,8 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
+   dev_err(>fn->dev, "%s: Unrecognized bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
return -EINVAL;
}


Synaptics RMI4 touchpad regression in 4.11-rc1

2017-03-11 Thread Cameron Gutman
Hi,

Beginning in 4.11-rc1, it looks like RMI4 is binding to my XPS 13 9443's
Synaptics touchpad and dropping some errors into dmesg. Here are the
messages that seem RMI-related:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
rmi4_f34: probe of rmi4-00.fn34 failed with error -22
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: 
TM3038-001, fw id: 1832324
input: Synaptics TM3038-001 as 
/devices/pci:00/INT3433:00/i2c-7/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input19
hid-rmi 0018:06CB:76AD.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL0665:01 
06CB:76AD] on i2c-DLL0665:01

Since "Unrecognized bootloader version" isn't a really helpful message, I
applied the attached patch to print the bootloader version which gave
me the following:

rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version: 16

I don't really know what to make of that. It seem very different than the
values the existing code expects.


Compared to hid-multitouch, the RMI stack seems to have completely broken
palm rejection and introduced some random jumpiness during fine pointing
motions. I don't know if these issues are caused by the above errors or
are a separate issue.

The affected machine is an XPS 13 9443 running Fedora 25 with 4.11-rc1 
and libinput 1.6.3-3.fc25 (latest in F25).

Let me know any additional info you'd like.

Regards,
Cameron


diff --git a/drivers/input/rmi4/rmi_f34v7.c b/drivers/input/rmi4/rmi_f34v7.c
index 56c6c39..b458cb3 100644
--- a/drivers/input/rmi4/rmi_f34v7.c
+++ b/drivers/input/rmi4/rmi_f34v7.c
@@ -1369,8 +1369,8 @@ int rmi_f34v7_probe(struct f34_data *f34)
} else if (f34->bootloader_id[1] == 7) {
f34->bl_version = 7;
} else {
-   dev_err(>fn->dev, "%s: Unrecognized bootloader version\n",
-   __func__);
+   dev_err(>fn->dev, "%s: Unrecognized bootloader version: 
%u\n",
+   __func__, f34->bootloader_id[1]);
return -EINVAL;
}