This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB Enumeration Problem in W7

Hi,
I have a Omapl138 board, I am trying to connect a USB to the same. M using windows 7 OS. while I am debugging USB firmware code I can see a the following sequence of Signal transfer.

1. a Reset signal
2. device descriptor request
3. set address request

again the same pattern repeating for 4 times.

can anybody help to find why its not come out of these sequence..?

I should get a device confg request next right..?

  • > I should get a device confg request next right..?

    Windows7 in this sequence.
    - Bus reset
    - Get_Descriptor(Device) - first 8 bytes
    - Set_Address
    - Get_Descriptor(Device) - full size
    - Get_Descriptor(String) - first 2 bytes
    - Get_Descriptor(String) - full size
    - Get_Descriptor(Config) - first 4 bytes
    - Get_Descriptor(Config) - full size
    ...

    Anyway, your firmware should not "expect" the next request.
    Your firmware should respond to any request properly, corresponding to the device stage.

    > again the same pattern repeating for 4 times.

    it may fail at the status stage of set_address
    OR
    Get_Descriptor(Device)

    Are you making your own stack?
    or playing on an existing stack like Linux gadget?

    Tsuneo

  • Yes I am using a existing stack. And I am getting the sequence like

    > reset
    > Get_Descriptor(Device)
    > reset
    > Set_Address
    > reset .... and again repeating the same pattern.

    I have a doubt for the first Get_Descriptor(Device) request my stack sending 18bytes of data. will it cause any problem..??

    Thank you.

  • After first 8 bytes of Device Descriptor Windows host will terminate further reception of IN packets by sending OUT zero length packet, and after this anyways bus will be reset.