I am programming and debugging external devices such as Arduino and Atmel ARM chips (in electronics development). Whenever I connect via serial (USB-to-serial), I notice that my keyboard and mouse (both external USB) periodically freeze, symptoms such as:
- No mouse cursor movement for a second or two
- No keyboard input registers for a second or two
- Keyboard strokes repeat like a stuck or sticky key (e.g. keeeeeeeeeeeyboard)
- Sometimes the Windows sound of USB disconnect/connect will also happen, suggesting that the USB hub has rebooted or something
To trigger the issue, I needed to only connect to the external device using PuTTY, XCTU, or the serial monitor within Arduino's IDE. Terminating the connection would resume normal USB operation.
I've tried:
- Different keyboards and mice
- Different USB ports
- Disabling unused USB hubs/ports
- Remove all other peripherals including Dell D6000 docking station
- Ensuring Windows 10 (Pro) is fully up to date
- Updating driver software
- Updating motherboard BIOS
- Removing applications (unneeded or presumed to have potential to interfere)
- Windows Registry tweaks, such as disabling serial mouse support/detection
Nothing has worked. I'm about to sell this computer and become a Mac user.
How can I troubleshoot this USB-input freeze issue? Are there any tools to investigate what's going on at a deeper level? I've not been able to see anything unusual with Process Explorer, Process Monitor, etc.
I'm using a Dell XPS 9570 with Windows 10 Pro. The CPU is an Intel Core i9-8950HK and the machine has 32 GB RAM.
Best Answer
After a couple of days of being very frustrated and not sure if it was an OS or hardware problem, I started to zero in on model-specific complaints. I found this thread on Dell's support forum.
For me the issue has been solved. It came down to two suggestions by forum users:
In BIOS, under
Performance
, disableC-States Control
.The forum poster mentioned that this may incur higher power usage and temperatures.
Also in BIOS, under
System Configuration
>Thunderbolt Auto-Switch
, disableAuto Switch
. Click 'Apply', then checkNative Enumeration
.I am not sure if only one of these changes solved the issue, or if both were required.