|
Message
From: KO TOM<tomko81@h...>
Date: Sat Mar 6 02:57:21 CET 2004
Subject: [usb] some question about USB
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
|
 |