Overclock.net - An Overclocking Community

Overclock.net - An Overclocking Community (https://www.overclock.net/forum/)
-   Mice (https://www.overclock.net/forum/375-mice/)
-   -   USB mouse hard overclocking (2000 Hz+) (https://www.overclock.net/forum/375-mice/1589644-usb-mouse-hard-overclocking-2000-hz.html)

SweetLow 01-31-2016 12:42 AM

USB mouse hard overclocking (2000 Hz+)
 
Testers wanted!

One month before I modified USB overclocking software for work in Win8 - Win10.

First and only fat bug was debugged yesterday :)

But nothing can stop overclocker. In development process i had seen one feature in code of USB3.0 host controller driver - so it's here: trying to reach polling rates higher than 1000 Hz!

What we need to try?
1. USB3.x host controller
2. Windows 8, 8.1 or 10 (actually we need microsoft driver for USB3.x host controller - USBXHCI.SYS)
3. USB mouse (low/full speed) attached to this controller. Don't mix "controller" and "port" - it's different concepts. You can verify which controller process your mouse in Device Manager, Devices By Connection (device tree) view (qsxcv screenshot from here http://i.imgur.com/wbm0WyX.png):

https://www.overclock.net/content/ty...97874/flags/LL

Do not use USB hubs (for first try), it can restrict rate, attach mouse to controller ports directly. In Device Manager mouse (or HID or composite devices) must be attached to "USB Root Hub" as at screenshot above. Some xHCI controllers like this VIA can have built-in/embedded USB hub for low/full/high speed devices so it's not possible to have 2000+ Hz on such hardware. And some non chipset or this Asmedia controllers are just restricted (hardware bug?) in interrupt rate probably.

4. Software:
hidusbf.zip - My official package from 2019/06/21
Edit: High rate driver versions now included in this package (in appropriate folders).

How to install:
1. Install HIDUSBF and try to change rate (simply change). If this is successed goto 2
2. Take drivers from 2khz-4khz or 4khz-8khz folders and install it (copy to %systemroot%\system32\drivers\ directly or to the folder of hidusbf setup and then install service).
3. Reboot after 2!
4. Run setup.exe, and try to change rate to 31 or 62. Rate=31 actually equal to 2000 Hz, 62 - 4000 Hz for 2khz-4khz version. Rate=31 actually equal to 4000 Hz, 62 - 8000 Hz for 4khz-8khz version. (Don't forget to restart device.)
5. Check the rate (the best is MouseTester, but you can use dimr, mouserate, MouseMovementRecorder or any other software too). If rate is 31(62) then you done something wrong (new driver installation, USB controller type, newer version of USBXHCI.SYS not known to driver). If rate more than 31(62), but not more then 1000 Hz - you mouse is not capable of HARD overclocking http://files.overclock.net/images/smilies/smile.gif

You can read manual README.2kHz-8kHz.ENG.TXT from jeshuastarr in hidusbf package too.

If anybody can reach actual rate more than 1000 Hz - post your mouse name here.
I personally try this already and my best overclockable mouse (a4tech bw-35) reach 1400 Hz average (unstable).

HARD result (thanks to qsxcv and mlt04 sensor):
WMO DOES 8000HZ POLLING

Other good results:
nmouse 4k
kinzu v1

Satisfactory results:
deathadder
Pro IntelliMouse

And other not so good result:
rog gladius fake 2000 Hz

P.S. Under modern versions of Windows 10 (whether you want hard or ordinary overclocking):
1. If you have problem with driver loading on version x64 1607+ disable Secure Boot or use registry settings
2. If you have EHCI (USB2.0) Controller only on version x64 1703+ or any controller on version 1803+ use these drivers and (Test Mode or atsiv method with non Test Mode). If you use atsiv then check your AV (or something else like anti-cheat engine) in case you are unable to load atsiv. Or use atsiv and then unload it completely before loading of such engine.

P.P.S. If you came here for ordinary (1000 Hz-) overclocking drivers and have Windows 7 (or previous version) and Intel chipset with both EHCI and XHCI controllers (i.e. series 7x-9x) then read this manual with this optional addition in case you can not overclock your mouse but still want to use XHCI controller.
Or you can use hidusbfn.zip and one of the two methods described above especially if you have modern Intel hardware with xHCI controller only.

P.P.P.S. JFYI (and for problem troubleshooting): There and following the links you will find the little descriptions of hidusbf internals and there - what it exactly does in system.

jtl999 01-31-2016 12:45 AM

Cool. I get slightly more stable polling rate in Win10 with safe mode. Might try later.

Gonzalez07 01-31-2016 12:52 AM

Interesting. Will try in a bit
edit*could only downclock, but im probably doing something wrong

HAGGARD 01-31-2016 03:43 AM

Quote:
so it's here: trying to reach polling rates higher than 1000 Hz!
biggrin.gif
Quote:
What we need to try?
[...]
2. Windows 8, 8.1 or 10
frown.gif

This feature in the code of Windows 8/8.1/10's USBXHCI.SYS, is it possible to find it in other (3.0) controller drivers too?

Welp, at least I can find out which mouse if any works the fastest internally in terms of buffer filling rate/motion burst read rate then.

EthanKing 01-31-2016 03:59 AM

What difference will you notice between 1000Mhz and 4000Mhz? Is it for gaming or some other performance?

Sent from my G7-L01 using Tapatalk

EthanKing 01-31-2016 04:06 AM

Edit: hertz not Mhz sorry.

Sent from my G7-L01 using Tapatalk

HAGGARD 01-31-2016 05:13 AM

Marginally less input lag for one thing: On single events like clicking a mouse button USB polling adds latency up to a full poll interval, i. e. up to 1ms at 1kHz, but only 0.25ms at 4kHz; on average 750 / 2 = 375us faster input. Again, marginal.

Additionally a continuous flow of data as you get with standard mouse surface tracking will appear smoother; an update each 250us as opposed to each 1000us means your cursor travel/game rotation is less jumpy. You could also argue a greater polling rate more accurately reproduces the physical tracking path as lower polling introduces a kind of path correction (see Polling Misnomer: https://www.overclock.net/t/1251156/an-overview-of-mouse-technology) as per digital sample rate logic. But as opposed to audio or whatever in mousing the reproduction accuracy for "inbetweens" in constant motion is largely irrelevant; you only really care where you end up at and that's the same for all poll rates. Maybe when you are drawing stuff the visually corrective effect could be annoying, but there you can simply move your mouse more slowly to circumvent this effect. Plus, 1kHz is already "path-accurate" enough anyways - at least I don't think artists are maneuvering their hands consciously on a 1ms-scale.

On the flipside, swamping your CPU with 4k+ USB interrupts per second increases CPU load and decreases polling stability/precision (https://www.overclock.net/t/1550666/usb-polling-precision). Which basically means mouse stutter, noticeable in games primarily.

1kHz is plenty and we don't really need more. This is just interesting fun and play. Near-instantaneous isochronous communication between host and mouse could still be worthwhile in the future, but for that we'd need a dedicated real-time interface with CPU-independent input processing and mice that internally support sending out their data at rates far beyond the USB standard (i. e. after each individual frame correlation step, which is 6000-12000 times per second?).

EthanKing 01-31-2016 05:21 AM

Thanks smile.gif I'm using a corsair m65 @ 1000hz so I will see if I can reach 2000hz for research purposes tongue.gif another question, is this easily reversible?

Sent from my G7-L01 using Tapatalk

HAGGARD 01-31-2016 05:30 AM

Yes. Since you get a GUI, polling rate reversion is just a few clicks. Complete reversion works by uninstalling the hidusbf filter driver (right-click HIDUSBFU.inf and hit install) and disabling testmode.

SweetLow 01-31-2016 05:45 AM

Quote:
Originally Posted by HAGGARD View Post

This feature in the code of Windows 8/8.1/10's USBXHCI.SYS, is it possible to find it in other (3.0) controller drivers too?
It's the feature of hardware controller, of couse, but now it can work only with MS drivers. The reason is the same as overclocking of low speed devices now not worked with Windows 7 + USB 3.0 controllers - i can't RE all OEM drivers in the world wink.gif And yes, direct host controller (outside the driver) programming is possible - but this task is _huge_.


All times are GMT -7. The time now is 07:45 AM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
vBulletin Security provided by vBSecurity (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.