Jump to content

Windows XP USB question


aahmad

Recommended Posts

Any ideas on why randomly our users unplug their flash drives and get blue screens. In the crash dumps it is pointing towards usbport.sys, we operate on Windows XP Sp2 and are up to date. Our desktops are HP DC 5100 MT, and laptops are IBM T61's. These blue screens occur on both systems. The bios is update in both systems. Thanks for any input!

Link to comment
Share on other sites


This is a snippet of what a user gets when they remove the device I will post a full dump of one of the machines tomorrow.

Thank you all for your help we are baffled!

Driver: IRQL_Not_Less_or_Equal

Stop: 0x00000D1 0x08458BEC

0x00000002, 0x00000001,

USBPORT.SYS Address F81A02B5

base at F819B000

Some of this is his hand writing and can not read hope that points to something...

** Another quick note this usb flash drive is an Olympus DS-4000 which has a 32 mb flash card in it and is the only item detected when connected to our pc's

Edited by aahmad
Link to comment
Share on other sites

So some driver on the system, be it usbport.sys or another, is at an IRQ level of DPC dispatch or higher (IRQL 2 or higher, up to IRQL 31) and referenced a memory address which was either not valid, or was paged to disk. This is not allowed in Windows due to the fact that having to page memory in requires the IRQL to be 1 or 0, meaning you would not drop down to that level until the driver that caused the page fault (running at the higher IRQL) is finished doing whatever it's doing, which it can't until the memory data it requested is paged in.... you see the problem, deadlock. Thus, Windows bugchecks to let you know a driver did something bad, rather than just deadlocking and leaving you guessing ;).

Anyway, we'll need a dump - if it's usbport.sys or another driver, we should see it in the dump.

Link to comment
Share on other sites

  • 2 months later...

Did you try setting them as "optimize for quick removal". We had some POS laptops and a mass of POS thumbdrives that would take turns failing when optimized for performance, especially on those with minimal RAM.

Link to comment
Share on other sites

Did you try setting them as "optimize for quick removal". We had some POS laptops and a mass of POS thumbdrives that would take turns failing when optimized for performance, especially on those with minimal RAM.

I will try that today and see what happens. Thanks!

Link to comment
Share on other sites

902973 You occasionally receive a "STOP 0x000000D1" error message when you start or shut down a Windows XP-based computer or a Windows Server 2003-based computer

http://support.microsoft.com/default.aspx?...kb;EN-US;902973

In debugging it, you're seeing a crash on USBPORT!USBPORT_RemoveBadReqIrp+0x6b:

0: kd> !thread 80560ca0
THREAD 80560ca0 Cid 0000.0000 Teb: 00000000 Win32Thread: 00000000 RUNNING on processor 0
Not impersonating
Owning Process 0 Image: <Unknown>
Attached Process 80560f00 Image: Idle
Wait Start TickCount 84691 Ticks: 96 (0:00:00:01.500)
Context Switch Count 317428
UserTime 00:00:00.000
KernelTime 00:20:35.984
Stack Init 80556700 Current 8055644c Base 80556700 Limit 80553700 Call 0
Priority 16 BasePriority 0 PriorityDecrement 0 DecrementCount 0
ChildEBP RetAddr Args to Child
8055620c f81a02b5 badb0d00 00000004 8234f028 nt!_KiTrap0E+0x238 (FPO: [0,0] TrapFrame @ 8055620c)
80556284 80514574 41426d72 806228bb 8234f0e0 USBPORT!USBPORT_RemoveBadReqIrp+0x6b (FPO: [Non-Fpo]) (CONV: stdcall)
8055629c f81a0085 8234f102 00000000 8234f0e0 nt!IoCsqRemoveNextIrp+0x3d (FPO: [Non-Fpo]) (CONV: stdcall)
805562bc f81a0650 8234f028 00000000 f81a04ec USBPORT!USBPORT_BadRequestFlush+0x3b (FPO: [Non-Fpo]) (CONV: stdcall)
805562e0 804e2b4e 8234f70c 8234f028 87b967e9 USBPORT!USBPORT_DM_TimerDpc+0x164 (FPO: [Non-Fpo]) (CONV: stdcall)
805563fc 804e207d 80560f00 ffdff9c0 ffdff000 nt!KiTimerListExpire+0x14b (FPO: [Non-Fpo]) (CONV: fastcall)
80556428 804dcd22 80561300 00000000 00014b32 nt!KiTimerExpiration+0xb1 (FPO: [Non-Fpo]) (CONV: stdcall)
80556450 804dcc07 00000000 0000000e 00000000 nt!KiRetireDpcList+0x61 (FPO: [0,1,0])
80556454 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x28 (FPO: [0,0,0])

0: kd> !irp 806228bb 1
Irp is active with 3 stacks 3 is current (= 0x858bf640)
No Mdl Thread 00000000: Irp stack trace.
Flags = 00000000
ThreadListEntry.Flink = 806228bb
ThreadListEntry.Blink = 806228bb
IoStatus.Status = 00000103
IoStatus.Information = 00000000
RequestorMode = 00000000
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 00000000
UserEvent = 00000000
Overlay.AsynchronousParameters.UserApcRoutine = 00000000
Overlay.AsynchronousParameters.UserApcContext = 00000000
Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = 00000000
UserBuffer = 00000000
&Tail.Overlay.DeviceQueueEntry = 00cfcf6c
Tail.Overlay.Thread = 00000000
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = 00000000
Tail.Overlay.ListEntry.Blink = 00000000
Tail.Overlay.CurrentStackLocation = 858bf640
Tail.Overlay.OriginalFileObject = 00000000
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
[ 0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[ 0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
>[ f, 0] 0 e1 857d4030 00000000 f6bed854-857d5d30 Success Error Cancel pending
\Driver\usbuhci usbhub!USBH_ChangeIndication
Args: 857d5e84 00000000 00220003 00000000

0: kd> !devext 857d5d30 USBHUB
Dump Hub Device Extension: 857d5d30 1
HUB HUB
FDO 857d5c78 PDO 857d4030 TOS 857d4030 RootHub 857d4030 HcdTos 857d4030
FLG: HUBFLAG_NEED_CLEANUP HUBFLAG_SUPPORT_WAKEUP
Status:
HubChange 0
IRP 806228bb Buffer 85bc5660 len 8 Desc 858b5e80
PowerIrp 0 PendingWake 0 #PortWake 0
PortData 858cd3e0 size 2
Port 0 change 0 Status 100
PORT_STATUS_POWER
Port 0 change 0 Status 0

Config Handle 859aeaf0 ConfigDesc 857db838
PowerTable 0 1 3 4 4 4 4 Current 1
Pending Req 2 ErrorCount 2
DeviceDesc 50005 PipInfo 1 Urb 857d5e50

This is indeed a bug in the XP usbport.sys driver, but it's not fixed. You can avoid this by disabling the ability for XP to put any devices on the USB bus to sleep in the device manager under USB controllers, under each USB hub, properties, power management - uncheck "allow the computer to turn off this device to save power".

Link to comment
Share on other sites

  • 3 weeks later...
902973 You occasionally receive a "STOP 0x000000D1" error message when you start or shut down a Windows XP-based computer or a Windows Server 2003-based computer

http://support.microsoft.com/default.aspx?...kb;EN-US;902973

In debugging it, you're seeing a crash on USBPORT!USBPORT_RemoveBadReqIrp+0x6b:

0: kd> !thread 80560ca0
THREAD 80560ca0 Cid 0000.0000 Teb: 00000000 Win32Thread: 00000000 RUNNING on processor 0
Not impersonating
Owning Process 0 Image: <Unknown>
Attached Process 80560f00 Image: Idle
Wait Start TickCount 84691 Ticks: 96 (0:00:00:01.500)
Context Switch Count 317428
UserTime 00:00:00.000
KernelTime 00:20:35.984
Stack Init 80556700 Current 8055644c Base 80556700 Limit 80553700 Call 0
Priority 16 BasePriority 0 PriorityDecrement 0 DecrementCount 0
ChildEBP RetAddr Args to Child
8055620c f81a02b5 badb0d00 00000004 8234f028 nt!_KiTrap0E+0x238 (FPO: [0,0] TrapFrame @ 8055620c)
80556284 80514574 41426d72 806228bb 8234f0e0 USBPORT!USBPORT_RemoveBadReqIrp+0x6b (FPO: [Non-Fpo]) (CONV: stdcall)
8055629c f81a0085 8234f102 00000000 8234f0e0 nt!IoCsqRemoveNextIrp+0x3d (FPO: [Non-Fpo]) (CONV: stdcall)
805562bc f81a0650 8234f028 00000000 f81a04ec USBPORT!USBPORT_BadRequestFlush+0x3b (FPO: [Non-Fpo]) (CONV: stdcall)
805562e0 804e2b4e 8234f70c 8234f028 87b967e9 USBPORT!USBPORT_DM_TimerDpc+0x164 (FPO: [Non-Fpo]) (CONV: stdcall)
805563fc 804e207d 80560f00 ffdff9c0 ffdff000 nt!KiTimerListExpire+0x14b (FPO: [Non-Fpo]) (CONV: fastcall)
80556428 804dcd22 80561300 00000000 00014b32 nt!KiTimerExpiration+0xb1 (FPO: [Non-Fpo]) (CONV: stdcall)
80556450 804dcc07 00000000 0000000e 00000000 nt!KiRetireDpcList+0x61 (FPO: [0,1,0])
80556454 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x28 (FPO: [0,0,0])

0: kd> !irp 806228bb 1
Irp is active with 3 stacks 3 is current (= 0x858bf640)
No Mdl Thread 00000000: Irp stack trace.
Flags = 00000000
ThreadListEntry.Flink = 806228bb
ThreadListEntry.Blink = 806228bb
IoStatus.Status = 00000103
IoStatus.Information = 00000000
RequestorMode = 00000000
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 00000000
UserEvent = 00000000
Overlay.AsynchronousParameters.UserApcRoutine = 00000000
Overlay.AsynchronousParameters.UserApcContext = 00000000
Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = 00000000
UserBuffer = 00000000
&Tail.Overlay.DeviceQueueEntry = 00cfcf6c
Tail.Overlay.Thread = 00000000
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = 00000000
Tail.Overlay.ListEntry.Blink = 00000000
Tail.Overlay.CurrentStackLocation = 858bf640
Tail.Overlay.OriginalFileObject = 00000000
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
[ 0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[ 0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
>[ f, 0] 0 e1 857d4030 00000000 f6bed854-857d5d30 Success Error Cancel pending
\Driver\usbuhci usbhub!USBH_ChangeIndication
Args: 857d5e84 00000000 00220003 00000000

0: kd> !devext 857d5d30 USBHUB
Dump Hub Device Extension: 857d5d30 1
HUB HUB
FDO 857d5c78 PDO 857d4030 TOS 857d4030 RootHub 857d4030 HcdTos 857d4030
FLG: HUBFLAG_NEED_CLEANUP HUBFLAG_SUPPORT_WAKEUP
Status:
HubChange 0
IRP 806228bb Buffer 85bc5660 len 8 Desc 858b5e80
PowerIrp 0 PendingWake 0 #PortWake 0
PortData 858cd3e0 size 2
Port 0 change 0 Status 100
PORT_STATUS_POWER
Port 0 change 0 Status 0

Config Handle 859aeaf0 ConfigDesc 857db838
PowerTable 0 1 3 4 4 4 4 Current 1
Pending Req 2 ErrorCount 2
DeviceDesc 50005 PipInfo 1 Urb 857d5e50

This is indeed a bug in the XP usbport.sys driver, but it's not fixed. You can avoid this by disabling the ability for XP to put any devices on the USB bus to sleep in the device manager under USB controllers, under each USB hub, properties, power management - uncheck "allow the computer to turn off this device to save power".

Unfortunately, today was the day of bluescreen, all the users with the fix or without bluescreened when they removed their devices from the cradle. Any help is much appreciated, thanks!

Link to comment
Share on other sites

Well, considering it's a bug, I'd say call Microsoft. Not much we can do about bugs in Windows code other than try to avoid the codepath, but apparently you are not able to do so. Sorry, but at least the call should be free :).

Link to comment
Share on other sites

I found only one KB article with your symptoms and cause, however it only applied to Server 2003 w/o any service packs.

Here's something you can try: the latest usb files. KB949033 has the latest usbport.sys and other usb drivers for XP SP2: http://support.microsoft.com/kb/949033

The particular article doesn't describe your problem, but it is a QFE update, MS is always fixing bugs and releasing cumulative fixes for them under the "QFE" (non-security updates) branch, so this particular one has that fix and many more. However they get less testing, but it's worth a try; it probably can't get any worse when your users already getting a STOP error and potentially losing their work. There is a link at the top, "View and request hotfix downloads", they'll send it to your email. It's free.

Edited by redxii
Link to comment
Share on other sites

I found only one KB article with your symptoms and cause, however it only applied to Server 2003 w/o any service packs.

Here's something you can try: the latest usb files. KB949033 has the latest usbport.sys and other usb drivers for XP SP2: http://support.microsoft.com/kb/949033

The particular article doesn't describe your problem, but it is a QFE update, MS is always fixing bugs and releasing cumulative fixes for them under the "QFE" (non-security updates) branch, so this particular one has that fix and many more. However they get less testing, but it's worth a try; it probably can't get any worse when your users already getting a STOP error and potentially losing their work. There is a link at the top, "View and request hotfix downloads", they'll send it to your email. It's free.

Unfortunately we are having these issues in both SP3 and SP2. Time to upgrade to Vista maybe??? :sneaky:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...