Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- From: v_mirgorodsky@xxxxxxxxx
- Date: 6 Jul 2005 05:17:14 -0700
Hello Don,
I totally agree with you. In all cases, except mentioned, I was able to
track error down in my code, even BSOD screen was blaming some other
part of the system doing wrong things. In the described case I spent a
week or so trying to trace down the issue. As a result, I created the
limited sand-box, where only usbehci.sys and completion routine were
involved. The crash was still there, consequently, usbehci.sys has a
bug, which may be reproduced only within some high-load circumstances.
BTW, crash probability gets even higher on SMP machine. As I wrote in
my previous post, I found work-around for this issue. I submit only two
IRP's to USB stack and I get acceptable trade-off between created
latency and desired throughput. Now my driver is able to transfer about
45MBytes/s and works stable with variety of USB stacks and USB
hardware.
With best regards,
Vladimir S. Mirgorodsky
Don Burn wrote:
> When you say usbehci.sys crashes the system, unless you are doing a ton of
> analysis you are saying that the system crashes in usbehci.sys. I suspect
> is you check things carefully you may find that your driver is to blame.
> I'm not saying it isin't usbehci.sys, but in a long time of system
> programming, the claims the system is causing a crash, are wrong 99.9% of
> the time it is the user supplied driver.
>
>
> --
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> Remove StopSpam from the email to reply
>
>
>
> <v_mirgorodsky@xxxxxxxxx> wrote in message
> news:1120649490.290168.154940@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > Hi,
> >
> > Some time ago I experienced the same problem with usbehci.sys. I need
> > to admit that USB 2.0 stack implementation by Microsoft is very
> > efficient in the sense of pefomance/throughput, but not bug-free.
> >
> > I had very close loop with only my completion routine involved and with
> > the same URBs recycling all the time with once and forewer memory
> > buffers fixed with every URB with the same allocated IRPs and so on. I
> > *commented out* ALL data processing inside completion routine and the
> > rest of my driver. I started Driver Verifier and assured that the Init
> > part of it does not corrupt any memory in the system. Then I started
> > the stream not by sending commands to my USB device, but toggling
> > hardware switch.
> >
> > Depending on data throughput usbehci.sys crashes the system at random
> > times. As more data transfered across USB link as more likely system
> > will crash sooner. It will crash system quickly for sure if you have
> > more than two URBs queued in the same time. With two URBs active crash
> > is very unlikely, but still possible. At least system did not crashed
> > during over-weekend testing (more than 50 hours). The only difference
> > between my case and yours that my device may transfer about 45MB/s
> > across USB link.
> >
> > Microsoft folks always advocate usbehci.sys all the time. And all the
> > time news-groups mentioning the random crashes in the usbehci.sys. All
> > these cases have the only common thing - in every case driver writters
> > are targeting maximum perfomance, minimum latency or whatever edge
> > condition from usbehci.sys.
> >
> > With best regards,
> > Vladimir S. Mirgorodsky
> >
> > zantetsu wrote:
> >> Thank you for your rensponse.
> >>
> >> I thought that I might fix the problem while I was changing the source
> >> file to serialize.
> >> So I returned to the source file wasn't serialized.
> >> And I checked the difference and made some modifications to the source
> >> file.
> >> But the problem occured again.
> >>
> >> I saw the topic as follows.
> >> USB2.0 EHCI (usbehci.sys) behaviour on XP SP1
> >> http://groups.google.co.jp/group/microsoft.public.development.device.drivers/browse_frm/thread/5d19708257497b3f/e79817de4dc089b1?q=usb2.0+ehci&rnum=1#e79817de4dc089b1
> >> Do you think that the topic relates to the problem?
> >
.
- Follow-Ups:
- Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- From: zantetsu
- Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- References:
- Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- From: v_mirgorodsky
- Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- From: Don Burn
- Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- Prev by Date: Driver verifier IO SYSTEM VERIFICATION ERROR 226
- Next by Date: Re: How to caculate the UDP checksum in NDIS?
- Previous by thread: Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- Next by thread: Re: DRIVER_IRQL_NOT_LESS_OR_EQUAL usbehci.sys
- Index(es):
Relevant Pages
|