Intermittent mouse freeze when on USB hub

Status
Not open for further replies.

law086

Honorable
May 23, 2012
12
0
10,510
Hi folks,

I can't really use some help on a problem that really has my stumped.

The short version:
I'm trying to run several devices off a powered (60w) USB 3.0 hub. A mouse, keyboard and USB 3 HDMI adapter. The problem is that when my mouse is hooked up to this hub, I get frequent situations where the mouse pointer will lock up and stop moving for around 5-10 seconds. The rest of the PC is not frozen. The freeze seems related to the speed I move the mouse. If I move very slowly it's usually fine, the fast I move it the more frequent it will lock up. If I move the mouse to a USB port directly on my motherboard it's fine.

Here's what I tried and what I know so far:
- The hub doesn't matter. I've tried three different USB 3 powered hubs and I have the same issue.

- I've re-rolled Windows (10) (I was due anyhow) and that didn't change anything.

- I'm up-to-date on Windows updates

- I see the same issue with or without the USB video adapter connected to the hub

- I've tried updating every driver I could think of, including:
- Displaylink
- Realtek audio drivers
- Mobo ethernet drivers
- BIOS firmware
- Mouse drivers (which, BTW, Windows tries to not let you do)

- I tried a USB 3.0 add-on PCI card (thinking maybe there's a problem with the USB 3 bus on my mobo), I see the same behavior when the hub is connected to both the add-on card and direct connect to the mobo.

I'm really at a loss and I don't get to this point often.

If you got this far (thanks, BTW) and you're thinking - problem solved, hook your mouse up to your mobo. That's not the direction I'd like to go. I frequently switch between a desktop and laptop in my home office. Using a hub allows me to switch the peripherals easily. You might also be thinking I should just get a KMV. That might help, but I'd rather not drop 200+ bucks on a dual-video KMV when I'm so close to having this setup perfect (if my mouse would just work right).

Thanks!



 
Solution
First off, wow that's one of the cleanest and most dust free snarls I've ever seen.

Anyway, I'm now thinking it's a processing issue more than a bandwidth one. To greatly simplify, data gets sent in packets. Each packet has transfer information (who sent me, when, where to, etc) and some data. The transfer information is consistent from packet to packet, but the amount of data will vary. Mice send a very small chunk of data each time like xy coordinates and button states. Just a few bytes. A file transfer on the other hand would have a much larger data payload per packet, probably the maximum size (1024 bytes I think).

Each packet takes a little processing power to negotiate. Larger packets have the same amount of transfer...
That sounds frustrating! I know little about this, so I can't help you. But I can ask questions:

- What mouse are you using?

- Have you tested your set-up with a different mouse? If the same thing happens there, then you know it's not the mouse. If not, then either your mouse is faulty, or there is some bad interaction at work between your mouse and some other factor (be it hardware or software).

- Does this happen on any surface? Mouse mat, desk, paper?

- You could try an older version of your mouse driver, or a different driver (like standard Windows), to see whether that makes any difference. Occasionally, driver updates introduce bugs. Okay, this is technically not a question. Sue me.
 


I appreciate the thoughts, to answer your questions:

- The mouse is a Centrophorus M601 Red Dragon Lite, optical.

- That's a really good question about another mouse, I should have mentioned that. I did, and when hooked up to the hub the same problem happens. That mouse is a standard Microsoft optical mouse (1113)

- For the surface, I tried a mouse pad and a flat solid desk surface. Same with both.

- I can play with the driver a bit more. I tried a few things and didn't have any luck. I didn't check if Centrophorus had a specific driver. I'll check that out.

Thanks again for the ideas!
 


That's an interesting theory. I tried moving down to 1024 x 768 on the USB monitor and the issue was still there, but seems to be a little better. It seems hard to believe that with the bandwidth of USB 3 the PC couldn't push the pixels fast enough, no?

Thanks for the suggestion!
 


Sorry, misspost a second ago. Anyway, USB 3 tops out at 5 Gbps, and in real world conditions will never reach that since it has to share and has overhead. HDMI 1.4 tops out at 10.2 Gbps, without the same overhead. Adapters use compression software and so forth to get it down, and 1080p isn't quite as stressful as the max of 4k@30hz, but it's still right at the limits.
 
[/quotemsg]

Sorry, misspost a second ago. Anyway, USB 3 tops out at 5 Gbps, and in real world conditions will never reach that since it has to share and has overhead. HDMI 1.4 tops out at 10.2 Gbps, without the same overhead. Adapters use compression software and so forth to get it down, and 1080p isn't quite as stressful as the max of 4k@30hz, but it's still right at the limits.[/quotemsg]

OK, I see where you're going. This might sound like a silly question, but does every USB 3 port on my mobo share the same 5Gbps bus? Or is that the capacity for each port?
 


High polling mice use a lot of bandwidth, but if it's happening with non-gaming mice it won't solve your problems. I know on USB 2.0, the minimum bandwidth my mouse or keyboard would grab was 10%. So having 2 devices meant 20% right off the bat. If you've got a 2.0 hub lying around, you could try plugging that into the 3.0 hub, then connecting the keyboard and mouse to the 2.0 hub. In theory, they might share the minimum bandwidth reserved by 1 device (ie, the 2.0 hub) rather than 2 separate allotments, but I don't have a lot of faith in that idea. If you have a spare hub it's worth trying though.
 


Sorry, misspost a second ago. Anyway, USB 3 tops out at 5 Gbps, and in real world conditions will never reach that since it has to share and has overhead. HDMI 1.4 tops out at 10.2 Gbps, without the same overhead. Adapters use compression software and so forth to get it down, and 1080p isn't quite as stressful as the max of 4k@30hz, but it's still right at the limits.[/quotemsg]

OK, I see where you're going. This might sound like a silly question, but does every USB 3 port on my mobo share the same 5Gbps bus? Or is that the capacity for each port?[/quotemsg]

It's 5Gbps per Controller, with each Controller having X number of ports attached to it. X being up to the manufacturer Most mobo's put 2 ports per controller, plus a 4 port controller split between 2 front ports and 2 back ports. You can find them in Device Manager, they'll be under a bunch of different names. Check the Power and Advanced tabs to see connected devices, bandwidth, number of ports, and bandwidth reserved.

And this post leapfrogging really reminds me of the White Hole episode of Red Dwarf...
 
OK, I tried a bunch more stuff and this is going to sound silly enough that I almost don't want to say it.

Here's what I tied:
- Hooked keyboard and mouse to USB 2 hub, plugged that hub into USB 3 hub, plugged that into mobo via USB 3 port. No dice.
- Hooked just my keyboard and mouse up to my USB 3 hub, USB video hooked directly to mobo, still no dice. This one is odd. How can a USB 3 connection not run my mouse and keyboard well! Also, the hub was hooked to my PCI add-on card while the video adapter was hooked directly to my mobo, so I'm guessing two separate controllers there.
- Then I tried USB 3 hub with video adapter only hooked into USB 3 port in mobo. Keyboard and mouse connected to USB 2 hub to USB 2 port in mobo. This worked pretty well. I don't think anything froze.

Then I thought to myself, what he hell, let's try everything on the USB 2 (!!!!) hub into a USB 2 port, and guess what? It worked pretty well. Sure, the video on the USB run monitor wasn't as smooth, but no freezing.

THEN I thought, I wonder what would happen if I just hook that USB 2 hub (with mouse, keyboard and video that just worked well in a USB 2 port) into a USB 3 port (on the add-on card and direct to mobo), and guess what, freezing all over the place!!

So what the heck. It's almost like USB 3 isn't working right on my machine - or at least I can't run my mouse off a USB 3 hub.. I'm assuming the USB 3 add-on card would behave pretty much independently of the USB host on the mobo? If the answer is yes, then I'm completely stumped. If the answer is no, all USB is handled somehow in the same way (direct connect on the mobo and add-on PCI cards), then I'm thinking something is just wrong with whatever handles USB 3 on my mobo and it's time to replace my mobo.

Crazy! And thanks again for all the suggestions. That really helped!

 
Just something else I find interesting. I can't really blame the issue on my gaming mouse because if I swap that mouse for the el-cheap standard Microsoft optical mouse, I have the exact same problem. Also I can't say that my mouse just won't work on a USB 3 bus, because if I hook my mouse directly to my USB 3 mobo port, it's fine. It's only causing a problem when the mouse first goes into a USB 3 hub, then into a USB 3 port. If I go into a USB 2 hub, then into a USB 2 port, it's fine.

BTW, earlier you asked if I had extra hubs... I thought you might get a kick out of my current under desk state 🙂

xXZIVerNvJ_XzW4WlG9vtAPl4-l-sgfE8UlwOoL3azi-fRMjz9xNOUgY_84cJSJZsFYcu6AIFoF4YfaYZAIX_CmUQXhlEgHhSndYRDBtLNxlKwt2T-ESOVCbSDOFySw0irxTM_HpO_jo2SGiZqoFsaASCK6foKC8flsoGBf_09r9AdTkDD4P78fpRzvZQ5J6Fbq91qWKIh-9XUYXd0qa3yPwaIWbEcLPyv6sRbhfrIj-MR1AuOoiHATBOmAFU2LTe_8FexKVgnXLXK3SpwzHFWPBqTabix3lW_q3T7cxLDFI7TsmWzG55zm28TUSSzzO3jn0F8VxrEUajcPYlEWZ7v0Ji5zTr4anRxQbK3vi4X5sB1Nv4vhD-Gp2FZqqAGwaLDIN2_o4bhBQPvuikUm_oCANnOQkwPFZjszMUZaoNRVUiF8QLNGarRwVXvT3s4zPyXjqyf7ncag6WUTMbpgYttsIRmE2leC16MUR5h0AXujlm52mOdv508tjMmZgzhs4_rK83AbuNaYRhDFgXuzddrG_03LNXxJy9iqrq9Qr8Ea2Yu99sb-v7wKpmPUPLnyLFjOgTAigzgPsu8Mnhi4wKyxnGa0EXFw4MHU5qweSEAlbubEMSJ1bgwaWeaH6uHvua7ksgt0Jg-gNoV1ADcG3r3PAsPOc6ghXhUNC3F5zXcs=w1271-h950-no

 
First off, wow that's one of the cleanest and most dust free snarls I've ever seen.

Anyway, I'm now thinking it's a processing issue more than a bandwidth one. To greatly simplify, data gets sent in packets. Each packet has transfer information (who sent me, when, where to, etc) and some data. The transfer information is consistent from packet to packet, but the amount of data will vary. Mice send a very small chunk of data each time like xy coordinates and button states. Just a few bytes. A file transfer on the other hand would have a much larger data payload per packet, probably the maximum size (1024 bytes I think).

Each packet takes a little processing power to negotiate. Larger packets have the same amount of transfer information as smaller packets so basically the same overhead. That makes them much more efficient, like the difference between handling a single 5 KB transfer, vs 5120 one byte transfers.

That means there's actually two limits. One based on bandwidth, and the other on number of packets. On USB 2 it's probably hitting the bandwidth (480 Mbps) long before it hits the packet limit. Move it to USB 3 and it has enough bandwidth to send more packets and flood the controller.

That may explain the PCI card issues as well. Part of the negotiation is handled by USB hardware and part by the CPU. I'm guessing the card is leaning more heavily on the shared resources. Do you notice any difference in CPU usage between the various setups?

Finally, what video outputs do your desktop and laptop have? Because if they both have HDMI, maybe something like this:

https://www.monoprice.com/product?p_id=13704

It's just a dumb HDMI switch, but it has 3 inputs and a remote control. $17.99, and there's a 15% off code this week at the top of the page. They have a ton of other models, as does Amazon. It would be one more cable to connect, but it can sit next to the hub rather than needing to crawl back down into the forest.

Edit: And so of course I just had another thought. The freezing might be the devices re-negotiating their speeds. Ie, they're sharing all the bandwidth at say a 90/10 split. Then the mouse moves quickly at a higher priority than the video, grabbing bandwidth away from the video. They have to re-negotiate to a 80/20 split. Then once the mouse slows down it drops back to 10%, and the video slowly goes back to 90/10. Only it doesn't have to re-negotiate now because that 10% it's grabbing isn't allocated already.
 
Solution
Status
Not open for further replies.