Hi,

We use usbser.sys to provide a basic virtual serial port
for communication with a number of different devices over
USB. This has always worked well, but recently we have had
reports of intermittent BSOD stop errors under windows XP
when transferring data from a device to the PC. This can
be reproduced regularly. (see end of post)

The BSOD has not been observed on any other platform, and
if we replace usbser.sys on XP machines with the 2k
version, then the BSOD is not seen.

We have observed that our data rate under XP is higher than
2k, and there has obviously been a rearchitecture of the
USB stack in XP. Does anybody know the nature of the
changes made to usbser.sys between 2k and XP that might
result in stop errors? Also, our software that
communicates with serial ports is multithreaded - is
usbser.sys thread-safe?

Thanks for any ideas,

Gavin.

/////////////////////////////////

*************************************************************************=
******

* =20
*=20
* Bugcheck Analysis =20
*=20
* =20
*=20
*************************************************************************=
******


Use !analyze -v to get detailed debugging information.=20

BugCheck 1000008E, {c0000005, fa1f69fd, f923fad0, 0}=20

*** WARNING: Unable to verify timestamp for usbser.sys=20
*** WARNING: Unable to verify timestamp for Modem.SYS=20
Probably caused by : usbser.sys ( usbser!WaitOnMask+13d )=20

Followup: MachineOwner=20
---------=20

kd> !analyze -v C:\XP_crashData\Mini110503-01.dmp=20

Unknown option '-0'=20
*************************************************************************=
******

* =20
*=20
* Bugcheck Analysis =20
*=20
* =20
*=20
*************************************************************************=
******


KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)=20
This is a very common bugcheck. Usually the exception
address pinpoints=20
the driver/function that caused the problem. Always note
this address=20
as well as the link date of the driver/image that contains
this address.=20
Some common problems are exception code 0x80000003. This
means a hard=20
coded breakpoint or assertion was hit, but this system was
booted=20
/NODEBUG. This is not supposed to happen as developers
should never have=20
hardcoded breakpoints in retail code, but ...=20
If this happens, make sure a debugger gets connected, and the=20
system is booted /DEBUG. This will let us see why this
breakpoint is=20
happening.=20
An exception code of 0x80000002
(STATUS_DATATYPE_MISALIGNMENT) indicates=20
that an unaligned data reference was encountered. The trap
frame will=20
supply additional information.=20
Arguments:=20
Arg1: c0000005, The exception code that was not handled=20
Arg2: fa1f69fd, The address that the exception occurred at=20
Arg3: f923fad0, Trap Frame=20
Arg4: 00000000=20

Debugging Details:=20
------------------=20


EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at
"0x%08lx" referenced memory at "0x%08lx". The memory could
not be "%s".=20

FAULTING_IP:=20
usbser!WaitOnMask+13d=20
fa1f69fd ?? ???=20

TRAP_FRAME: f923fad0 -- (.trap fffffffff923fad0)=20
Unable to read trap frame at f923fad0=20

DEFAULT_BUCKET_ID: DRIVER_FAULT=20

BUGCHECK_STR: 0x8E=20

LAST_CONTROL_TRANSFER: from fa1f61da to fa1f69fd=20

STACK_TEXT: =20
f923fb5c fa1f61da 02295c08 811be1f0 81295d00
usbser!WaitOnMask+0x13d=20
f923fb88 804eca36 811be040 81295c08 8120a3c0
usbser!UsbSer_Dispatch+0x25a=20
f923fb98 fa17808c 8120a40c 81295d08 8120a3c0
nt!IopfCallDriver+0x31=20
f923fbc0 fa178cb0 8120a3c0 8120a308 001b0048
Modem!UniMaskStarter+0x23a=20
f923fbd8 fa1790e3 8120a3c0 8120a3c8 81295c08
Modem!UniStartOrQueue+0x5c=20
f923fc00 fa17773c 8120a308 81295c08 8116b958
Modem!UniSniffOwnerSettings+0xe7=20
f923fc34 804eca36 8120a308 81295c08 806c7fe0
Modem!UniIoControl+0x5f8=20
f923fc44 8058b076 81295d08 ffa8c028 81295c08
nt!IopfCallDriver+0x31=20
f923fc58 8058bc62 8120a308 81295c08 ffa8c028
nt!IopSynchronousServiceTail+0x5e=20
f923fd00 805987ec 000002ec 000002e4 00000000
nt!IopXxxControlFile+0x5ec=20
f923fd34 804da140 000002ec 000002e4 00000000
nt!NtDeviceIoControlFile+0x28=20
f923fd34 7ffe0304 000002ec 000002e4 00000000
nt!KiSystemService+0xc4=20
0249fa70 00000000 00000000 00000000 00000000
SharedUserData!SystemCallStub+0x4=20


FOLLOWUP_IP:=20
usbser!WaitOnMask+13d=20
fa1f69fd ?? ???=20

FOLLOWUP_NAME: MachineOwner=20

SYMBOL_NAME: usbser!WaitOnMask+13d=20

MODULE_NAME: usbser=20

IMAGE_NAME: usbser.sys=20

DEBUG_FLR_IMAGE_TIMESTAMP: 3b7d8690=20

STACK_COMMAND: .trap fffffffff923fad0 ; kb=20

BUCKET_ID: 0x8E_usbser!WaitOnMask+13d=20

Re: usbser.sys changes between 2k and XP? by Maxim

Maxim
Tue Nov 18 10:19:35 CST 2003

>USB stack in XP. Does anybody know the nature of the
>changes made to usbser.sys between 2k and XP that might
>result in stop errors?

USB stack in XP is a major rewrite. Good to hear it is this fast on serial
ports - on flash drives, it is up to 3 times slower then in w2k :-)

>communicates with serial ports is multithreaded - is
>usbser.sys thread-safe?

Any drivers (written by the professional people) are thread-safe by definition.
MS's people are professional.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com



Re: usbser.sys changes between 2k and XP? by Eliyas

Eliyas
Tue Nov 18 10:48:42 CST 2003

I found a bug report on USBSER that kind of looks similar to yours. This got
fixed almost an year ago and the fix is rolled up for the upcoming Windows
XP SP2. My suggestion to you would be to contact MS technical support and
get a hotfix from them. Refer Bug number 684285 when you contact.

--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.microsoft.com/whdc/hwdev/driver/kb-drv.mspx



Re: usbser.sys changes between 2k and XP? by Gavin

Gavin
Thu Nov 20 11:32:05 CST 2003

Hi Eliyas
Thanks for your interesting posting, which looks as though
it will be very helpful. Is there any other way to find
out details about the bug and the hotfix, as our problem
is rather specific ? We have searched the knowledge base
for the number without success and generally done thorough
research.
Best Regards
Gavin Heavyside

>-----Original Message-----
>I found a bug report on USBSER that kind of looks similar
to yours. This got
>fixed almost an year ago and the fix is rolled up for the
upcoming Windows
>XP SP2. My suggestion to you would be to contact MS
technical support and
>get a hotfix from them. Refer Bug number 684285 when you
contact.