You are not logged in.

#1 2015-02-17 03:56:07

Nektarios
Member
Registered: 2013-02-19
Posts: 90

USB polling rate 1000hz does not work (only 500hz)

I have 3 mouses, a Zowie FK2 mouse, a Steelseries Sensei Raw and a Razer DeathAdder 3.5G mouse. All of them fully support 1000hz USB polling rate (it's one of their main selling points) and I have already tried them successfully (1000hz) on Windows 7.

Following the Arch Wiki guide, I successfully enabled 1000hz mode with usbhid module.

$ cat /sys/module/usbhid/parameters/mousepoll

1

$ systool -avm usbhid

Module = "usbhid"

  Attributes:
    coresize            = "48595"
    initsize            = "0"
    initstate           = "live"
    refcnt              = "0"
    taint               = ""
    uevent              = <store method only>

  Parameters:
    ignoreled           = "0"
    mousepoll           = "1"
    quirks              = "(null),(null),(null),(null)"

  Sections:
    .bss                = "0xffffffffa005e960"
    .data               = "0xffffffffa005e000"
    .exit.text          = "0xffffffffa005b169"
    .gnu.linkonce.this_module= "0xffffffffa005e700"
    .init.text          = "0xffffffffa0044000"
    .note.gnu.build-id  = "0xffffffffa005c000"
    .rodata             = "0xffffffffa005c080"
    .rodata.str1.1      = "0xffffffffa005c8c4"
    .rodata.str1.8      = "0xffffffffa005cd18"
    .smp_locks          = "0xffffffffa005c7d8"
    .strtab             = "0xffffffffa0046f80"
    .symtab             = "0xffffffffa0045000"
    .text               = "0xffffffffa0054000"
    __kcrctab_gpl       = "0xffffffffa005c050"
    __ksymtab_gpl       = "0xffffffffa005c030"
    __ksymtab_strings   = "0xffffffffa005da40"
    __mcount_loc        = "0xffffffffa005d7b0"
    __param             = "0xffffffffa005d750"
    __verbose           = "0xffffffffa005e200"

So according to the above outputs usbhid is already running with 1000hz (1ms polling rate).

But when using evhz which measures the HZ both with the DeathAdder and the Zowie FK2 I get this:

event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)
event0: latest hz = 500 (average hz = 500)

When I use the Steelseries Sensei Raw setting 1000hz using the sensei-raw-ctl, evhz reports 1000hz successfully.

So what is going on? Why the two other mouses are stuck on 500hz and can't get to 1000hz?

I now only use Zowie FK2 which is much better than the other two mouses and I need 1000hz because 500hz has microstuttering which impedes my gaming use.

Is this a bug? How can I fix this?

Last edited by Nektarios (2015-02-17 04:01:26)

Offline

#2 2015-02-17 04:40:37

Nektarios
Member
Registered: 2013-02-19
Posts: 90

Re: USB polling rate 1000hz does not work (only 500hz)

In the end I found out that this maybe is just a reporting bug with evhz utility, the mouse runs in 1000hz correctly. I tried dimr.exe with WINE and it reports 1000hz correctly.

Though I find it funny that when I tried mousepoll=2 (500hz) and mousepoll=4 (125hz), dmr.exe still reported ~1000hz. Now I'm not really sure if it is a reporting problem with evhz, or with dimr.exe.

Offline

#3 2015-05-12 18:01:34

Nektarios
Member
Registered: 2013-02-19
Posts: 90

Re: USB polling rate 1000hz does not work (only 500hz)

I found the problem. It's not evhz's problem afterall! It's a bug in the kernel. More information here.

Last edited by Nektarios (2015-05-12 18:02:10)

Offline

Board footer

Powered by FluxBB