XPS

Last reply by 01-24-2022 Solved
Start a Discussion
2 Iron

XPS 17 9700, crashes when sleeping, fingerprint to blame?

I've had the new XPS 17 for just over a month and it has a significant problem - it crashes and restarts when in sleep mode both when plugged in or unplugged. It seems that the Goodix fingerprint reader driver is the culprit, but not really sure what to do about it. Below is what I did to identify the Goodix device.

I noticed that SupportAssistant lists each BSOD in its history tab (a lot more clearly than the Windows Event Viewer) and I could see crashes there that were at the times when the laptop was sleeping.

supportassistant.png

I called Dell support and let the support engineer remote onto my Laptop. He downloaded and ran BlueScreenView https://www.nirsoft.net/utils/blue_screen_view.html. This was new to me so watched with interest. BlueScreenView lists and inspects all the minidumps created when Windows crashes and all 5 in my case were DRIVER_POWER_STATE_FAILURE related.

Annotation 2020-08-01 081553.png

The engineer then decided to manually reinstall all my drivers which seemed like it was a bit sledge hammer as an approach and took him over an hour. Later the same day (yesterday) same thing: came back to the laptop after it was sleeping and it had crashed and restarted. You can see this in support assistant above.

This morning I've dug into it a bit. DRIVER_POWER_STATE_FAILURE results under lots of conditions but relates to a device driver not responding correctly to Windows power management. Power management has become more and more complex over time as hardware and software designers try to preserve battery thus this type of failure is quite common. You can install the preview version of WinDbg (Windows Debugger) from the Microsoft Store. I loaded each dump into this tool and learnt that once loaded you can run !analyze

10: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000006, The device did not complete its Directed Power Transition callback successfully.
Arg2: ffffdf82f90159a0, The POP_FX_DEVICE object
Arg3: 0000000000000000, If this was a Directed Power Down(1) or Power Up(0) completion
Arg4: 0000000000000000

and in the case of my particular failures you can run  

dt _POP_FX_DEVICE ffffdf82f90159a0

To list the details of the driver which was receiving the IO Request Packet (Windows command sent to drivers). In my case this is always:

  +0x4a0 FriendlyName     : _UNICODE_STRING "Goodix fingerprint (\_SB.PCI0.XHC.RHUB.HS01)"

 I don't have a resolution to this but perhaps someone can suggest something as the Dell engineer was a bit out of his depth with this. I guess at this point its one of two things. The fingerprint reader hardware is faulty or there is a bug in the driver.

Solutions (2)

Accepted Solutions
2 Iron

Since this I have had a further crash today (seems to be at a frequency of a couple a day). I have gone in to the Goodix fingerprint properties from the device manager and changed the Power Management settings. I have unticked "Allow the computer to turn off this device to save power"

Goodix fingerprint props.png

Will update if that stops it or not.

View solution in original post

Community Accepted Solution
2 Bronze
2 Bronze

Yes, there is 

SabbyNet_0-1643076724561.png

 

View solution in original post

Dell Accepted Solution
Replies (36)
2 Iron

Since this I have had a further crash today (seems to be at a frequency of a couple a day). I have gone in to the Goodix fingerprint properties from the device manager and changed the Power Management settings. I have unticked "Allow the computer to turn off this device to save power"

Goodix fingerprint props.png

Will update if that stops it or not.

Community Accepted Solution

So far so good. after several long sleep mode periods both while charging and while not no further crashes yet.

superficially it seems to me as though the two tick box settings are actually mutually exclusive. allowing the device to wake the laptop from sleep and have the operating system power it down to save on battery seem to contradict each other. Maybe someone can explain that better to me.

Pretty convinced now that this setting has fixed the issue for me. one thing to add is that I am on windows 10 2004 May 2020 update and the Goodix driver is the latest on the Dell support site Version 3.20.30.110, A00

Thanks for sharing this solution! I had the exact same problem with "it looks like windows didn't load correctly" blue screens every time I woke my Inspiron 5406 from sleep. I ran these commands on WinDbg Preview on the most recent dmp file in C:\Windows\Minidump and confirmed I get the same output as you:

