On Wed, 7 Jun 2006, usb usb wrote: > Thanks - I will try that. > > I have a fundamental question.. > How does the endpoint type influence the device > behavior?
You've got it backward: The device's behavior dictates the type it will use for an endpoint. For instance, if the device requires an endpoint to be polled reliably with a certain minimum frequency, it will choose to make the endpoint type be interrupt. If the device requires rapid transfer of data with guaranteed bandwidth but without error detection and retries, it will choose to make the endpoint type be isochronous. > Isn't automatic scheduling (for intr URB) > one of the main differences between the intr URB and > Bulk URB? Yes. There are other differences too, mostly pretty small. For example, interrupt URBs are allowed with low-speed devices but bulk URBs are not. > If so, whatever the endpoint type is, the > USB core must be able to handle it correctly (may not > be efficiently) - right? For unclear (probably historical) reasons, the USB core requires that each URB specify a type, and things aren't guaranteed to work if this type doesn't agree with the endpoint's type. So yes, the core can handle all the endpoints in your device correctly. But if you submit an interrupt URB for a bulk endpoint, you should expect to get an error. Alan Stern _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
