Linux 6.1 Demotes Logitech Bluetooth HID++ Over Lingering Problems

Written by Michael Larabel in Linux Kernel on 8 December 2022 at 05:00 PM EST. Add A Comment
LINUX KERNEL
One of the new Linux 6.1 features was set to be enabling HID++ support for all Logitech Bluetooth devices by default rather than the current enabling it on a per-device basis. But this change turned out to be too opportunistic and now days ahead of the Linux 6.1 stable debut has been reverted.

HID++ is the Logitech protocol built atop HID and used by most Logitech keyboards/mice going back years. HID++ offers more functionality than the standard HID protocol like supporting onboard profiles, force feedback, RGB effects, high resolution scrolling, reprogrammable controls, and more. The hope was to enable HID++ by default for all Logitech Bluetooth devices, and that's what happened back during the Linux 6.1 merge window and in the two months since that change was merged.

But today that change has been backed out since for a subset of users with Logitech mice, it turns out Linux 6.1 would have left them with a non-working mouse.


When it came to the blanket-enabling of HID++ for Logitech Bluetooth devices, the thinking/hope was that if the device didn't support HID++ it would then fallback to the plain HID driver. But in practice that isn't working out as planned, leading to this last-minute change backing out the feature from Linux 6.1.

A HID regression fix pull request was issued today that noted, "regression fix (revert) for catch-all handling of Logitech HID++ Bluetooth devices; there are devices that turn out not to work with this, and the root cause is yet to be properly understood. So we are dropping it for now, and it will be revisited for 6.2 or 6.3"

The pull was already merged and with the revert it elaborates on the problem:
hid-logitech-hidpp now binds on all bluetooth mice, but there are corner cases where hid-logitech-hidpp just gives up on the mouse. This leads the end user with a dead mouse.

Given that we are at -rc8, we are definitively too late to find a proper fix. We already identified 2 issues less than 24 hours after the bug report. One in that ->match() was never designed to be used anywhere else than in hid-generic, and the other that hid-logitech-hidpp has corner cases where it gives up on devices it is not supposed to.

So we have no choice but postpone this patch to the next kernel release.

The change will hopefully be re-attempted for Linux 6.2 but could get pushed back to 6.3 depending upon how testing goes and coming up with an adequate solution.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week