USB Host Controller and USS Hub

Discussion in 'Windows Vista Drivers' started by vivekanada, Dec 8, 2007.

  1. vivekanada

    vivekanada Guest

    Hi All,

    I am a windows driver developer working on USB.
    I have few questions on USB.

    1.Role of Host Controller driver/hw and Root Hub driver/hw in enumerating a
    newly connected usb device.

    2.How does usbhub.sys know the device connected to roothub? Does Host
    controller hw/driver informs it?

    3.Is there any difference in device detection when connected to the root hub
    port and the externel hub port(usb hub connected to the root hub).
    I suppose same driver is loaded for the root hub as well as external hub.

    4.Does USB Host Controller use any ISR for detecting the device connected to
    the root hub?
    If so what about the device connected to the external hub.


    5.Will (Host controller? or Hub?)keep polling by itself on all the visible
    ports for the device arrival?

    If you know, where all this information regarding the Host Controller and
    Hub exists, please give the references to me.

    Exact sequence of events happening, i.e device detection, address assignment
    and pdo creation by the bus driver(usbhub.sys) and polling mechanism.

    Thanks in advance,
    Vivek.
     
    vivekanada, Dec 8, 2007
    #1
    1. Advertisements

  2. Yes, the root hub is the part of HC and connections are notified by
    interrupt. See the spec on any HC like Universal Host Controller.

    It is HC driver (or maybe USBPORT), not USBHUB, who creates and implements
    the root hub PDO. This PDO supports the same functionality as the USBHUB's FDO,
    but is implemented in HC driver.
     
    Maxim S. Shatskih, Dec 8, 2007
    #2
    1. Advertisements

  3. vivekanada

    Tim Roberts Guest

    Don't confuse the enumeration process (which is something handled by the
    hub hardware without system involvement) and the driver loading process
    (which is strictly an operating system thing that doesn't care whether
    you're on the root or a hub).
    Have you downloaded the USB specification from the www.usb.org web site? If
    not, you should. Many of your questions are answered in the spec, and it
    is surprisingly reasable.

    Hubs and host controllers are smart devices. A lot of the enumeration
    process is handled independently by electronics in the hub. The results
    are reported over the bus, and the spec shows how that happens.
    Enumeration and address assignment are part of the hardware spec. PDO
    creation is handled by the bus drivers.
     
    Tim Roberts, Dec 9, 2007
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.