LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Usb > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Monisha Barooah<monisha.b@s...>
    Date: Tue Aug 9 11:42:05 CEST 2005
    Subject: [usb] Enumeration Sequence for FS attached to HS hub
    Top
    Hello Everybody,
    I had some issues in the enumeration sequence in our EHCI driver and so thought of putting forth a query in this mailing list.

    We are writting a customized EHCI driver and not using any of the components of the windows USB stack(class drivers, USBD and HC driver). A standalone EHCI-HC driver in the windows kernel we are developing to which requests are provided through an application.

    We are facing issues here with the enumeration sequence to be done for the split transactions.

    Can anyone help us in providing pointers as to what is the sequence to be followed for the enumeration sequence involving a FS device connected to a HS hub? We have currently not yet implemented the Periodic Transfers...so is there any way to perform the hub configuration without using the interrupt endpoint corresponding to the hub device as mentioned in the specs?

    We are trying to do the enumeration/configuration with our implementation of the asynchronous schedule alone and able to figure out onto which port of the hub, the FS device is connected to.

    After performing the normal sequence of enumeration with the hub(HS device), we get the number of ports in the hub from the Hub Descriptor and use that value to power up all the hub ports. After that, we issue the ClearFeature request with C_PORT_CONNECTION feature and an issue of GetPortStatus after this allows us to know the port to which the device is connected.

    After this we try to repeat the enumeration sequence for the FS device through the corresponding hub port.

    We issue the GetDevice Descriptor, Port Reset, Set Address, GetDevice Descriptor, Get configuration descriptor, Set configuration requests in a sequence for the FS enumeration and have provided the required delays of 2ms after the Set Address request.

    Note that we are providing in with all the delays required for the device attachments, delays before issuing a port reset etc. as mentioned in the USB specs.

    But we are still not able to consistently complete the split enumeration process through the hub with this approach. This process works sometimes but sometimes it results in a STALL of the endpoint and does not get through. Sometimes some extra packets IN/OUT packets are observed in between the enumeration sequqnce leading to a STALL.

    We have now provided a ClearFeature request for clearing ENDPOINT Halt so as to carry out the sequence till completion but still facing issues.

    Can anyone let know if there is some serious problem with this approach? Is it that the behavior of the system will never be stable if we adopt this strategy for enumeration without using the interrupt endpoint of the hub? Do we need to incorporate functionalities of the hub driver in our HC driver code for this? Note that we cannot use the hub driver currently existing with the windows as the three USB layers in the windows stack are bundled together and we are bypassing the stack.

    Thanking you in advance for the help.

    With Regards,
    Monisha.












    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: usb/attachments/20050809/d12835ffattachment.html

    Follow upAuthor
    [usb] Enumeration Sequence for FS attached to HS hubPratap Narayan Singh

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.