I'm running Vista Home Premium on a brand new Dell Inspiron 530 series with quadcore 2.4 Ghz, 3 gig memory. When I shut down the machine it sits on the "Shutting down..." screen for several minutes with the circular icon rotating. Then it goes to a blue screen with a DRIVER_POWER_STATE_FAILURE message. The numbers are:
Ox00000003 (0x86E9A030, x8472B028, 0x873E8508)
I had a feeling it was being caused by a TASCAM US-428 USB audio board. The drivers for the device are unsigned but are made by the manufacturer for Vista. The Microsoft knowledge base advises me to "uninstall the problematic driver", as though that is a solution. (I could of course just uninstall all my software and the whole OS and put the computer in the storage closet, but that would drastically impact my productivity.)
Below is the output from WinDbg, which confirms that it is the US-428 device causing the problem. I recognize that strictly speaking it's the driver's fault and not the OS's, but also that every other OS known to mankind seems to be able to shut down after using this device without the whole world grinding to a halt. I will be contacting the device manufacturer but from past experiences I don't anticipate much help there. Does anyone know of a workaround if not a solution to this problem? Thanks so much.
---
Microsoft ® Windows Debugger Version 6.9.0003.113 X86
Copyright © Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Windows\Minidump\Mini082708-03.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\nathaniel symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows Server 2008 Kernel Version 6001 (Service Pack 1) MP (4 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Built by: 6001.18063.x86fre.vistasp1_gdr.080425-1930
Kernel base = 0x81e18000 PsLoadedModuleList = 0x81f2fc70
Debug session time: Wed Aug 27 21:00:37.194 2008 (GMT-4)
System Uptime: 0 days 0:11:10.774
Loading Kernel Symbols
................................................................................
.......................................................
Loading User Symbols
Loading unloaded module list
......
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 9F, {3, 87061030, 86d67028, 871bb6a8}
*** WARNING: Unable to verify timestamp for US428.sys
*** ERROR: Module load completed but symbols could not be loaded for US428.sys
Probably caused by : US428.sys
Followup: MachineOwner
---------
0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DRIVER_POWER_STATE_FAILURE (9f)
A driver is causing an inconsistent power state.
Arguments:
Arg1: 00000003, A device object has been blocking an Irp for too long a time
Arg2: 87061030, Physical Device Object of the stack
Arg3: 86d67028, Functional Device Object of the stack
Arg4: 871bb6a8, The blocked IRP
Debugging Details:
------------------
DRVPOWERSTATE_SUBCODE: 3
IRP_ADDRESS: 871bb6a8
DEVICE_OBJECT: 86d67028
DRIVER_OBJECT: 87063750
IMAGE_NAME: US428.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 46d5cde6
MODULE_NAME: US428
FAULTING_MODULE: a51c2000 US428
CUSTOMER_CRASH_COUNT: 3
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x9F
PROCESS_NAME: System
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from 81e4bb6c to 81ee5163
STACK_TEXT:
81f0dacc 81e4bb6c 0000009f 00000003 87061030 nt!KeBugCheckEx+0x1e
81f0db28 81e4b6bc 81f0db94 866c82b8 8636ac00 nt!PopCheckIrpWatchdog+0x1ad
81f0db68 81eced00 81f264e0 00000000 7b8a9a10 nt!PopCheckForIdleness+0x343
81f0dc88 81ece8c0 81f0dcd0 86317c02 81f0dcd8 nt!KiTimerListExpire+0x367
81f0dce8 81ece483 00000000 00000000 0000a7f5 nt!KiTimerExpiration+0x22a
81f0dd50 81eccf9d 00000000 0000000e 00000000 nt!KiRetireDpcList+0xba
81f0dd54 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x49
STACK_COMMAND: kb
FOLLOWUP_NAME: MachineOwner
FAILURE_BUCKET_ID: 0x9F_IMAGE_US428.sys
BUCKET_ID: 0x9F_IMAGE_US428.sys
Followup: MachineOwner
---------
Edited by UncleNate, 27 August 2008 - 10:27 PM.