On Mon, 6 Sep 2004, Toralf Lund wrote: > Another minor question: How do you set up the list of supported > languages when you don't actually support any languages, or support all > of them, depending on how you see it? I mean, I only return strings for > the manufacturer name and product id, and those are never translated; I > return the same thing regardless of what language is requested.
I would list first the actual language those strings are written in. Then maybe add U.S.-English as a second language because so many applications use it -- but not if the strings contain any non-English characters (accented characters, for example). > >By the way ... you should switch to using the 2.0 spec. > > > > > Really? I was thinking I should use 1.1 because the controller only > supports USB 1.1, but perhaps that was not a correct assumption... What makes you think the controller doesn't support USB 2.0? To a very large degree the specification is upward compatible; that is, a controller that supports USB 1.1 is also a valid USB 2.0 controller. Remember, the fact that it doesn't run at high speed is unimportant. True, high speed was introduced with the 2.0 spec; but the spec says specifically that devices which only run at low or full speed are still compatible. > >> understand exactly how. The spec also says (in section 9.4.3): "If > >> the descriptor is shorter than the wLength field, the device > >> indicates the end of the control transfer by sending a short > >> packet when further data is requested," but what exactly does this > >> mean? > >> > >> > > > >When your descriptor is N bytes, and the host requests M bytes, > >you must return MIN(N,M) bytes in one or more IN DATA > >packets as requested by the host. > > > >That "short packet" rule adds: If that value is not M, > >and it's an exact multiple of ep0 maxpacket size, then > >you must also send a zero length IN DATA packet. > > > > > Ah, nothing more than that. I'm already trying to do this. But doesn't > this rule always apply? After reading the controller manual, I was lead > to believe that you have to send a null-packet to terminate the transfer > in *all* cases where the data size is an integer multiple of maxpacket, > even when M = N in the above terminology. Isn't that correct? No, it isn't. If the controller manual says that then it's wrong. > Maybe it makes no real difference to me; I think that when I tell the > controller to end with a zero-length packet, it will only do so if the > host actually requests data at the point where it would be transferred. It doesn't matter for control transfers. But for bulk or interrupt transfers it _does_ matter. Your zero-length packet will remain in the endpoint's queue and will get sent as the response to the next bulk-in or interrupt-in transfer, leading the host to think that no data is available (since the zero-length packet is a short packet that will terminate the transfer). Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel