It's always great to see someone scratch their own itch, so kudos. However, I'm curious what the actual pain point is? Does your mouse not sample fast enough? Noticeable input lag on a gamepad? Seems like this would be a bug with the implementation if it needs to be overclocked to fix...
post
*plugging in a USB analog clock
"Hell yeah"
Hi, quick question, for a real world case scenario. If one has a Keychron M6 Wireless Mouse Pixart 3950 8K Polling rate compatible out of the box with Linux via Chromium browser tweaks, would them need this DKMS module to allow it to reach the 8K pool rate OR this is to potentially surpass the manufacture ceiling?
8K poll rate is the maximum for USB 2.0 devices (or rather faster than USB 1.1 speed ones), so you cannot achieve anything higher than that, at least not with this method (I don't know if the host hardware can be even forced to poll higher, that could be an interesting project to try at some point maybe).
Did you actually benchmark that it can poll this high btw? We found an interesting thing with DualSense controllers that were frequently mentioned that they poll at 8K, but it turns out it might be only motion sensors, and the actual controller part that people would care about is only still 1K basically...
would them need this DKMS module to allow it to reach the 8K pool rate
And if I understood you correctly, your mouse has web-based settings portal that allows you to set the polling rate there? If so then that module won't give you anything further, as it's meant for devices that don't expose such a setting for the user to choose, and yet they can be forced to be polled higher nonetheless (that seems more common with controllers than pro mice, but there are mouses like that out there too)
Wait, ok, so my tower is on the other side of the room and my mouse drops inputs a ton- would this help that? Or is that more a transmitter issue?
Likely transmitter range issue, I really doubt it'd help for that
Damn, my search for an answer continues....
It won't help much, but a 1 meter USB extension will get the receiver that much closer to you. And maybe keep it from getting tucked behind something that blocks the radio.
It's certainly not blocked lol. I did get an extender to put the mouse dongle on top of something so it's in open, unimpeded line of sight and unobstructed in any way. Helped a little, but can't play multiplayer games as it still just cuts out every 10 mins for 5 secs
This is neat. I see weird behavior from my mice that can do 4k out of the box, but 1k is fine. Some controllers have obnoxiously slow sampling, so I may have to give it a go on them.
overclocking USB devices
What a crazy sentence. Kind of like calling your CPU cooler an underheater. 🤣
What devices have you tested it on? I'd be curious if it corrupts data read from or written to a drive for instance, just to push the scope way beyond what was intended.
Personally only controllers (my own mouse and keyboard already poll at 1000 Hz, suffering from success...). I can't imagine it'd go too well with something like a drive xD It's also worth noting it only overclocks Interrupt endpoint, and not other types like Isochronous, since they're not used for input stuff and their bInterval values mean different things. But I wish I could find some other goofy device to try where there'd be a chance it could do anything other than breaking everything...
I've never even considered overclocking a USB device, why would someone want to do this?
Lower effective input latency, higher input smoothness (the latter perceivable probably only on displays with higher refresh rates). That's of course only for USB input devices (gamepads, mice, maybe keyboard), as for other types of devices idk.
But do note that only some devices will allow you to do this. For gamepads, the site gamepadla.com has a bunch of OC results made by Windows gamers. For mice, I saw some threads on some forums at some point (my mouse is natively 1000 Hz, so I didn't focus on this)
EDIT: But like the difference can be really perceivable, it's not a placebo. Especially on something like 240 Hz screen, the difference between say 125 Hz and 1000 Hz polling is just jarring. But it's rare a 125 Hz mouse could be brought up this much, usually its sensor wouldn't even be precise enough if it was shipped at such low polling.
But for example my controller could be overclocked from 250 to 1000, but 500 was the sweet spot in how it felt, while at 1000 it was unstable with some lags from time to time. But 500 was working perfectly and felt smoother.
Also notably the PS5's DualSense can be overclocked from 250 to 1000 Hz (people claim 8000, but apparently it's actually a lie)
Hey, I'm interested in this project.
I recently got a MX Master 3S mouse that, according to various posts, can only poll at 125Hz.
Looking to test the existing poll rate, and see if your module can up it.
Will report back after testing.
Ah, my friend happens to have the exact same mouse. Unfortunately, we tested it, and apparently the wireless dongle it's using already polls at 1000 Hz aka bInterval 1 (probably the dongle was made with wider mouse model support range in mind), so unfortunately we weren't able to overclock it at all with this method... :( (we only did his Sony DualSense controller) Well, that's unless you'd happen to have a different revision or something where that maybe wouldn't apply? Also I see it has USB-C plus and I'm embarrassed to admit we didn't try that, so who knows xD
He saw how 1000 Hz feels on my machine and said he wants to replace his mouse ever since, since that smoothness feeling has stuck in his mind ever since lol
Thanks for the insight.
AFAIK the USB-C port can not be used for wired connection.
The MX master seems to be internally hobbled at 125Hz(would love to be proved wrong on this). Online mouse-polling check-sites show it polling at around 120-130Hz.
I'll keep my previous Rival 300 plugged in, and switch to it where necessary. (Also just found out about rivalcfg to try and get some more tweaks from that mouse.)
Thanks for your work on this project. I'll keep playing around with it.
all 16 comments