LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    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: KO TOM<tomko81@h...>
    Date: Sat Mar 6 02:57:21 CET 2004
    Subject: [usb] some question about USB
    Top
    According to the point :* The host can terminate a setup request before you have sent all that it
    asked for. It will do this by sending status or a new Setup.

    Can i ask how should i treat the request in the setup stage if the host terminate it without entering status stage. For example , the host send me a setup commanding "Set_Address" or "Set_Configuration" , but then the host send me another setup token requesting another command instead of sending me a IN token for a Status stage. Should i still set myself a new address or new configured value in this case ? or should i treat the request terminated and doing nothing ?

    Also , if the host send me a reset after i have got a new address , should my device start from the beginning and listen to address 0 again ?


    Thank you very much for your listening .


    Regards,
    TOM


    >From: "Marc Reinig" <mreinig@p...>
    >Reply-To: "Discussion list about free,open source USB IP core" <usb@o...>
    >To: "Discussion list about free,open source USB IP core" <usb@o...>
    >Subject: RE: [usb] some question abotu USB
    >Date: Fri, 5 Mar 2004 06:10:09 -0800
    >
    >There is no defined sequence for a host to enumerate a device. It varies
    >from OS to OS and release to release. The key to success is to do whatever
    >the host asks and make sure your response complies with the spec. Do not
    >rely on any particular sequence.
    >
    >Things to watch for:
    >
    >* The host will often ask for more than you have got. Reply only with what
    >you have, never more.
    >
    >* The host can terminate a setup request before you have sent all that it
    >asked for. It will do this by sending status or a new Setup.
    >
    >* The host will often ask for less than you have. Make sure you only send
    >what it asks for.
    >
    >* After the host sends a Set Address, make sure you are listening on the new
    >address. But, don't do this until after the end of the status phase. This
    >is the only Setup where you don't complete the request until after status.
    >All other you complete the request and then enter the status phase.
    >
    >Marc Reinig
    >System Solutions
    >Windows Driver and Embedded Product Consulting
    >
    > > -----Original Message-----
    > > From: KO TOM [mailto:tomko81@h...]
    > > Sent: Thursday, March 04, 2004 6:26 PM
    > > To: mreinig@p...; tomko81@h...
    > > Subject: RE: [usb] some question abotu USB
    > >
    > >
    > > Dear Marc,
    > >
    > > Thx for your reply, however , i do confused about the process of
    > > enumeration of USB device.
    > >
    > > I have read some books and documentation talking about the
    > > enumeration process, the steps are:
    > >
    > > 1. host - > reset
    > > 2. host -> request for device descriptors by default address 0
    > > 3. device -> responding with first 8 bytes of device descriptor
    > > 4. host -> reset
    > > 5. host -> set new address for device
    > > 6. host -> request for device descriptors with new address
    > > 7. device -> responding with all 18 bytes of device descriptor
    > > 8.host -> get configuration from device
    > > 9.host -> set configuration to device
    > >
    > > Is the above steps correct for USB enumeration? Is that OS will
    > > appear a "find new hardware" window after the above steps ? Any
    > > more reset step i have missed above?
    > >
    > > What I am confused is step 2 the first time host ask for descriptor:
    > > Will the host actually ask for 8 bytes of descriptor( the host
    > > should send out 80 06 00 01 00 00 08 00) or the host is actually
    > > asking for 18 bytes ( the host should send out 80 06 00 01 00 00
    > > 12 00) but we just return it with first 8 bytes?
    > > If we are returning 8 bytes descriptor, what should be the value
    > > of first byte of descriptor we return? 12H or 08H?
    > >
    > > In my mind, i guess the default max packet size should be 8
    > > before the host get our descriptor, so device can only send data
    > > packet with 8 bytes in step 2 but can return the whole descriptor
    > > ( 18 bytes) in a single packet in step 7.
    > > Am my guess right ?
    > >
    > >
    > > Also , USB1.1 and USB 2.0 are using the same hardware interface ,
    > > when the device is plugged into the usb bus, how can the host
    > > know it is running at 1.1 speed or 2.0 speed? (i mean slow, full
    > > and high speed in usb).
    > >
    > >
    > > Sorry for asking so much question, I am looking forward to
    > > hearing from you.
    > >
    > >
    > > Regards, > > TOM > > > > > > >From: "Marc Reinig" <mreinig@p...> > > >Reply-To: "Discussion list about free,open source USB IP core" > > <usb@o...> > > >To: "Discussion list about free,open source USB IP core" > > <usb@o...> > > >Subject: RE: [usb] some question abotu USB > > >Date: Thu, 4 Mar 2004 07:32:19 -0800 > > > > > > > > > > > > > -----Original Message----- > > > > [mailto:usb-bounces@o...]On Behalf Of KO TOM > > > > Subject: [usb] some question abotu USB > > > > > > > 1. Is that only endpoint 0 can be a inout endpoint ? > > > > > >An endpoint is the concatenation of the endpoint number and it's > > direction. > > >So, there can be two endpoints associated with a given endpoint > > number (an > > >In endpoint and an out endpoint). When an endpoint is defined > > as an IN/OUT > > >endpoint, it is really a pair of endpoints that share a common endpoint > > >number. So, it is kind of a misnomer. However, since in common > > practice, > > >there is only one IN/OUT endpoint and that is the control > > endpoint, we just > > >call it endpoint 0, when technically we should call it the > > IN/OUT endpoint > > >pair of control endpoint number 0. > > > > > >So, no, any endpoint number can be an IN/OUT endpoint. However, I have > > >never seen any device with more than one control endpoint. > > > > > > > 2. If some of the endpoint , like endpoint 2, is using control > > > > transfer . Can it be an inout endpoint ? > > > > > >It could, but why would you do this? > > > > > > > 3. Due to the tree architecture of USB, is that my device can > > > > recieve any packet on the usb bus ? I mean can my device (address > > > > 3)receive the packets sending to other device (address 2) ? Is > > > > that all packets are boardcasting? > > > > > >You will see all packets from the host, and none from other devices. > > >_______________________________________________ >http://www.opencores.org/mailman/listinfo/usb _________________________________________________________________ ¦b±zªº¦æ°Ê¸Ë¸m¤W¶Ç°e±µ¦¬ Hotmail ¶l¥ó¡A½Ð²¾¦Ü: http://zh-asiasms.mobile.msn.com

    Follow upAuthor
    [usb] some question about USBMarc Reinig

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