WinXP USB low speed HID protocol editing

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

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

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

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?
6 answers Last reply
More about winxp speed protocol editing
  1. 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

    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
  2. 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) >
    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 ==> <== 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
  3. 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.
  4. Archived from groups: microsoft.public.windowsxp.hardware (More info?)

    "QZ" <nothing> wrote in message
    > 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.
  5. 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 :

    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!
  6. Archived from groups: microsoft.public.windowsxp.hardware (More info?)

    "LeXo5" <> wrote in message
    > 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
    > 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?
Ask a new question

Read More

USB Devices Windows XP