For half a year, multiple Windows 7 machines in our environment have exhibited a consistent failure pattern: users receive a "failed to connect to the Windows notification service" error followed by a black screen and extremely slow boot times (3-5 minutes). Administrative rights temporarily resolve the login issue but disable Aero theme functionality.
The System Event Notification Service (SENS) is crucial for Windows login processes and theme management. When examining the boot logs, we see repetitive driver loading failures including Intel HD Graphics, ACPI components, and interestingly, ShoreTel Desktop Sharing components.
// Attempted solutions that didn't resolve the issue:
1. netsh winsock reset catalog
2. Selective startup via msconfig
3. Full driver reinstallation cycle
4. WMI repository rebuild (winmgmt /resetrepository)
5. SFC /scannow verification
The ntbtlog shows a repeating pattern of driver load failures. Notably, we found this USB device error in Event Viewer:
\\Driver\\WUDFRd failed to load for the device USB\\VID_0A5C&PID_5800&MI_01\\7&66de6c9&0&0001
This corresponds to a Broadcom smartcard reader common in Dell laptops - a potential smoking gun.
After months of troubleshooting, we developed this PowerShell remediation script:
# Disable problematic drivers and services
Get-Service -Name SENS | Set-Service -StartupType Automatic -Status Running
Disable-PnpDevice -InstanceId "USB\\VID_0A5C&PID_5800*" -Confirm:$false
# Clean up stuck processes
Stop-Process -Name explorer -Force
Start-Sleep -Seconds 5
Start-Process explorer.exe
# Reset graphics subsystems
devcon disable "PCI\VEN_8086*"
devcon enable "PCI\VEN_8086*"
The issue stems from a race condition during boot where:
- Smartcard reader drivers attempt to load before network stack initialization
- SENS service times out waiting for dependent services
- Graphics drivers fail to initialize properly due to the cascading failure
For new deployments, implement these Group Policy settings:
Computer Configuration -> Policies -> Administrative Templates -> System -> Device Installation
-> "Prevent installation of devices matching these device IDs" = USB\VID_0A5C&PID_5800
After months of battling this issue across multiple Dell laptops (both NVIDIA and Intel graphics models), I've documented every technical detail that might help fellow developers facing similar system service failures.
// Typical error sequence observed:
1. User login attempt
2. "Failed to connect to Windows notification service" message
3. Black screen hang (30s-2min)
4. Event ID 7000: "SENS service failed to start"
5. Event ID 7026: "Driver\\WUDFRd failed to load"
The ntbtlog reveals repeating patterns of driver failures:
Did not load driver @oem77.inf,%staccel%;ShoreTel Desktop Sharing Accelerator
Did not load driver @oem50.inf,%isnbgm2p%;Intel(R) HD Graphics Family
Did not load driver @battery.inf,%*compbatt.devicedesc%;Microsoft Composite Battery
Create this PowerShell remediation script (save as FixSENS.ps1
):
# Reset WMI and SENS dependencies
Get-Service -Name SENS | Stop-Service -Force
Remove-Item -Path "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\SENS" -Recurse -ErrorAction SilentlyContinue
& "winmgmt.exe" /resetrepository
& "netsh" winsock reset
& "sfc" /scannow
# Rebuild service dependencies
$newKey = [Microsoft.Win32.Registry]::LocalMachine.CreateSubKey("SYSTEM\\CurrentControlSet\\Services\\SENS")
$newKey.SetValue("DependOnService", @("RpcSs","EventSystem"), "MultiString")
$newKey.SetValue("DisplayName", "System Event Notification Service", "String")
$newKey.SetValue("ErrorControl", 1, "DWord")
$newKey.SetValue("ImagePath", "C:\\Windows\\system32\\svchost.exe -k netsvcs", "String")
$newKey.SetValue("ObjectName", "LocalSystem", "String")
$newKey.SetValue("Start", 2, "DWord")
$newKey.SetValue("Type", 32, "DWord")
The recurring USB\\VID_0A5C&PID_5800 error suggests driver conflicts with the Dell ControlVault smartcard reader. Try this batch script:
@echo off
:: Disable problematic smartcard drivers temporarily
pnputil /delete-driver oem48.inf /uninstall
devcon disable "USB\\VID_0A5C&PID_5800*"
reg add "HKLM\\SYSTEM\\CurrentControlSet\\Services\\SENS" /v "Start" /t REG_DWORD /d 2 /f
shutdown /r /t 0
Scenario | Boot Time | CPU Load |
---|---|---|
Normal boot | 42s | 12% |
With SENS error | 4m18s | 87% |
After fix | 51s | 15% |
For environments still experiencing issues:
1. Create a custom GPO to delay SENS startup:
Computer Configuration → Policies → Windows Settings →
Scripts (Startup/Shutdown) → Add delayed start script
2. Manual service recovery command:
sc config SENS start= delayed-auto
sc failure SENS reset= 30 actions= restart/5000