6: kd> !analyze -show
DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000006, The device did not complete its Directed Power Transition callback successfully.
Arg2: ffffbf8a32144a60, The POP_FX_DEVICE object
Arg3: 0000000000000000, If this was a Directed Power Down(1) or Power Up(0) completion
Arg4: 0000000000000000
6: kd> dt _POP_FX_DEVICE ffffbf8a32144a60
nt!_POP_FX_DEVICE
   +0x000 Link             : _LIST_ENTRY [ 0xffffbf8a`30636a20 - 0xffffbf8a`32175a40 ]
   +0x010 Irp              : 0xffffbf8a`31d65050 _IRP
   +0x018 IrpData          : 0xffffbf8a`300df7c8 _POP_IRP_DATA
   +0x020 Status           : _POP_FX_DEVICE_STATUS
   +0x024 PowerReqCall     : 0n0
   +0x028 PowerNotReqCall  : 0n0
   +0x030 DevNode          : 0xffffbf8a`21de4bf0 _DEVICE_NODE
   +0x038 DpmContext       : 0xffffbf8a`2f865c90 PEPHANDLE__
   +0x040 Plugin           : (null) 
   +0x048 PluginHandle     : (null) 
   +0x050 AcpiPlugin       : (null) 
   +0x058 AcpiPluginHandle : (null) 
   +0x060 DeviceObject     : 0xffffbf8a`21dd97f0 _DEVICE_OBJECT
   +0x068 TargetDevice     : 0xffffbf8a`30d44a90 _DEVICE_OBJECT
   +0x070 Callbacks        : _POP_FX_DRIVER_CALLBACKS
   +0x0c0 DriverContext    : 0xffffbf8a`330d7070 Void
   +0x0c8 AcpiLink         : _LIST_ENTRY [ 0xffffbf8a`32144b28 - 0xffffbf8a`32144b28 ]
   +0x0d8 DeviceId         : _UNICODE_STRING "\_SB.PC00.XHCI.RHUB.HS05"
   +0x0e8 RemoveLock       : _IO_REMOVE_LOCK
   +0x108 AcpiRemoveLock   : _IO_REMOVE_LOCK
   +0x128 WorkOrder        : _POP_FX_WORK_ORDER
   +0x160 IdleLock         : 0
   +0x168 IdleTimer        : _KTIMER
   +0x1a8 IdleDpc          : _KDPC
   +0x1e8 IdleTimeout      : 0x5f5e100
   +0x1f0 IdleStamp        : 0x000000f4`88e1e8a1
   +0x1f8 NextIrpDeviceObject : [2] (null) 
   +0x208 NextIrpPowerState : [2] _POWER_STATE
   +0x210 NextIrpCallerCompletion : [2] (null) 
   +0x220 NextIrpCallerContext : [2] (null) 
   +0x230 IrpCompleteEvent : _KEVENT
   +0x248 PowerOnDumpDeviceCallback : (null) 
   +0x250 Accounting       : _POP_FX_ACCOUNTING
   +0x330 Flags            : 0x20
   +0x334 ComponentCount   : 1
   +0x338 Components       : 0xffffbf8a`300df5f0  -> ???? 
   +0x340 LogEntries       : 0x40
   +0x348 Log              : 0xffffbf8a`300df8c8 _POP_FX_LOG_ENTRY
   +0x350 LogIndex         : 0n527
   +0x358 DripsWatchdogDriverObject : (null) 
   +0x360 DripsWatchdogContext : _POP_FX_DRIPS_WATCHDOG_CONTEXT
   +0x388 DirectedTimeout  : 0x78
   +0x390 DirectedWorkOrder : _POP_FX_WORK_ORDER
   +0x3c8 DirectedWorkWatchdogInfo : _POP_FX_WORK_ORDER_WATCHDOG_INFO
   +0x478 DirectedLock     : 0
   +0x480 DirectedTransitionCallCount : 0n0
   +0x488 DirectedTransitionState : _POP_FX_DEVICE_DIRECTED_TRANSITION_STATE
   +0x498 PowerProfile     : (null) 
   +0x4a0 FriendlyName     : _UNICODE_STRING "Goodix fingerprint (\_SB.PC00.XHCI.RHUB.HS05)"

 

Changing the driver properties didn't help me.

I have latest 1.8.2 BIOS installed.

To fix the issue, I had to enter the BIOS at boot with F2, restored 'Factory' settings, then in the left tab 'Integrated Devices', under the 'Miscellaneous Devices' section, disabled (unchecked) the two options:[ ] Enable Fingerprint Reader Device[ ] Enable Fingerprint Reader Single Sign On

I don't have the fingerprint reader now, but at least the laptop isn't crashing when in sleep now.

Note: The power button still doesn't put the laptop to sleep, and hasn't since BIOS 1.5.0. If I reflash with 1.5.0 the button will work again, so that is definitely a BIOS bug.

tl;dr The workaround mentioned above works.

I have the same laptop (XPS 17 9700) and had the same problem (BSOD after sleep, several times daily). I applied your workaround (untick the "Allow the computer to turn off this device to save power" setting on the Goodix driver) three days ago and have had no crashes since.

Thank you @Steven Pavett  for digging in to this and for sharing your findings.

Hi. I've also traced my problem of random restarts to the fingerprint scanner. However, I'm missing the power management tab in device properties. Any way to get this to show up? (Device is an Inspiron 15 5510)

shauncb_0-1626302429123.png

 

New windows 10 builds get rid of the power management settings. Long story but if you want access to it you'll need to google how to re-enable "S3 sleep" for your model

I have the same issue, I don't see the power management option, is there a way to disable/enable using registry?

Top Contributor
Latest Solutions