Sign in with
Sign up | Sign in
Your question

WinXP USB low speed HID protocol editing

Last response: in Windows XP
Share
Anonymous
September 14, 2004 6:31:50 PM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

Ok, here is the problem. Windows XP does not properly support the USB
protocol.

How so? Well, when you plug in a newer USB mouse (such as an Logitech
MX1000, MX510 or Razer Diamonback) windows xp establishes a "low-speed USB
human interface device" connection. It then polls the device for new
information 125hz (125 times a second). 1000ms = 1 second. 1000ms/125hz =
8ms. Therefore every 8ms Windows XP polls the USB HID device.

Whats the problem? Well, those devices that I mentioned (such as an Logitech
MX1000, MX510 or Razer Diamonback) support 1ms polling. 1000ms = 1 second.
1000ms/1000hz = 1ms. Windows XP won't accept that, no matter what mouse or
mouse drivers you have, XP will poll the device every 8ms. No more, no less.

What about Windows 2000/Linux? Well, both of those OSs support the official
USB specs. The official specs (from what I understand) ask the mouse for it's
polling rate (firmware) and then polls it at the mouse's given rate. So if
you plug in a high-performance mouse (such as an Logitech MX1000, MX510 or
Razer Diamonback) into a Win2k or Linux machine, the mouse will be polled
1000 times a second. Every 1ms.

Well, what have you tried? I figure that since Win2K is very similar to
WinXP (both NT based) that many of their files must be interchangeable. I did
a search in WinXP for files with "hid" in it. I then did exactly the same
search in my Win2k computer. I found a lot of files that were identical in
name. So far what I have is taken "hidusb.sys" (one of the many files I found
on both machines) and did this :

(1) copied c:\WINNT\system32\drivers\hidusb.sys on the Win2K onto a floppy.
(2) booted into WinXP safe mode.
(3) pasted WinXP "hidusb.sys" in both c:windows\system32\drivers\hidusb.sys
and c:windows\system32\dllcache\hidusb.sys .

Since I put it in the dllcache and in the drivers folder, windows file
protection cannot replace it. After doing this I rebooted into normal
windows. No problems. It booted fine. I checked file versions and size, XP
did not replace the file. Just goes to show how interchangeable they are. The
problem was after asking a few more people to test this, and using a few
programs to test it with (usb monitor programs) we found that "hidusb.sys"
was apprently not the file needed because WinXP was still polling every 8ms.

Why do you care? Well, I like to know that he mouse I buy is being used at
it's full potentiol. Not to mention that the situation is 8ms delay vs. 1ms
delay.

Why would XP not support the official USB specs? For a product with so many
good features, I honestly have no idea.

So now it comes to you. Do you know what WinXP files control "low-speed USB
human interface devices" connections? Know another way for me to get 1ms
polling? Is there some patch out there I don't know of?
Anonymous
September 15, 2004 2:02:08 AM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

I just got the Logitech MX1000. Since you seem to understand so much about
USB, why is it that Logitech says in the instructions to connect this mouse
to the PS2 port in 'desktop PC', and USB for a 'Notebook PC'? Does it have
to do with this USB polling issue? I would think PS2 would be even slower. I
was going to e-mail Logitech, and ask them if a USB connection would be okay
for this mouse. I would like WinXP to be able to use the mouse to its full
potential, as well, I will be interested to know if there is fix for this
issue.

Also, it doesn't say if the mouse should be turned off daily or left on and
in the charger. I was going to ask them this as well; for now I will turn it
off.
Anonymous
September 15, 2004 2:45:04 AM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

Lucky dawg! How is the MX1000?

As for the PS/2 vs. USB, it is actually faster in WinXP. PS/2's refresh is
actually 200hz vs. WinXP's USB polling rate of 125hz. 1000ms = 1 second.
1000ms/200hz = 5ms. Thats WinXP USB 8ms lag vs. WinXP PS/2 5ms lag. You can
manual adjust the PS/2 polling rate by going to (START) > (CONTROL PANEL) >
(MOUSE) > (HARDWARE TAB) > (SELECT MOUSE) > (HIT PROPERTIES) > (ADVANCED
SETTINGS TAB). See where it says "sample rate?" sample rate = polling rate.
Logitech probably realizes that their mouse will perform better on a PS/2
port and are encouraging their users to use the PS/2 connector whenever
possible. As for laptops, they are probably worried that some laptops don't
have PS/2 connectors, so to be user-friendly they figure they will play it
safe and just tell them to connect it to the USB if they are on a laptop.
Most users probably wouldn't feel the difference anyhow.

