Windows Device Connect / Disconnect sound makes me wanna do */#$

Windows 10 logo

The last few weeks I cursed more behind my computer than I did the last years combined. At random intervals I was hearing the Windows Hardware Remove and Insert sound. It was unbelievably annoying.

For those who want to experience my annoyance:
C:\Windows\Media\Windows Hardware Remove.wav
C:\Windows\Media\Windows Hardware Insert.wav

EventLog

If anything of importance happens in Windows it’s probably being logged into the Event Viewer (eventvwr.msc), so I check the System and Application log. No events were noted at the time I heard the sounds. Recognizing the sound as something hardware related I looked at the Hardware Events log file which had the total amount of 0 events in it… not really helpfull.

DeviceSetupManager

Windows has another Event Log that looks like it has something to do with hardware located all the way down under Applications and Services Logs\Microsoft\Windows\DeviceSetupManager. The Admin log contains a lot of events, listing a lot of events about my monitors, phones, tablets and other connected hardware. I even saw my Chromecast device listed in an event and I have never used it this computer. I don’t even have Chrome installed on this computer… So this event log didn’t highlight the root cause directly.

More sound devices then you think

I have two monitors at my computerdesk. One dedicated for the computer and one connected through a HDMI-switch which can be my second screen or connected to my IP-TV tuner. While this setup has worked for years it might be cause of my issue. Disconnecting the cable to the HDMI switch from my pc is easy to do and can’t cause much harm. But sadly the disconnect/connect sounds didn’t stop it came back after some minutes went by.

I have my monitors connected with a HDMI and DisplayPort cable and as you may know these connections are for image and sound. Both my monitors are also sound devices for Windows and sometimes my preferred audio playback device gets switched around after standby and waking up from sleep or using my HDMI switch. This is normal behavior when connecting a new audio device. So knowing these devices sometimes connect and disconnect I disabled them through the Device Manager (devmgmt.msc). It looked like my issue was gone but as mentioned above the sounds came totally random. Sometimes 3 times in 15 minutes, some times not even for a day or two.

Straw that broke the camel’s back

Today I was browsing the web and it drove me mad. I think I heard it 10 times in what felt like 10 minutes. Manually looking at the device manager provided no answer, that console doesn’t update nicely with events. So I went looking for command-line option. Turns out that Microsoft doesn’t have a native PowerShell or Command Prompt utility that could help me. Time for good old devcon.exe.

DevCon.exe

DevCon.exe is a command-line utility that acts as an alternative to Device Manager. Using DevCon, you can enable, disable, restart, update, remove, and query individual devices or groups of devices. It was introduces for Windows 2000 in the Windows Driver Kit (WDK) and a download link was provided in an old support KB article. I believe the first version of the tool was around 60 KB and the current version for x64 is 80 KB. Sad thing is that you need to download more than 1GB to obtain this little tool from Microsoft. There are people providing this tool from a 3rd party website but who known what executable you are about to download + execute and redistribution of Microsoft software without consent is technically a violation of the End User License Agreements and you might get a take-down notice from Microsoft.

Workaround for downloading the entire WDK, just download a component containing DevCon.exe:

Download 787bee96dbd26371076b37b13c405890.cab, extract the file “filbad6e2cce5ebc45a401e19c613d0a28f”, and rename it to “DevCon.exe”.

After getting DevCon.exe you need to open a command prompt window to use DevCon. The command:

Command Prompt
devcon.exe find *

will list all the devices found on your computer. 104 in my case. I piped the output to a file so I could compare it later to another list with hopefully one more or one less device.

Command Prompt
devcon.exe find * >> 104devices.txt

As soon as the hardware sounds were playing again (and it didn’t take a long time today) I ran devcon.exe find * again this time it showed 103 devices! Yes!!! Finally something to look at. I quickly ran

Command Prompt
devcon.exe find * >> 103devices.txt

and checked if the 103 devices were captured in the text file.

A quick file compare in the command prompt with fc made me happy.

Command Prompt

fc find103.txt find104.txt
Comparing files find103.txt and FIND104.TXT
***** find103.txt
USB\ROOT_HUB30\4&419A9D0&0&0 : USB Root Hub (USB 3.0)
PCI\VEN_8086&DEV_8C2D&SUBSYS_50061458&REV_04\3&11583659&0&D0: Intel(R) 8 Series/C220 Series USB EHCI #2 – 8C2D
***** FIND104.TXT
USB\ROOT_HUB30\4&419A9D0&0&0 : USB Root Hub (USB 3.0)
USB\VID_045E&PID_028E&IA_01\6&244BFCFE&0&01 : XBOX 360 Headset Device
PCI\VEN_8086&DEV_8C2D&SUBSYS_50061458&REV_04\3&11583659&0&D0: Intel(R) 8 Series/C220 Series USB EHCI #2 – 8C2D
*****

I turns out the XBOX 360 Headset Device was removed or so my computer thought. I don’t have a real headset connected to the controller so it must be the internal sound device in the controller. I have the Xbox 360 Controller laying on my sub-woofer and the light on the controller is always on, it’s not like it blinking some times. On the back of the contoller it’s stated that it uses 400mA and device manager tells me it’s being delivered but who cares.

I disabled the XBOX 360 Headset Device in Device Manager (devmgmt.msc) and not a minute after this the same freaking @#%$* sound played again from my speakers!

Unplugging the controller from my front USB port did work 🙂 Perhaps it doesn’t get enough power or my 6+ year-old unused function of my controller is giving up. I’ll plug it in when I need it, it’s Plug & Play after all 😉

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s