Question

Q: Blue screen when undocking, connecting/disconnecting USD devices.

original title: BSOD when undocking, connecting/disconnecting USD devices.

I have had a problem for some time where I get a BSOD when I undock my computer, or try to connect/disconnect a USB device.  It is a Dell Lattitude D830.  The dump file generally looks like:

 

Loading Dump File [C:\WINDOWS\Minidump\Mini093010-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: SRV*C:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp3_gdr.100427-1636
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
Debug session time: Wed Sep 29 17:07:56.807 2010 (GMT-4)
System Uptime: 0 days 3:50:28.856
Loading Kernel Symbols
...............................................................
................................................................
.......................................
Loading User Symbols
Loading unloaded module list
..................................................
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 44, {89a7d008, 1bc0, 0, 0}

Unable to load image oz776.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for oz776.sys
*** ERROR: Module load completed but symbols could not be loaded for oz776.sys
Probably caused by : oz776.sys ( oz776+2b16 )

Followup: MachineOwner
---------

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

MULTIPLE_IRP_COMPLETE_REQUESTS (44)
A driver has requested that an IRP be completed (IoCompleteRequest()), but
the packet has already been completed.  This is a tough bug to find because
the easiest case, a driver actually attempted to complete its own packet
twice, is generally not what happened.  Rather, two separate drivers each
believe that they own the packet, and each attempts to complete it.  The
first actually works, and the second fails.  Tracking down which drivers
in the system actually did this is difficult, generally because the trails
of the first driver have been covered by the second.  However, the driver
stack for the current request can be found by examining the DeviceObject
fields in each of the stack locations.
Arguments:
Arg1: 89a7d008, Address of the IRP
Arg2: 00001bc0
Arg3: 00000000
Arg4: 00000000

Debugging Details:
------------------


IRP_ADDRESS:  89a7d008

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  DRIVER_FAULT

BUGCHECK_STR:  0x44

PROCESS_NAME:  services.exe

LOCK_ADDRESS:  8055b4e0 -- (!locks 8055b4e0)

Resource @ nt!PiEngineLock (0x8055b4e0)    Available

WARNING: SystemResourcesList->Flink chain invalid. Resource may be corrupted, or already deleted.


WARNING: SystemResourcesList->Blink chain invalid. Resource may be corrupted, or already deleted.

1 total locks

PNP_TRIAGE:
 Lock address  : 0x8055b4e0
 Thread Count  : 0
 Thread address: 0x00000000
 Thread wait   : 0x0

LAST_CONTROL_TRANSFER:  from 804ef4d4 to 804f9f43

STACK_TEXT: 
b0543b58 804ef4d4 00000044 89a7d008 00001bc0 nt!KeBugCheckEx+0x1b
b0543b80 b823e3fd 89a7d008 b0543ba8 b823e948 nt!IopFreeIrp+0x22
b0543b8c b823e948 8aab42b0 89a7d008 89b4d0e8 usbhub!USBH_HubCancelIdleIrp+0x2d
b0543ba8 804f1605 8aa6eb58 8a9cc538 89b4d0e8 usbhub!USBH_PortIdleNotificationCancelRoutine+0x4c
b0543bc0 b82dab16 8a9cc538 89cfb32c 89cfb250 nt!IoCancelIrp+0x65
WARNING: Stack unwind information not available. Following frames may be wrong.
b0543bd4 b82e398d 00b4d0e8 89cfb350 8afef858 oz776+0x2b16
b0543bec 804ef19f 00000009 89cfb250 b0543c68 oz776+0xb98d
b0543bfc 80592b63 b0543c68 8aa80900 e89fb818 nt!IopfCallDriver+0x31
b0543c28 8058f757 89b4d030 b0543c44 00000000 nt!IopSynchronousCall+0xb7
b0543c6c 805867c2 8aa80900 b0543c88 e7a949b8 nt!PipQueryDeviceCapabilities+0x57
b0543cec 80645d54 8aa6eb58 00000010 00000004 nt!IoGetDeviceProperty+0x1a0
b0543d28 806454c2 0000000a 00000004 00000014 nt!PiControlGetPropertyData+0x14e
b0543d50 8054164c 0000000a 0007f864 e7a949a8 nt!NtPlugPlayControl+0xc2
b0543d50 7c90e514 0000000a 0007f864 e7a949a8 nt!KiFastCallEntry+0xfc
0007f89c 00000000 00000000 00000000 00000000 0x7c90e514


STACK_COMMAND:  kb

FOLLOWUP_IP:
oz776+2b16
b82dab16 ??              ???

SYMBOL_STACK_INDEX:  5

SYMBOL_NAME:  oz776+2b16

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: oz776

IMAGE_NAME:  oz776.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  476b05be

FAILURE_BUCKET_ID:  0x44_oz776+2b16

BUCKET_ID:  0x44_oz776+2b16

Followup: MachineOwner
---------



You dump file says the faulting module is:

Probably caused by : oz776.sys ( oz776+2b16 )

This is a driver that belongs to O2Micro Card Reader (I Googled that part).

You can do some Google searches for oz776.sys yourself and see what problems other people have had with BSOD and this driver.  I did not see one that had a happy ending - the threads just seem to peter out or people give up.  You may want to read through some of them yourself and see if any sound like your problem.

If you go to the Dell WWW page, select your system, choose to look at Drivers, look in the Security section, there is a listing for the O2Micro Smart Card Controller.

I would check your installed version in Device Manager (Start, Run, devmgmt.msc) and if the one on the Dell download page is a later version, install it.

I don't have your environment and never will so I am just suggesting what I would do if it was me. 

Maybe somebody else that has your environment or actually fixed the problem before will have another idea


Don't guess what the problem might be - figure it out and fix it. I need YOUR votes and points for helpful replies and Propose as Answers. I am saving up for a pony!

Did this solve your problem?

Sorry this didn't help.


Thank you for the reply.  Yes, I've done all of that (serveral times) on and off over the last year or so, and have yet to find the happy ending, or the driver update that will take care of the problem.  The best thread that I've found was on here, and it just fizzled out over the Summer, so I was hoping to revive it with the post.

Did this solve your problem?

Sorry this didn't help.


Somehow I had the impression/feeling that you have already done some looking...

Are you on the latest driver offering from Dell?  If you are not sure, I can help you figure that part out.

You have some USBhub stuff in your dump file as well but that doesn't mean it is afflicted, so you can check Device Manager (any yellow or red marks) and the Event Log after a failure for any errors and maybe more clues.  Maybe you will be the one to finally figure it out.

The O2 page is here but I don't see a Support option, but you could send them a query.  They may know exactly what the problem is:

http://www.o2micro.com/prods/prod_smartcard.html

You could also post out in the Dell forums if you haven't already, but I find little useful information out there (sometimes there is some good stuff).  Dell usually suggests you reformat and reinstall and "see how that works",   but some other human beings out there may have figured it out in the Dell support groups.

Looking for happy endings is a good thing.  Me: "Find and follow some advice (if you can) where there is a happy ending and is not just a bunch of trying things that might work maybe".

Rotsa ruck!

 

 


Don't guess what the problem might be - figure it out and fix it. I need YOUR votes and points for helpful replies and Propose as Answers. I am saving up for a pony!

 

Did this solve your problem?

Sorry this didn't help.


That's easy... Microsoft have yet to fix their power management to prevent it from calling the leaving USB-IDLE state TWICE.

Had the exact same bug...  It ocurred at usbhub!USBH_HubCancelIdleIrp+2d, but was caused by various poorly written drivers.  In my case, it was the USBHUB module (usbhub.sys)

In my case, it occurred when the lid is closed, or when the blackberry is pulled (or in your case, the docking was disconnected).

Did this solve your problem?

Sorry this didn't help.


That's a USBHUB.SYS bug.

No preventative coding were put in nt!IoCancelIrp to prevent the Power Management from calling the usbhub!USBH_PortIdleNotificationCancelRoutine TWICE.

In your case, it is most definnitely the oz776.sys driver.  In my case, it is the USBHUB.SYS.

Did this solve your problem?

Sorry this didn't help.


 
Question Info

Views: 2,606 Last updated: March 30, 2018 Applies to: