You are not logged in.
Pages: 1
Topic closed
So, I play quakelive a lot and I use archlinux.
My favourite mouse is ms1.1 and I want to the usb polling rate to 1000hz.
I've read archlinux wiki page but unfortunately I always get this:
T: Bus=01 Lev=03 Prnt=03 Port=01 Cnt=01 Dev#= 14 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=045e ProdID=0040 Rev= 3.00
S: Manufacturer=Microsoft
S: Product=Microsoft 3-Button Mouse with IntelliEye(TM)
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=10ms
While with Logitech G100s I have another output (it successfully sets to 1000 hz polling rate):
T: Bus=01 Lev=03 Prnt=03 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=046d ProdID=c247 Rev=82.00
S: Manufacturer=Logitech
S: Product=G100s Optical Gaming Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA
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
The thing I did is set
options usbhid mousepoll=1
in the /etc/modprobe.d/modprobe.conf file and
modprobe -r usbhid && modprobe usbhid
.
After this, of course, I unplugged and plugged in both mouses.
How to set 1000hz polling rate with microsoft 1.1 mouse ?
Offline
I have no answer to your question, but I am a little confused about all of this. The refresh rate of the screen is usually 60Hz (120 at best), so the cursor cannot physically be updated more often than every 1/60 sec. Anyway anything below a few hundredth of seconds is completely unnoticeable by our brain and no physical reaction can occur in less than 1/10 sec. So I wonder if this make a real difference. I have somewhat the feeling that there is a confusion between the resolution in time and the spacial resolution in dpi.
Last edited by olive (2015-11-02 09:38:06)
Offline
Hi,
According to your 1st printout we have different usb speeds:
USB low speed (1.5 Mbit/s), Microsoft 3-Button Mouse with IntelliEye(TM)
USB full speed (12 Mbit/s), G100s Optical Gaming Mouse
Assuming your HID devices uses interrupt-transfer, the lowest polling rate is limited by usb speed?
Best reagrds
ua4000
Offline
olive
My monitors are 120 and 144 hertz. And a lot of gamer's articles were about mouse polling rate. There is told that more polling rate gives more smoothness during the game and more reaction speed (logically it is true). More, I've played a lot on mouses with 1000hz before so, simply, I may want get back to mouse with 1000 hz.
ua4000
I dont quite understand what is interrupt-transfer and how I can know is the lowest polling rate is limited by usb speed?.
Offline
Check bInterval in the endpoint descriptors reported by lsusb -v. This field indicates the lowest polling interval officially supported by the device. For example, my M$ trackball specifies 10, which for low- and full-speed devices means 10ms.
It's possible that one of your mice also requests 10ms and Linux respects it. I don't know if this can be overridden.
Offline
mich41
Yes, my mouse has bInterval equal to 10. On windows people may override this value, so I need a override method then in linux.
Offline
mich41
Yes, my mouse has bInterval equal to 10. On windows people may override this value, so I need a override method then in linux.
Did you ever get it up to 500hz even? I'm trying to do the same thing.
Offline
So I just booted with the kernel arg 'usbhid.mousepoll=100'. I could see by the way the pointer moved that the the polling interval was indeed 100ms.
However both 'lsusb -v' and 'sudo cat /sys/kernel/debug/usb/devices' still showed 10ms for the device.
'systool -v -m usbhid' does show 100ms but that is the option value not necessarily the actual interval.
So it seems the 'evhz' tool is the only way to know the actual current polling interval/rate. (Assuming it works, I haven't tested it.)
Note, what ua4000 meant is that if 'sudo cat /sys/kernel/debug/usb/devices' shows 'Spd=1.5' for the device 10ms is the best you'll get. If you think the device is faster than that try plugging it into different ports.
Looking at vityafx's output the ms1.1 is 'Spd=1.5', while the G100s plugged into the same controller (same port?) is 'Spd=12'. So the ms1.1 can not go faster than 10ms.
Edit: so I tried 'evhz' and it says:
with mousepoll=100 - 15hz - which is 66.67ms
with mousepoll=10 - 125hz - which is 8ms
with mousepoll=1 - 189hz - which is 5.29ms
I read earlier - some where that I can't find now - that when set to 10ms the kernel will do 8ms so that fits. (My device is 'Spd=1.5', btw.)
Edit: found the source, says the host rounds down the nearest power of 2: http://www.microchip.com/forums/m26213.aspx
Last edited by Ziusudra (2016-02-24 03:54:33)
Offline
Thanks. I wonder if the way they do it in Windows is specific to the OS or could someone in theory make something similar:
http://sweetlow.orgfree.com/hidusbf.html
https://translate.google.fi/translate?s … edit-text=
Last edited by jla1 (2016-02-24 15:52:10)
Offline
As far as I can tell, those are doing the same thing as the mousepoll option.
The reason the low speed (Spd=1.5) devices can't do 1000Hz is the hardware in the mouse, not the software in the computer. Like that readme says:
If the rate does not increase more than 125Hz, then you should try DECREASE it to 31Hz or 62Hz. If the rate does decrease, then the driver functions properly, however or you mouse is not overclockable
This is what I did by setting 'mousepoll=100'.
Also, in my experiments I noticed that:
mousepoll=4 = ~210Hz
mousepoll=1 = ~190Hz
So, there is some penalty for missed polls.
Offline
The arch wiki page about mouse polling rate should be updated:
As I have read and experienced the usb 3 driver ( xhci_hcd ) is taken preference over the usb2 driver (usbhid ) so even though the polling rate is changed on the usbhid the mouse is stilled being controlled by xhci_hcd (also on the usb 2 ports)
So xhid_hcd (usb 3 support) has to be disabled for the manual option of changing the mouse pooling rate on the usbhid to work. (When xhid_hcd is disabled the usb 3 port will act as a usb 2 ports instead)
Disabling the xhci_hcd can be done in several ways:
1. If your BIOS has an option for "XHCI Pre-Boot Mode" set it to Disabled. (This solution worked for me)
2. If xhci_hcd is compiled as a module in the Kernel it can be disabled by:
2a. Using kernel command line
"You can also blacklist modules from the bootloader.
Simply add modprobe.blacklist=modname1,modname2,modname3 to your bootloader's kernel line, as described in Kernel parameters"
2b.Blacklisting:
/etc/modprobe.d/ xhci.conf
# Do not load the 'xhci' module on boot.
blacklist xhic_hcd
Offline
The arch wiki page about mouse polling rate should be updated
Then update it, it's a wiki. Bumping old topics is not a great documentation methodology.
Closing.
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Online
Pages: 1
Topic closed