About leaving the mouse on or off while in the charger, you can leave it on.
It won't effect the mouse. The battery it uses is a lithium-ion which doesn't
get effected by stuff like that (look up "memory effect"). It may charge
faster with it off but seeing as the battery is pretty powerful and it
charges up very fast I don't think that is an issue, so you can turn it off
daily if you want but it isn't neccessary.

"I would like WinXP to be able to use the mouse to its full
potential, as well, I will be interested to know if there is fix for this
issue. " - Yea, I am working fairly hard on trying to modify WinXP myself
but I posted here in hopes that I could get some others to start tinkering
with windows xp too. When I do get a fix going I will be posting it here ==>
http://nytmarezz.sytes.net <== from the looks of it though, it may take a
while. That website is my personal website, run from home so be patient :-)
Best case scenario, Microsoft reads this and releases some patch for high-end
mice. Worst case scenario, it takes forever to get a patch made. Anyhow, when
I have a patch, it'll be at that website and then you can get it! Ok, enough
of me plugging me own website :-P
Related resources
Anonymous
September 15, 2004 5:06:35 PM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

I think this is an amazing mouse. I just started using it last night, so I
am just getting used to it. I was using a Mouseman Dual Optical. It is great
to finally have a cordless mouse, although it is a bit heavier. It takes
time to remember to use the features. I know some features were in the
MX700/500, that I didn't get, and some are new. Cruise Control is great when
slowed down, Side Scrolling and Zoom, so far don't seem like they will be
used much; I might program the Scroll Wheel button push to something else,
rather then Zoom. I like having the Internet Fwd. and Back both on the side,
and the Application Switch being on the side is the best. The laser cannot
be seen, as opposed to the optical. Both the mouse and charger have a reset
button, that initially needed to pressed to function.

I just changed the 'Sample Rate' from 100 to 200, this should give a give a
faster response to movement, correct? When I restart the PC, I will see if I
can notice it.
They could have told Notebook users to connect to PS2, if they have it, if
not, connect to USB.

As for power on/off, I actually turned it off, left it out of the charger.
Logitech just says that when the battery is low, the last light is red. I
notice that when I don't move the mouse for a few seconds, the battery light
goes off, I think it goes into a standby power mode. I am aware of the
Lithium Ion battery, and Logitech's support refers to NiMH batteries, and
possibly others, so I wouldn't go by that; where they say not to overcharge
batteries. The batteries are not user replaceable, and the warranty is for
three years, so the batteries should last for three years.

I wonder if it is better to put the mouse in the charger after use, like a
cordless phone? Since it does charge in 15 min., IRCC, I think it only needs
to be charged when it is low, like a mobile phone. What do you think?
And, what is the purpose of the power switch?

Logitech should have adressed these questions in the instructions.
Anonymous
September 17, 2004 5:21:15 PM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

"QZ" <nothing> wrote in message news:10kjjcssnk2ds8c@corp.supernews.com...
> For now I will keep turning it off. But I wonder how much power it uses in
> standby mode. I will ask Logitech.

> Now, I need a matching keyboard, I will ask them about this also, if there
> is something new to arrive.

Logitech doesn't appear to have e-mail support, so I guess I will continue
to turn off the MX1000 mouse daily. Though, I wish I knew if they would be
replacing the Elite keyboard any time soon.
Anonymous
September 18, 2004 5:33:02 PM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

Hmm, thats interesting QZ. I have some good news! Apprently this mouse
latency stuff has sparked a lot of attnetion towards it and someone a lot
smarter than me figured out how in the last couple of days to reduce the
latency in XP on USB HID connections.

read the full instructions on how here :
http://www.warleagues.com/viewnews.asp?view=45&page=1

The article was posted on 16 September. I have tested it and it works. The
latency on my Razer Viper went from 8ms before down to 5ms. So now USB HID is
just as fast as ps/2 :-D yay!

What it does specifically is increases the polling rate from 125hz to 500hz.

If you read the comments, one person figured out how to patch to go at
1000hz but it made his system unstable so we will jsut have to wait and see
what comes from that.

Until then, this extremely fraggmented response that is also hard to read
will have to do :-P

Enjoy 5ms lag everyone!
Anonymous
September 19, 2004 5:47:52 PM

Archived from groups: microsoft.public.windowsxp.hardware (More info?)

"LeXo5" <LeXo5@discussions.microsoft.com> wrote in message
news:0A19D5D4-BC5F-4F4E-B7CA-6704FEB4649F@microsoft.com...
> The article was posted on 16 September. I have tested it and it works. The
> latency on my Razer Viper went from 8ms before down to 5ms. So now USB HID
is
> just as fast as ps/2 :-D yay!

Great work, I read the article, but, if USB at 5ms is the same as PS2, what
is the benefit of using USB instead of PS2?
!