Beginner - Some questions about USB endpoints

Hi there!
I have some *basic* questions about endpoints that I couldn´t get the answer:

  1. Inside my driver, how I can set the endpoints numbers that my device expect to I/O?
  2. The communication modes (isoch, bulk, etc) in each endpoint is fixed? For instance, in endpoint x I always have the comm. mode y? If not, how I can set it inside my driver?

Thanks!

Lucas.


Yahoo! Search
Música para ver e ouvir: You’re Beautiful, do James Blunt

  1. your device firmware reports this during a query config descriptor
  2. yes, unless you can dynamically load firmware onto your device. Endpoint X will always be of mode Y (isoch, bulk, interrupt, control). You cannot set this in the driver. What you can do is declare an interface with multiple settings, where each setting has a different set of endpoints with their own attributes, and then select a different alternate setting for an interface to access different endpoints.

What are you trying to do?

d

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Lucas Bracher
Sent: Sunday, November 19, 2006 12:30 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Beginner - Some questions about USB endpoints

Hi there!
I have some *basic* questions about endpoints that I couldn?t get the answer:

  1. Inside my driver, how I can set the endpoints numbers that my device expect to I/O?
  2. The communication modes (isoch, bulk, etc) in each endpoint is fixed? For instance, in endpoint x I always have the comm. mode y? If not, how I can set it inside my driver?

Thanks!

Lucas.


Yahoo! Search
M?sica para ver e ouvir: You’re Beautiful, do James Blunt — Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Lucas Bracher wrote:

I have some *basic* questions about endpoints that I couldn´t get the
answer:

  1. Inside my driver, how I can set the endpoints numbers that my
    device expect to I/O?
  2. The communication modes (isoch, bulk, etc) in each endpoint is
    fixed? For instance, in endpoint x I always have the comm. mode y? If
    not, how I can set it inside my driver?

You don’t set the endpoint numbers or pipe types. Those are determined
by the device, and are advertised in its descriptors. As a driver, you
either hard-code the endpoint numbers, based on your knowledge of the
device, or you go fetch the configuration descriptor and extract the
pipe numbers and types from that.

A given endpoint will always be of the same type. The only way that can
change is if the device disconnects and reconnects, and in that case
your driver will be unloaded and reloaded as well.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.