Re: hid-logitech-dj support for Anywhere 3SB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2024-04-13 at 10:52 +0200, Allan Sandfeld Jensen wrote:
> On Saturday 13 April 2024 10:33:29 CEST Filipe Laíns wrote:
> > On Sat, 2024-04-13 at 10:20 +0200, Allan Sandfeld Jensen wrote:
> > > On Friday 12 April 2024 21:53:31 CEST Filipe Laíns wrote:
> > > > On Fri, 2024-04-12 at 11:10 +0200, Allan Sandfeld Jensen wrote:
> > > > > Hello,
> > > > > 
> > > > > I am writing because you are listed as author of the hid-logitech-dj
> > > > > driver. I recently bought a Logitech Anywhere 3SB mouse, and found
> > > > > Linux
> > > > > didn't recognize it. Thinking it was a simple case of new IDs not
> > > > > recognized, I quickly added them to the logitch HID++ drivers (patch
> > > > > attached), both for USB with the new receiver and for the Bluetooth
> > > > > direct connection.
> > > > > 
> > > > > I have noticed however that the patch while causing them to be
> > > > > recognized
> > > > > and interacted with as HID++ devices, it has a flaw. The scroll wheel
> > > > > events are reported by the linux kernel as being in hires mode, while
> > > > > haven't actually enabled it on the mouse. You can fix that using
> > > > > Solaar,
> > > > > but some piece is missing to enable it correctly in the driver.  Since
> > > > > this is no longer a trivial fix. I wanted to reach out. Do you have
> > > > > any
> > > > > suggestions?
> > > > > 
> > > > > Best regards
> > > > > Allan
> > > > 
> > > > Hi Allan,
> > > > 
> > > > Thank you for reaching out.
> > > > 
> > > > What likely is happening here is Solaar overwriting the configuration
> > > > that
> > > > the kernel driver sets, as that would happen after the driver talks to
> > > > the
> > > > device.
> > > > 
> > > > The settings in question need support in both the kernel and the
> > > > userspace
> > > > input stack (libinput) for them to work appropriately, it's not like
> > > > configuring RGB or other sort setting on the device that works
> > > > standalone.
> > > 
> > > We already have the support in the kernel and libinput. That is why I am
> > > expanding it to recognize this new device id.(?)
> > 
> > Yes, that sounds right.
> > 
> > > > I have, multiple times now, asked for Solaar to not expose these low
> > > > level
> > > > settings that need support from other parts of the input stack, leaving
> > > > them to the kernel to configure.
> > > > I have been inactive in the Solaar project for quite some time now, so I
> > > > don't feel like yet again make a big deal out of this there, so that
> > > > this
> > > > decision is reconsidered. I have already spent a significant amount of
> > > > effort there, and nowadays I barely have energy to go through my day and
> > > > deal with my all my responsibilities and other OSS project involvements,
> > > > so
> > > > I sadly have no more energy to spare there.
> > > > 
> > > > My recommendation is: disable Solaar from running at startup, restart
> > > > the
> > > > system, and see if that solves your problem. If it does, report this
> > > > issue
> > > > again to the Solaar upstream, then depending on that outcome, make a
> > > > decision on how to proceed. It may be that setting the high-resolution
> > > > settings in Solaar, which are expected by the driver, works, but it
> > > > might
> > > > not be super reliable, because since Solaar is overwriting the settings
> > > > configured by the kernel driver, if anything in the kernel driver
> > > > changes,
> > > > then the setting you have configured in Solaar might no longer be
> > > > correct.
> > > > There are alternatives to Solaar that do not have this issue, like
> > > > libratbag, but these generally are feature lacking on the productivity
> > > > line
> > > > of Logitech projects.
> > > > 
> > > > Sorry I wasn't able to help much, but I hope that this clarifies things
> > > > a
> > > > bit, and helps you solve your problem.
> > > 
> > > Thanks. You are right, it works with solaar uninstalled, I only installed
> > > it to check the details of a device not recognized by the kernel.
> > > 
> > > So the patch as send to you before is then upstreamable. Is there anything
> > > more I need to do, to facilitate the upstreaming?
> > > 
> > > Best regards
> > > Allan
> > 
> > Great to hear!
> > 
> > The patch you sent seems pretty good for upstreaming, I would maybe just
> > split the Makefile changes into a separate patch and submit those
> > separately, if that's something you actually want to upstream.
> > Additionally, it seems to me like the mouse can work wired, so I would also
> > add the USB PID of the wired connection to the hidpp driver, that way
> > everything should work as expected on all interfaces.
> > 
> Right. I thought I had remove those changes. I had the weirdest issue when 
> building the kernel, where echo wouldn't terminate. It worked when I replaced 
> echo with another command, so I ended up using perl -e print. Still no idea, I
> assume some interaction between my shell and the combination of quiet and echo
> in a Makefile, but it doesnt matter, not part of the patch.
> 
> It doesn't seem like the mouse communicates over the USB cable, only draws 
> power. This appears consistent with my old Anywhere 2S mouse.
> 
> So where should I send the patch now? It has been at least 15 years since I 
> contributed anything to the kernel, and I understand sending patches to the 
> central mailing list is frowned upon now. Do you take if from here, or do I 
> need to send it to a submodule maintainer above you?
> 
> Best regards
> Allan
> 

The standard practice is to run scripts/get_maintainer.pl to find the
recipients. In your case:

$ scripts/get_maintainer.pl drivers/hid/hid-logitech-hidpp.c
"Filipe Laíns" <lains@xxxxxxxxxx> (reviewer:HID LOGITECH DRIVERS)
Bastien Nocera <hadess@xxxxxxxxxx> (reviewer:HID++ LOGITECH DRIVERS)
Jiri Kosina <jikos@xxxxxxxxxx> (maintainer:HID CORE LAYER)
Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> (maintainer:HID CORE LAYER)
linux-input@xxxxxxxxxxxxxxx (open list:HID LOGITECH DRIVERS)
linux-kernel@xxxxxxxxxxxxxxx (open list)
$ scripts/get_maintainer.pl drivers/hid/hid-logitech-dj.c
"Filipe Laíns" <lains@xxxxxxxxxx> (reviewer:HID LOGITECH DRIVERS)
Jiri Kosina <jikos@xxxxxxxxxx> (maintainer:HID CORE LAYER)
Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> (maintainer:HID CORE LAYER)
linux-input@xxxxxxxxxxxxxxx (open list:HID LOGITECH DRIVERS)
linux-kernel@xxxxxxxxxxxxxxx (open list)

Then you can just git-send-mail to all the recipients listed there.

Cheers,
Filipe Laíns

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux