• ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
Are you having HotKey issues? Click here for tips and tricks.
Check out our WINDOWS 11 Support Center info about: OPTIMIZATION, KNOWN ISSUES, FAQs, VIDEOS AND MORE.
HP Recommended
HP Elite Mini 800 G9 Desktop PC (550B5AV)
Microsoft Windows 11

Having an audio problems with our HP EliteDesk 800 G9 machines. Our latest effort involved building a new CPU. Audio stops on newly deployed desktop after reboot

Getting "No audio devices are installed" under the Playack tab under Sound Settings. Under Trooubleshooting audio problems it says "No output devices found.
Seems to be uers wih speaker with "Headphone" jack having the issue.

- USB Audio seems to be fine.
- No sound drivers not present under device manager.
- Installed Driver - HP Elite Mini 800 G9 Desktop PC (didnt work)
- Tried https://www.driversupport.com/knowledge-article/exploring-realtek-hd-audio-drive-failures-and-common... (didnt Work)
- Tried rolling ack firmware to sp145985.exe 2.10 (didnt Work)
- Tried sp148478.exe (didnt work)

Host Name: *********
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22621 N/A Build 22621.2283 (22H2)
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
BIOS Version: HP U21 Ver. 02.11.01, 8/17/2023

Event Properties show " The windows Audio dervice terminated unexpectedly. It has done this 4 time(s). The following corrective action will be taken in 180000 milliseconds: Restarted the service.

13 REPLIES 13
HP Recommended

Same issue here with same machine Desk 800 G9.

 

I wound up removing all Realtek devices from the machine and uninstalled their drivers (in safe mode). Then installed the Realtek drivers from the HP website. This fixed it... until Windows then installed "updated drivers" through Windows Update. Went through it again... and turned off automatic driver updates from Windows update.

 

This worked fine for a few days... then it stopped working again. And I found Windows update had installed the drivers AGAIN despite my efforts to prevent this.

 

Seems to be when the following updates get installed by Windows update:
image (7).png

 

It's causing windows audio service to crash about 2 seconds after starting. 

HP Recommended

Further to this, I saw Dale Foster's other post about the same issue with notebooks and that webcam was suspected.

 

Unplugged my Logitech C920. Rebooted. Have sound.

 

Plugged it in. A few seconds later, Windows Audio Service crashed.

 

Sigh. 

HP Recommended

We have the same problem. Not possible to get sound out of it. Tried different options without success.

HP Recommended

Hey just chiming in we are having the same issue as well in our school environment

 

Happening to  HP Pro SFF 400 G9 Desktop PC on at least 2 devices ( Win 11)

 

Seems to be pointing to the realtek drivers installed recently

HP Recommended

Has anyone found a solution yet? I have at least 3 users reporting all the same sound issue and messaged HP but still await a response or proposed fix. 

HP Recommended

HP support sent us a powershell script to run to fix this issue. It only works on average, for the day. It's basically removing all of the HP OEM drivers. By the end of the day/overnight. Windows update is just downloading the drivers again and breaking it. 

 

 

Spoiler

### Set Execution Policy #######
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
##Dir creation
$QdirHPrx = Test-Path -Path 'c:\HPrx' -PathType ANY
$QdirTemp = Test-Path -Path 'c:\HPrx\temp' -PathType ANY
$QdirHPiA = Test-Path -Path 'c:\HPrx\HPiA' -PathType ANY
$QdirLog = Test-Path -Path 'c:\HPrx\Logs' -PathType ANY
$QdirLogiA = Test-Path -Path 'c:\HPrx\Logs\HPiA' -PathType ANY
$QdirCMSL = Test-Path -Path 'c:\HPrx\CMSL' -PathType ANY
$QdirDrivers = Test-Path -Path 'c:\HPrx\Drivers' -PathType ANY

if ($QdirHPrx -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx
}
if ($QdirTemp -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\temp
}
if ($QdirHPiA -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\HPiA
}
if ($QdirLog -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\Logs
}
if ($QdirCMSL -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\CMSL
}
if ($QdirDrivers -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\Drivers
}
if ($QdirLogiA -match 'False')
{
New-Item -ItemType directory -Path c:\HPrx\Logs\HPiA
}

$UNO = '12.0.6000.303'
$xUNO = 'Version'
$deux = '13.186.1116.176'
$xdeux = 'Version'
$trois = '6.0.9557.1'
$xtrois = 'Version'
$Quatre = '11.0.6000.30'
$xQuatre = 'Version'
$cinq = '1.0.634.0'
$xcinq = 'Version'
$six = ''
$xsix = ''
$sept = ''
$xsept = ''
$huit = ''
$xhuit = ''
$logz = 'C:\HPrx\Logs\DriversRemoved.txt'

$dismOut = dism /online /get-drivers
$Lines = $dismOut | select -Skip 10
$Operation = "theName"
$Drivers = @()


foreach ( $Line in $Lines ) {
$tmp = $Line
$txt = $($tmp.Split( ':' ))[1]
switch ($Operation) {

'theName' { $Name = $txt
$Operation = 'theFileName'
break
}
'theFileName' { $FileName = $txt.Trim()
$Operation = 'theEntr'
break
}
'theEntr' { $Entr = $txt.Trim()
$Operation = 'theClassName'
break
}
'theClassName' { $ClassName = $txt.Trim()
$Operation = 'theVendor'
break
}
'theVendor' { $Vendor = $txt.Trim()
$Operation = 'theDate'
break
}
'theDate' { # change the date format for easy sorting
$tmp = $txt.split( '.' )
$txt = "$($tmp[2]).$($tmp[1]).$($tmp[0].Trim())"
$Date = $txt
$Operation = 'theVersion'
break
}
'theVersion' { $Version = $txt.Trim()
$Operation = 'theNull'
$params = [ordered]@{ 'FileName' = $FileName
'Vendor' = $Vendor
'Date' = $Date
'Name' = $Name
'ClassName' = $ClassName
'Version' = $Version
'Entr' = $Entr
}
$obj = New-Object -TypeName PSObject -Property $params
$Drivers += $obj
break
}
'theNull' { $Operation = 'theName'
break
}
}
}

$Drivers | sort FileName
$INF =''

####################### Removal 1 ##################################

foreach ( $Dr in $($Drivers | sort $xUNO) ) {
where ($Dr.$xUNO -eq $UNO )
$INF = $Dr.$xUNO
}
$list = $INF
$ToDel = @()
foreach ( $Dr in $list ) {
$sel = $Drivers | where { $_.$xUNO -eq $UNO }
$sel | ft
$ToDel += $sel
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel | ft > $logz
# removing old drivers
foreach ( $item in $ToDel ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}

####################### Removal 2 ##################################


foreach ( $Dr in $($Drivers | sort $xDeux) ) {
where ($Dr.$xDeux -eq $Deux )
$INF = $Dr.$xDeux
}
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xDeux -eq $Deux }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
####################### Removal 3 ##################################

foreach ( $Dr in $($Drivers | sort $xTrois) ) {
where ($Dr.$xTrois -eq $trois )
$INF = $Dr.$xTrois
}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xTrois -eq $trois }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
####################### Removal 4 ##################################
foreach ( $Dr in $($Drivers | sort $xQuatre) ) {
where ($Dr.$xQuatre -eq $quatre )
$INF = $Dr.$xQuatre

}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xQuatre -eq $quatre }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
####################### Removal 5 ##################################
foreach ( $Dr in $($Drivers | sort $xCinq) ) {
where ($Dr.$xCinq -eq $cinq )
$INF = $Dr.$xCinq
}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xCinq -eq $cinq }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}

####################### Removal 6 ##################################
foreach ( $Dr in $($Drivers | sort $xSix) ) {
where ($Dr.$xSix -eq $Six )
$INF = $Dr.$xSix
}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xSix -eq $Six }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
####################### Removal 7 ##################################
foreach ( $Dr in $($Drivers | sort $xSept) ) {
where ($Dr.$xSept -eq $Sept )
$INF = $Dr.$xSept
}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xSept -eq $Sept }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
####################### Removal 8 ##################################
foreach ( $Dr in $($Drivers | sort $xHuit) ) {
where ($Dr.$xHuit -eq $Huit)
$INF = $Dr.$xHuit
}
#Write-Host "Outdated drivers"
$list = $INF
$ToDel2 = @()
foreach ( $Dr in $list ) {
Write-Host "Drivers to remove" -ForegroundColor Yellow
$sel2 = $Drivers | where { $_.$xHuit -eq $Huit }
$sel2 | ft
$ToDel2 += $sel2
}
Write-Host "Drivers to remove" -ForegroundColor Red
$ToDel2 | ft >> $logz
# removing old drivers
foreach ( $item in $ToDel2 ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name" -ForegroundColor Yellow
Write-Host "pnputil.exe -d $Name" -ForegroundColor Yellow
Invoke-Expression -Command "pnputil.exe /delete-driver $Name /uninstall /force" >> $logz
}
##################################################### driver removal END ###############################

# Check if the Windows Audio service is running
$serviceStatus = Get-Service -Name "AudioSrv"

if ($serviceStatus.Status -eq "Stopped") {
# Start the Windows Audio service
Start-Service -Name "AudioSrv"
Write-Host "Windows Audio service has been started."
} elseif ($serviceStatus.Status -eq "Running") {
Write-Host "Windows Audio service is already running."
} else {
Write-Host "Windows Audio service status is unknown."
}

HP Recommended

Any webcam connected to the computer? Disconnect it and see if something happens with the sound.

HP Recommended

Today i found at my HP Elite Desk 800 G9 , after a month waiting and trying the solution
With a recent on-line tool , i got the recommendation to upgrade my Real Tek HD audio driver with the sp149591.exe from HP which is from 17.10.2023 recently. After this installation and a restart of my PC the audio  works well again directly!

Hopefully it can helps others too with this longterm issue already. Succes!

HP Recommended

Exactly the same issue here with an Elite Mini 800 G9. The only successful workaround is to uninstall onboard Realtek and driver in Device Manager. This will work for a day or two before the device is re-installed by the system and audio is once again broken.

 

I've tried all the fixed listed here - no joy. 

 

HP if you're listening - can we expect a resolution to this?

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.