You are not logged in.
I have a Logitech MX518 Gaming mouse, and would like to *lower* its polling rate. Right now, it is polling every single ms, which causes higher CPU usage in most applications, and is a bit of overkill for my use case. I've established the polling rate is 1ms, by analyzing the output of 'cat /sys/kernel/debug/usb/devices':
T: Bus=02 Lev=04 Prnt=09 Port=02 Cnt=02 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=046d ProdID=c08e Rev=40.00
S: Manufacturer=Logitech
S: Product=MX518 Gaming Mouse
S: SerialNumber=0C6338513038
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=300mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=82(I) Atr=03(Int.) MxPS= 20 Ivl=1msIn particular, Ivl=1ms shows it is polling every ms, also verified using 'evhz'. I've modified the kernel parameters to set a fixed mouse polling rate, by adding 'usbhid.mousepoll=8'. Indeed, after rebooting, it seems the driver parameter is correctly set:
$ systool -m usbhid -A mousepoll
Module = "usbhid"
mousepoll = "8"Before, mousepoll was set to 0, which means 'automatic', and 8 should mean poll every 8ms, which is the same as the poll rate of my old mouse. However, the mouse is still polling every ms; evhz shows a pollling frequency of 1000Hz, and the output of 'cat /sys/kernel/debug/usb/devices' is the same as before. In other words setting the kernel parameter did not have any effect.
Is there something I am missing here? How can I lower the polling rate of my mouse?
Last edited by blux (2019-10-02 16:31:31)
Offline
This might be due to https://bugzilla.kernel.org/show_bug.cgi?id=82571, as noted on the wiki: https://wiki.archlinux.org/index.php/Mo … t_changing
I was under the impression that the issue did not apply to me, since '/sys/kernel/debug/usb/devices' lists the mouse as using 'usbhid'. However, after analyzing the output of dmesg when (un)plugging the mouse, it does seem to use xhci_hcd:
usb 1-3.1.3.3: new full-speed USB device number 12 using xhci_hcd
usb 1-3.1.3.3: New USB device found, idVendor=046d, idProduct=c08e, bcdDevice=40.00
usb 1-3.1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3.1.3.3: Product: MX518 Gaming Mouse
usb 1-3.1.3.3: Manufacturer: Logitech
usb 1-3.1.3.3: SerialNumber: 0C6338513038It is a bit confusing that '/sys/kernel/debug/usb/devices' lists the mouse as using usbhid, I do not know why that is.
Offline
Are you using one of the new MX518 from 2019, or are you using one of the old MX518 which were released in 2005?
If you are using the new 2019 model, you can configure it with Logitech's software on a Windows PC. The mouse will save your settings in hardware. Make sure to use the software named "LGS" = "Logitech Gaming Software", not the one named "HUB".
There is also a software named "Piper" for Linux that can configure the hardware on certain Logitech mice, but I don't know if it supports the MX518.
Last edited by Ropid (2019-10-02 13:12:02)
Offline
Offline
Thank you both. I have booted into Windows and used a Logitech tool to modify the polling rate to 125Hz. Now evhz reports 125Hz as the polling frequency, and I noticed the behavior of the mouse changed. I removed all my custom xinput property settings from .xinitrc and the mouse behaves better than before.
After that installed piper and could easily modify the mouse acceleration and speed. Modifying the polling rate through Piper does not work, I can only toggle between 500Hz and 1000Hz, and both do not change the number evhz reports, which I now trust to be correct.
I never expected configuring a mouse could be such a messy undertaking. At least the mouse now behaves better, and even though I don't really know how it works, I'll leave it at this for now.
Offline