Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

6 messages, 4 authors, 2023-02-16 · open the first message on its own page

Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Tobias Klausmann <hidden>
Date: 2023-01-25 22:02:10

Hi!

As it says in the subject.

At some point between 6.0 and 6.1, the kernel (if HID_LOGITECH_HIDPP was
m or y) started reporting a full event for every hires event on a
Logitech G903. 

In my quest of finding out what the root cause is, ive filed these bugs:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029584
https://gitlab.freedesktop.org/libinput/libinput/-/issues/852

The libinput one has the most detail. The most relevant one is this log
from libinput record, showing what happens if I turn the mousewheel by
one notch:

    events:
    # Current time is 20:37:11
    - evdev:
      - [  3,  63476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3,  63476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3,  63476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +3063ms
    - evdev:
      - [  3, 139476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 139476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 139476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +76ms
    - evdev:
      - [  3, 197482,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 197482,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 197482,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +58ms
    - evdev:
      - [  3, 227485,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 227485,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 227485,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +30ms
    - evdev:
      - [  3, 240484,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 240484,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 240484,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +13ms
    - evdev:
      - [  3, 250470,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 250470,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 250470,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +10ms
    - evdev:
      - [  3, 256486,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 256486,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 256486,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +6ms
    - evdev:
      - [  3, 264472,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 264472,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 264472,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +8ms
    # Current time is 20:37:15

Note how it reports both REL_WHEEL and REL_WHEEL_HI_RES at every
instance.

I've tried assorted kernels, both Debian as well as hand-compiled
vanilla ones, and the problem only shows up if hid_logitech_hidpp.ko is
loaded, so I am blacklisting it for now. Also note that even unloading
the module didn't fix the behavior, though that may be because X11 was
still runing and so libinput's state ight have been still mangled.

The most recent kernels I have tested with are 6.1.4 and 6.2-rc5.

Best,
Tobias


-- 
printk(KERN_ERR "BIGMAC: Would you like that for here or to go?\n");
	linux-2.6.19/drivers/net/sunbmac.c

Re: Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Salvatore Bonaccorso <hidden>
Date: 2023-01-28 15:40:05

On Wed, Jan 25, 2023 at 11:01:00PM +0100, Tobias Klausmann wrote:
Hi!

As it says in the subject.

At some point between 6.0 and 6.1, the kernel (if HID_LOGITECH_HIDPP was
m or y) started reporting a full event for every hires event on a
Logitech G903. 

In my quest of finding out what the root cause is, ive filed these bugs:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029584
https://gitlab.freedesktop.org/libinput/libinput/-/issues/852

The libinput one has the most detail. The most relevant one is this log
from libinput record, showing what happens if I turn the mousewheel by
one notch:

    events:
    # Current time is 20:37:11
    - evdev:
      - [  3,  63476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3,  63476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3,  63476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +3063ms
    - evdev:
      - [  3, 139476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 139476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 139476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +76ms
    - evdev:
      - [  3, 197482,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 197482,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 197482,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +58ms
    - evdev:
      - [  3, 227485,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 227485,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 227485,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +30ms
    - evdev:
      - [  3, 240484,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 240484,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 240484,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +13ms
    - evdev:
      - [  3, 250470,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 250470,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 250470,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +10ms
    - evdev:
      - [  3, 256486,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 256486,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 256486,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +6ms
    - evdev:
      - [  3, 264472,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 264472,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 264472,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +8ms
    # Current time is 20:37:15

Note how it reports both REL_WHEEL and REL_WHEEL_HI_RES at every
instance.

I've tried assorted kernels, both Debian as well as hand-compiled
vanilla ones, and the problem only shows up if hid_logitech_hidpp.ko is
loaded, so I am blacklisting it for now. Also note that even unloading
the module didn't fix the behavior, though that may be because X11 was
still runing and so libinput's state ight have been still mangled.

The most recent kernels I have tested with are 6.1.4 and 6.2-rc5.

Best,
Tobias
Let's loop in as well the regresssions list.

#regzbot introduced: v6.0..v6.1
#regzbot link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029584
#regzbot link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/852

Regards,
Salvatore

Re: Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Linux kernel regression tracking (Thorsten Leemhuis) <hidden>
Date: 2023-01-28 16:28:56


On 28.01.23 16:39, Salvatore Bonaccorso wrote:
On Wed, Jan 25, 2023 at 11:01:00PM +0100, Tobias Klausmann wrote:
quoted
Hi!

As it says in the subject.

At some point between 6.0 and 6.1, the kernel (if HID_LOGITECH_HIDPP was
m or y) started reporting a full event for every hires event on a
Logitech G903. 

In my quest of finding out what the root cause is, ive filed these bugs:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029584
https://gitlab.freedesktop.org/libinput/libinput/-/issues/852

The libinput one has the most detail. The most relevant one is this log
from libinput record, showing what happens if I turn the mousewheel by
one notch:

    events:
    # Current time is 20:37:11
    - evdev:
      - [  3,  63476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3,  63476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3,  63476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +3063ms
    - evdev:
      - [  3, 139476,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 139476,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 139476,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +76ms
    - evdev:
      - [  3, 197482,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 197482,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 197482,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +58ms
    - evdev:
      - [  3, 227485,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 227485,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 227485,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +30ms
    - evdev:
      - [  3, 240484,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 240484,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 240484,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +13ms
    - evdev:
      - [  3, 250470,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 250470,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 250470,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +10ms
    - evdev:
      - [  3, 256486,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 256486,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 256486,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +6ms
    - evdev:
      - [  3, 264472,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
      - [  3, 264472,   2,  11,    -120] # EV_REL / REL_WHEEL_HI_RES       -120
      - [  3, 264472,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +8ms
    # Current time is 20:37:15

Note how it reports both REL_WHEEL and REL_WHEEL_HI_RES at every
instance.

I've tried assorted kernels, both Debian as well as hand-compiled
vanilla ones, and the problem only shows up if hid_logitech_hidpp.ko is
loaded, so I am blacklisting it for now. Also note that even unloading
the module didn't fix the behavior, though that may be because X11 was
still runing and so libinput's state ight have been still mangled.

The most recent kernels I have tested with are 6.1.4 and 6.2-rc5.

Best,
Tobias
Let's loop in as well the regresssions list.
Thx for that.

TWIMC, I assume it's the same issue as this one:
https://bugzilla.kernel.org/show_bug.cgi?id=216885

There in the past few days was some discussion about the issue with the
author of the culprit there.

HTH, ciao, Thorsten (wearing his 'the Linux kernel's regression tracker'
hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.

Re: Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Tobias Klausmann <hidden>
Date: 2023-01-28 16:36:32

Hi! 

On Sat, 28 Jan 2023, Linux kernel regression tracking (Thorsten Leemhuis) wrote:
On 28.01.23 16:39, Salvatore Bonaccorso wrote:
quoted
Let's loop in as well the regresssions list.
Thx for that.

TWIMC, I assume it's the same issue as this one:
https://bugzilla.kernel.org/show_bug.cgi?id=216885
That is correct.

Best,
Tobias

Re: Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Bastien Nocera <hadess@hadess.net>
Date: 2023-02-02 12:21:42

Hey Tobias,

On Sat, 2023-01-28 at 17:36 +0100, Tobias Klausmann wrote:
Hi! 

On Sat, 28 Jan 2023, Linux kernel regression tracking (Thorsten
Leemhuis) wrote:
quoted
On 28.01.23 16:39, Salvatore Bonaccorso wrote:
quoted
Let's loop in as well the regresssions list.
Thx for that.

TWIMC, I assume it's the same issue as this one:
https://bugzilla.kernel.org/show_bug.cgi?id=216885
That is correct.
I've posted debug patches on the bugzilla:
https://bugzilla.kernel.org/show_bug.cgi?id=216885#c29

I'll post a patch to either fix the bug, or disable the functionality
on those devices as soon as I have enough information.

Cheers

Re: Linux 6.1 and 6.2-rc make mousewheel on Logitech G903 (046d:c091) report too many non-hires events

From: Linux regression tracking #update (Thorsten Leemhuis) <hidden>
Date: 2023-02-16 14:53:38

[TLDR: This mail in primarily relevant for Linux kernel regression
tracking. See link in footer if these mails annoy you.]

On 28.01.23 17:28, Linux kernel regression tracking (Thorsten Leemhuis)
wrote:
On 28.01.23 16:39, Salvatore Bonaccorso wrote:
quoted
On Wed, Jan 25, 2023 at 11:01:00PM +0100, Tobias Klausmann wrote:
quoted
Hi!

As it says in the subject.

At some point between 6.0 and 6.1, the kernel (if HID_LOGITECH_HIDPP was
m or y) started reporting a full event for every hires event on a
Logitech G903. 
Just noticed that regzbot missed noticing the fix for this thread:

#regzbot fix: 690eb7dec72ae52d
#regzbot ignore-activity

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.

#regzbot ignore-activity
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help