Hello,

The hepl file for isousb sample driver in XP ddk says the following:

" The number of packets sent down with each Irp/Urb pair should be a
multiple of 8. "

i have also tried and when it is not a multiple of 8 , packets do not
go through .

however i do not understnad the reason . Is this limit defined in any
way by the USB 2.0 specification? If yes , what part of the spec? If
not , then what is the reason for this limitation?

could somebody please clarify this?


thanks in advance
regards
Taha

Re: high speed isoch => why number of packets has to be a multiple of 8 ? by harik2k2

harik2k2
Tue Jul 20 21:31:23 CDT 2004

> The hepl file for isousb sample driver in XP ddk says the following:
>
> " The number of packets sent down with each Irp/Urb pair should be a
> multiple of 8. "
>
> i have also tried and when it is not a multiple of 8 , packets do not
> go through .
>
> however i do not understnad the reason . Is this limit defined in any
> way by the USB 2.0 specification? If yes , what part of the spec? If
> not , then what is the reason for this limitation?
>
> could somebody please clarify this?
Iam not sure whether you noticed this. "StartFrame" member in
_URB_ISOCH_TRANSFER refers to USB frame numbers and clients have no
way to specify the microframe numbers! Please refer DDK for more
details.

Implies -> "....isoc packets have to be a multiple of 8". AFAK, USB
specification does not mention any such limitation.

Hari.

Re: high speed isoch => why number of packets has to be a multiple of 8 ? by m

m
Tue Jul 27 12:20:52 CDT 2004

Hello Hari,

If you have a look at the USB 2.0 specification document in the
section 8.4.3.1 , titled "USB Frames and Microframes" , it says:

It says:

QUOTE BEGIN
SOF packets are generated (by the host controller or hub
transaction translator) every 1ms for full-speed links. SOF packets
are also generated after the next seven 125 µs periods for high-speed
links.

High-speed devices see an SOF packet with the same frame number eight
times (every 125 µs) during each 1 ms period.

QUOTE END

Question:
1) Why are SOF packets in the high speed generated after 8 125 micro
second periods , even for high speeds , and why not after every single
125 micro second clock tick ?
2) Does this have anything to do with the limitation of windows USB
stack that requires in high speed isochronous mode , number of packets
sent per IRP/URB ot be a multiple of 8 ? looks like there is a link ,
but i am not understandnig it correctly .

any clarificatoins are appreciated

thanks
Taha


harik2k2@hotmail.com (Hari) wrote in message news:<fb8bf455.0407201831.694e088f@posting.google.com>...

> Iam not sure whether you noticed this. "StartFrame" member in
> _URB_ISOCH_TRANSFER refers to USB frame numbers and clients have no
> way to specify the microframe numbers! Please refer DDK for more
> details.
>
> Implies -> "....isoc packets have to be a multiple of 8". AFAK, USB
> specification does not mention any such limitation.
>
> Hari.

Re: high speed isoch => why number of packets has to be a multiple of 8 ? by Tim

Tim
Tue Jul 27 16:25:18 CDT 2004

m.tahamasood@gmail.com (M Taha Masood) wrote:

>Hello Hari,
>
>If you have a look at the USB 2.0 specification document in the
>section 8.4.3.1 , titled "USB Frames and Microframes" , it says:
>
>It says:
>
>QUOTE BEGIN
>SOF packets are generated (by the host controller or hub
>transaction translator) every 1ms for full-speed links. SOF packets
>are also generated after the next seven 125 µs periods for high-speed
>links.
>
>High-speed devices see an SOF packet with the same frame number eight
>times (every 125 µs) during each 1 ms period.
>
>QUOTE END
>
>Question:
>1) Why are SOF packets in the high speed generated after 8 125 micro
>second periods , even for high speeds , and why not after every single
>125 micro second clock tick ?

Partly for compatibility: so that frame numbers increase at a constant 1
kHz rate regardless of speed, so you can keep some sense of alignment on
two different link speeds. High-speed still keeps the concept of a 1 ms
frame; the lesser divisions are microframes, and there is no specific
announcement packet for those. Partly for performance: there is no real
need to send an SOF any more often, so why waste 8 times the bandwidth?

>2) Does this have anything to do with the limitation of windows USB
>stack that requires in high speed isochronous mode , number of packets
>sent per IRP/URB ot be a multiple of 8 ? looks like there is a link ,
>but i am not understandnig it correctly .

Could be. This is also partly a performance issue. You do not want to
force the drivers to exchange IRPs every 125 microseonds, so just stick to
what is known to work.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc

Re: high speed isoch => why number of packets has to be a multiple of 8 ? by harik2k2

harik2k2
Tue Jul 27 19:45:04 CDT 2004

> Question:
> 1) Why are SOF packets in the high speed generated after 8 125 micro
> second periods , even for high speeds , and why not after every single
> 125 micro second clock tick ?
> 2) Does this have anything to do with the limitation of windows USB
> stack that requires in high speed isochronous mode , number of packets
> sent per IRP/URB ot be a multiple of 8 ? looks like there is a link ,
> but i am not understandnig it correctly .

Iam quoting the relevant portion from 8.4.3.1 - "High-speed devices
see an SOF packet with the same frame number eight times (every 125
µs) during each 1 ms period."

This quote should clarify both your questions!

Hari.