Re: USBD_STATUS not in header by Philip
Philip
Fri Jul 01 13:11:13 CDT 2005
"John B" <JohnB@discussions.microsoft.com> wrote in message
news:6BAEF40D-F422-4F18-A9B1-52152C2601C4@microsoft.com...
> "Philip Lukidis" wrote:
>
> > "John B" <JohnB@discussions.microsoft.com> wrote in message
> > news:9A121361-7220-439B-B659-038A7C261A64@microsoft.com...
> > > Hello,
> > > A status code that is returned in the Isopacket[].Status field of the
> > > _URB_ISOCH_TRANSFER struct does not seem to be in the USBD status code
> > enum.
> > > The value is 0xC000000E.
> > >
> > > What does this code means in the context of an isochronous USB OUT and
IN
> > > transfer? Can someone relate this code to the TD status field that is
> > called
> > > out in the OHCI specification?
> > >
> > > I am testing on an AMD system using WindowsXP SP2.
> > >
> > > Thanks for your time,
> > > John
> > >
> > Yes, this is (IIRC) an error returned only from OHCI USB controller. I
> > found this out by searching the latest DDK source tree, where a comment
says
> > that for OHCI 0xc000000e means that the supplied URB reached the
controller
> > too late, i.e. the URB frame number did not incorporate a high enough
> > latency. MS really should document this in a .h file! Add more latency
to
> > your frame number, hopefully that should help.
> >
> > hth,
> >
> > Philip Lukidis
> >
> >
> >
>
> Thank you very much.
>
> You are right about the extra latency needed. The strange thing is, I have
> not had "late start of frame" issues with my current driver configuration
> until I started using this fancy new computer. So I did some
investigating
> and ran MS's very cool tracing tool, RATTv3.EXE. Rattv3 created a
cumulative
> histogram of the ISR and DPC time for each of the drivers in my system.
It
> looks like my disk subsystem is broken or configured improperly. The
> atapi.sys driver can take up to 6ms during its ISR. This is just a guess,
> but that probably held off the USBD DPC or even its ISR long enough to
cause
> my probelm.
>
> Thanks again,
> -John
>
> For those interested, here's an example output of RATTV3:
>
> Cumulative Histogram for: atapi.sys (atapi.sys)
> #, Range, Label, ISR Count, DPC Count, DPCTmr
Count
> 1, 1.00us to 1.99us, <2.00us, 55168, 80,
4
> 2, 2.00us to 2.99us, <3.00us, 3948, 0,
4
> 3, 3.00us to 3.99us, <4.00us, 684, 9,
1
> 4, 4.00us to 4.99us, <5.00us, 2563, 16,
1
> 5, 5.00us to 5.99us, <6.00us, 275, 1935,
0
> 6, 6.00us to 6.99us, <7.00us, 114, 785,
0
> 7, 7.00us to 7.99us, <8.00us, 94, 49,
0
> 8, 8.00us to 8.99us, <9.00us, 72, 52,
0
> 9, 9.00us to 9.99us, <10.00us, 49, 72,
0
> 10, 10.00us to 19.99us, <20.00us, 398, 261,
0
> 11, 20.00us to 29.99us, <30.00us, 376, 25,
0
> 12, 30.00us to 39.99us, <40.00us, 299, 0,
0
> 13, 40.00us to 49.99us, <50.00us, 236, 0,
0
> 14, 50.00us to 59.99us, <60.00us, 189, 0,
0
> 15, 60.00us to 69.99us, <70.00us, 130, 0,
0
> 16, 70.00us to 79.99us, <80.00us, 76, 0,
0
> 17, 80.00us to 89.99us, <90.00us, 76, 0,
0
> 18, 90.00us to 99.99us, <100.00us, 69, 0,
0
> 19, 100.00us to 109.99us, <110.00us, 42, 0,
0
> 20, 110.00us to 119.99us, <120.00us, 29, 0,
0
> 21, 120.00us to 129.99us, <130.00us, 10, 0,
0
> 22, 130.00us to 139.99us, <140.00us, 5, 0,
0
> 23, 140.00us to 149.99us, <150.00us, 3, 0,
0
> 24, 150.00us to 159.99us, <160.00us, 3, 0,
0
> 25, 160.00us to 169.99us, <170.00us, 1, 0,
0
> 26, 170.00us to 179.99us, <180.00us, 3, 0,
0
> 27, 180.00us to 189.99us, <190.00us, 4, 0,
0
> 28, 190.00us to 199.99us, <200.00us, 3, 0,
0
> 29, 200.00us to 209.99us, <210.00us, 2, 0,
0
> 30, 210.00us to 219.99us, <220.00us, 2, 0,
0
> 31, 220.00us to 229.99us, <230.00us, 2, 0,
0
> 32, 230.00us to 239.99us, <240.00us, 3, 0,
0
> 33, 240.00us to 249.99us, <250.00us, 2, 0,
0
> 34, 250.00us to 259.99us, <260.00us, 2, 0,
0
> 35, 260.00us to 269.99us, <270.00us, 4, 0,
0
> 36, 270.00us to 279.99us, <280.00us, 1, 0,
0
> 39, 300.00us to 309.99us, <310.00us, 2, 0,
0
> 40, 310.00us to 319.99us, <320.00us, 4, 0,
0
> 42, 330.00us to 339.99us, <340.00us, 2, 0,
0
> 43, 340.00us to 349.99us, <350.00us, 2, 0,
0
> 44, 350.00us to 359.99us, <360.00us, 6, 0,
0
> 45, 360.00us to 369.99us, <370.00us, 5, 0,
0
> 46, 370.00us to 379.99us, <380.00us, 4, 0,
0
> 47, 380.00us to 389.99us, <390.00us, 2, 0,
0
> 48, 390.00us to 399.99us, <400.00us, 5, 0,
0
> 49, 400.00us to 409.99us, <410.00us, 7, 0,
0
> 50, 410.00us to 419.99us, <420.00us, 2, 0,
0
> 51, 420.00us to 429.99us, <430.00us, 4, 0,
0
> 52, 430.00us to 439.99us, <440.00us, 3, 0,
0
> 54, 450.00us to 459.99us, <460.00us, 1, 0,
0
> 55, 460.00us to 469.99us, <470.00us, 4, 0,
0
> 56, 470.00us to 479.99us, <480.00us, 4, 0,
0
> 57, 480.00us to 489.99us, <490.00us, 8, 0,
0
> 58, 490.00us to 499.99us, <500.00us, 2, 0,
0
> 59, 500.00us to 509.99us, <510.00us, 5, 0,
0
> 60, 510.00us to 519.99us, <520.00us, 2, 0,
0
> 61, 520.00us to 529.99us, <530.00us, 2, 0,
0
> 62, 530.00us to 539.99us, <540.00us, 2, 0,
0
> 63, 540.00us to 549.99us, <550.00us, 5, 0,
0
> 64, 550.00us to 559.99us, <560.00us, 5, 0,
0
> 65, 560.00us to 569.99us, <570.00us, 2, 0,
0
> 66, 570.00us to 579.99us, <580.00us, 4, 0,
0
> 67, 580.00us to 589.99us, <590.00us, 4, 0,
0
> 68, 590.00us to 599.99us, <600.00us, 2, 0,
0
> 69, 600.00us to 609.99us, <610.00us, 2, 0,
0
> 70, 610.00us to 619.99us, <620.00us, 2, 0,
0
> 71, 620.00us to 629.99us, <630.00us, 4, 0,
0
> 72, 630.00us to 639.99us, <640.00us, 7, 0,
0
> 73, 640.00us to 649.99us, <650.00us, 5, 0,
0
> 74, 650.00us to 659.99us, <660.00us, 4, 0,
0
> 75, 660.00us to 669.99us, <670.00us, 1, 0,
0
> 76, 670.00us to 679.99us, <680.00us, 4, 0,
0
> 77, 680.00us to 689.99us, <690.00us, 2, 0,
0
> 78, 690.00us to 699.99us, <700.00us, 1, 0,
0
> 79, 700.00us to 709.99us, <710.00us, 2, 0,
0
> 80, 710.00us to 719.99us, <720.00us, 3, 0,
0
> 81, 720.00us to 729.99us, <730.00us, 2, 0,
0
> 82, 730.00us to 739.99us, <740.00us, 1, 0,
0
> 83, 740.00us to 749.99us, <750.00us, 1, 0,
0
> 84, 750.00us to 759.99us, <760.00us, 2, 0,
0
> 85, 760.00us to 769.99us, <770.00us, 3, 0,
0
> 86, 770.00us to 779.99us, <780.00us, 3, 0,
0
> 88, 790.00us to 799.99us, <800.00us, 2, 0,
0
> 89, 800.00us to 809.99us, <810.00us, 1, 0,
0
> 137, 1.28ms to 1.29ms, <1.29ms, 1, 0,
0
> 145, 1.36ms to 1.37ms, <1.37ms, 1, 0,
0
> 158, 1.49ms to 1.50ms, <1.50ms, 1, 0,
0
> 185, 1.76ms to 1.77ms, <1.77ms, 1, 0,
0
> 243, 2.34ms to 2.35ms, <2.35ms, 1, 0,
0
> 347, 3.38ms to 3.39ms, <3.39ms, 1, 0,
0
> 551, 5.42ms to 5.43ms, <5.43ms, 1, 0,
0
> 639, 6.30ms to 6.31ms, <6.31ms, 1, 0,
0
> 646, 6.37ms to 6.38ms, <6.38ms, 1, 0,
0
> TOTALS, 65098, 3284,
10
Sounds like a great tool, and would be quite useful to me as well, as I
responsible for ASIO usermode/kernel mode drivers over USB/1394. Thanks for
bringing that to my attention!
Philip Lukidis