Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

On my server I am trying to install a new usb drive but all that happens is that the system starts using huge amounts of processor cycles with services.exe. On closer inspection with process explorer there is a thread called umpnpmgr.dll using most of the services.exe processor time.

I left it for a half hour and still nothing happened.

Rebooted and tried again, same result.

Tried a different usb drive, then a flash drive but still same issue.

Tried updating driver but it said the update function was already in action.

I have used process explorer to kill the thread now so the server can still perform its intended functions.

Any device that was previously installed before this began happening will still work but any device new to the system will not.

My question(s) is/are:

Is there a way to manually install the device into the registry so Windows thinks it is a previously installed device?

Or can this problem be repaired through anything other than a reinstall? To do a reinstall would mean backing up large amounts of data which is hard with a usb drive and insufficient space on all other network machines.

Any help would be greatly appreciated.


share|improve this question

migrated from Aug 21 '09 at 6:01

This question came from our site for professional and enthusiast programmers.

Update: Windows 7 Service Pack 1 includes a hotfix:

KB981214: There is high CPU usage when using a USB audio device connected to a USB 2.0 EHCI host controller

In this scenario, you notice that there is high CPU usage approximately every 15 seconds on the computer. Additionally, you may experience skipping in audio playback from the audio device when overall CPU usage reaches 100%.

See if SP1 fixes the problem.

Use Process Explorer to peek at the thread that is running, and look at its stack trace. At the very least you can see the services hosted inside services.exe.

alt text

i assume the machine is CPU bound during this time, and not IO bound. If it is I/O bound, you can see what it's doing using Process Monitor - it might lead to some insights.

i see in your screenshot of Process Explorer that the process is taking 50% of the cpu. i assume it is a dual-core machine, and taking one entire core. So the CPU is stuck doing something.

Looking at the stack trace:

alt text

The things i key on (i'm not an expert, they just piqued my interest) are:

  • VerifyCatalogFile
  • Setup*FindNextMatchLine*W
  • SetupDi*EnumDeviceInterfaces*

From the term "catalog file", sounds to me like it's going through all the installed INF's. i don't know what these functions do, but i can check:


Verifies a single catalog file.


The SetupFindNextMatchLine function returns the location of the next line in an INF file relative to ContextIn.Line that matches a specified key.


The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set.

So it sounds like it's going through all the INF files, poking through each one, and then doing stuff based on what it finds.

The next question is, is it stuck on one INF file, or are there just a lot of them, or is it repeating itself, or does it not have access to one, or...who knows.

The next thing i would do is load up Process Monitor, and set it to only show file activity by services.exe. Then you can see it zoom through all the inf files. Hopefully you can then see the one it's getting stuck on (hopefully it is simply getting stuck on one). Then perhaps you can rename/hide that offending INF file.

Update Two

Process Monitor primer.

On the toolbar, turn off the options except File System Activity:

alt text

Then add a filter:

Process Name

and click Add:

alt text

share|improve this answer
I tried looking for around with process monitor couldn't find anything. Any suggestions what I am looking for? Below is a screener from process explorer. – Will3265 Nov 13 '09 at 5:06
unfortunately services.exe is just repeating the same opening thread/closing thread over and over with out giving me any more details. Any idea how to find out which inf file it is reading each time? – Will3265 Nov 29 '09 at 15:30
Updates in answer – Ian Boyd Dec 15 '09 at 18:21

Check to see if USB Polling Idle is enabled. For details, see Also, if you do not need the HID User Input Service (see your services via Start -> Run -> services.msc), you may want to disable it.

share|improve this answer

You better first install your drive then plug it to your system and some times need to close ot off you antivirus or firewall then install the driver and then plug your device. and sometimes you must install in safemode for better work. but the my advice is don't plug device first and after that want install Driver.

share|improve this answer

not a solution to the problem, but to rule out faulty hardware, plug in a USB flash drive, then boot a Linux distro from CD and check whether the USB flash drive is detected and working normal.

share|improve this answer
they work. tried a recovery disk and ubuntu disk – Will3265 Nov 29 '09 at 15:39

Could this be AutoRun getting in your way? Try disabling it, or holding shift while the device is first connected.

share|improve this answer

Some ideas:

  1. Check in Device Manager, Properties of the USB device, whether Windows will agree to do Rollback Driver.
  2. Try to delete the USB device from Device Manager and reboot (better do a system backup first).
  3. Try also to disable the USB controller to see if this stops the driver update.
  4. Did you try to take the USB device out and reboot? It might simply be that the new device is broken. You might try it on another computer and a newer OS than W2K3.
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .