SGT CAPSLOCK n00b
Joined: 16 Jul 2013 Posts: 1
|
Posted: Tue Jul 16, 2013 11:20 pm Post subject: USB/OHCI & HID - mouse polling at only half rate |
|
|
The Linux ohci-hcd driver is only allowing my high-end gaming mice to poll at half of the speed I specify. This is bad for gaming.
To test polling rates, I use the evhz utility:
http://web.archive.org/web/20060623094750/http://homepages.nildram.co.uk/~kial/evhz.c
Here is an example of the problem using a Zowie EC1 eVo gaming mouse:
Code: |
fb@alchemy:~/tmp$ dmesg|tail -7
[ 9998.795207] usb 7-3: new full-speed USB device number 2 using [b]ohci_hcd[/b]
[ 9998.949118] usb 7-3: New USB device found, idVendor=1af3, idProduct=0001
[ 9998.949125] usb 7-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9998.949130] usb 7-3: Product: ZOWIE Gaming mouse
[ 9998.949133] usb 7-3: Manufacturer: Kingsis Peripherals
[ 9998.956511] input: Kingsis Peripherals ZOWIE Gaming mouse as /devices/pci0000:00/0000:00:16.0/usb7/7-3/7-3:1.0/input/input5
[ 9998.956702] hid-generic 0003:1AF3:0001.0003: input: USB HID v1.11 Mouse [Kingsis Peripherals ZOWIE Gaming mouse] on usb-0000:00:16.0-3/input0
fb@alchemy:~/tmp$ cat /sys/module/usbhid/parameters/mousepoll
1
fb@alchemy:~/tmp$ ./evhz
Press CTRL-C to exit.
event3: Kingsis Peripherals ZOWIE Gaming mouse
......
event3: latest hz = 500 (average hz = [b]500[/b])
event3: latest hz = 500 (average hz = [b]500[/b])
event3: latest hz = 500 (average hz = [b]500[/b])
event3: latest hz = 500 (average hz = [b]500[/b])
|
And here is the same mouse, but this time I plugged it into an external HUB to force the ehci driver:
Code: |
fb@alchemy:~/tmp$ dmesg|tail -7
[10217.625617] usb 2-1.1: new full-speed USB device number 5 using [b]ehci-pci[/b]
[10217.704987] usb 2-1.1: New USB device found, idVendor=1af3, idProduct=0001
[10217.704994] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10217.704999] usb 2-1.1: Product: ZOWIE Gaming mouse
[10217.705002] usb 2-1.1: Manufacturer: Kingsis Peripherals
[10217.707103] input: Kingsis Peripherals ZOWIE Gaming mouse as /devices/pci0000:00/0000:00:13.2/usb2/2-1/2-1.1/2-1.1:1.0/input/input6
[10217.707313] hid-generic 0003:1AF3:0001.0004: input: USB HID v1.11 Mouse [Kingsis Peripherals ZOWIE Gaming mouse] on usb-0000:00:13.2-1.1/input0
fb@alchemy:~/tmp$ cat /sys/module/usbhid/parameters/mousepoll
1
fb@alchemy:~/tmp$ ./evhz
Press CTRL-C to exit.
event3: Kingsis Peripherals ZOWIE Gaming mouse
......
event3: latest hz = 1000 (average hz = [b]1000[/b])
event3: latest hz = 1000 (average hz = [b]1000[/b])
event3: latest hz = 1000 (average hz = [b]1000[/b])
event3: latest hz = 1000 (average hz = [b]1000[/b])
|
The motherboard I'm using is an Asus Sabertooth 990FX/GEN3 R2.0, which uses the SB950 south bridge chip to provide OHCI and EHCI:
Code: |
root@alchemy:/home/fb/tmp# lspci|grep OHCI
00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
root@alchemy:/home/fb/tmp# lspci|grep EHCI
00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
|
Would anyone please help me to figure out if this is a bug in the Linux ohci-hcd driver, or if it's a chipset bug, or...? And hopefully, we can find a solution |
|