Cannot Play or Record Sound

SYMPTOMS

No audio in or out. Under Sounds and Multimedia in the Control Panel, a preferred device cannot be selected for any audio function. The message indicates No Audio Device Present, although the hardware properties of the sound card indicate that the device is working properly. An attempt to reload the Sound Card drivers results in a message saying the latest drivers are already loaded.

CAUSE

The Plug And Play Software Enumerator has failed. To check whether this is the case, open the Device Manager and expand the System Devices node. There should be an item called Plug And Play Software Device Enumerator. If it is missing or has an error, it needs to be reinstalled. A typical error message is “Error 31 - Cannot Read Driver Files”.

RESOLUTION

PRELIMINARY

  • Most sound card problems are caused by more mundane issues such as mute buttons and volume controls. Make sure your symptoms match the above description before proceeding.
  • You may want to start by creating a System Restore Point in case things go wrong later on.
  • You will need to log on with administrator privileges to carry out some of the following steps.

REINSTALLING PLUG AND PLAY SOFTWARE ENUMERATOR

Copy files swenum.sys and streamci.dll from the Windows system32\drivers directory to a temporary directory, eg C:\temp.

Copy machine.inf from the Windows inf directory to the same temporary directory.

From an MSDOS prompt, you would type:


md \temp

cd \temp

copy %windir%\inf\machine.inf \temp\allmachine.inf

copy %windir%\system32\drivers\swenum.sys \temp

copy %windir%\system32\streamci.dll \temp


Open the file \temp\allmachine.inf and go to line 22 which should be

ExcludeFromSelect=*

Delete or comment out that line, then save and close the file.

From Device Manager, uninstall the Plug And Play Software Enumerator.

Open Control Panel and select Add/Remove Hardware.

Select Add a new hardware device.

Choose “Select from list”.

Select Have Disk, and browse to the temp directory where you copied the files.

You should have all the different machine level services listed since you have removed the ExcludeFromSelect=* which hid them all. Select Plug and Play Software Enumerator from the list and start the installation.

If the Plug And Play Software Enumerator comes back up with no errors, recheck the Audio Device settings and confirm that the sound is now working. If the error is gone but there is still no sound, it may be necessary to re-install the Sound card drivers. If the error has not gone, there may be a problem in the registry - see Repairing The Registry below.

REINSTALLING SOUND CARD DRIVERS

From Device Manager, select the sound card and click Uninstall.

Reboot or select Scan for New Hardware. Windows should automatically find the driver files for a built-in audio device (AC'97). For other devices, it may be necessary to use the relevant driver CD.

REPAIRING THE REGISTRY

In some cases, failure of the Plug And Play Software Enumerator is caused by a corrupted registry key. If reinstallation fails to clear the error, proceed as follows.

Uninstall the Plug And Play Software Enumerator.

Start the registry editor by typing regedit from an MSDOS prompt.

Press <Ctl>F and search for the string swenum.

Wherever you find a key that contains the string swenum, delete the whole key. There will be about five to ten such keys. Deleting them all is easier than trying to spot which one is corrupted.

Reboot, then open regedit and check there are no further keys containing swenum.

Reinstall the Plug And Play Software Enumerator using the steps outlined above. Uninstall then re-install the sound card drivers, and check that your sound is now working.

ERROR OPENING REGISTRY KEY

Some registry corruption errors cannot be solved directly by deleting the key, because Windows does not recognise the format of the corrupted key. If you try to delete a key and receive the message “Error Opening Key”, examine the value to determine what has changed. For example a GUID should be of the form {12345678-9ABC-DEF1-2345-6789ABCDEF12}. Corruption of the opening or closing bracket will cause this error.

It is not possible to edit the registry file directly because it is locked by the operating system. Nor does the Windows registry export/import tool allow you to overwrite a corrupted key. You can however save registry hives using ERUNT (Emergency Rescue Utility for Windows NT), downloadable for free from the internet. With a hex file viewer/editor, search for and replace the corrupted character or characters in the backup file, then restore the patched registry hive as per the ERUNT instructions.

OTHER SYSTEM DEVICE ERRORS

It is possible that all devices visible in Device Manager are healthy but there are errors on hidden system devices. If audio functions are still unavailable after following the above steps, try re-installing the Microsoft Kernel audio devices as described below.

On the System Properties panel, Advanced tab, Environment Variables button, under the User variables click New and create a variable named

devmgr_show_nonpresent_devices

with the value of 1.

Open the Device Manager and select Show Hidden Devices from the View menu.

Under Sound and Multimedia, find your sound card and disable it (or them).

Then uninstall the following devices:

  • Microsoft Kernel Audio Splitter
  • Microsoft Kernel System Audio Device
  • Microsoft Kernel Wave Audio Mixer
  • Microsoft WINMM WDM Audio Compatibility Driver

Select Scan for hardware changes. Windows should detect and reinstall the deleted devices automatically. You may get non-signed driver warnings.

Re-enable the sound card devices.

You may need to reboot.

ACKNOWLEDGEMENTS

Thanks to “Tony Marques”, “Ven” and “King”, contributors to the thread on this subject at http://www.annoyances.org/exec/forum/winxp/t1066427444

 
knowledgebase/00001.txt · Last modified: 2007/08/17 17:59 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki