simtrace on Mac OSX

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/.

Holger Hans Peter Freyther holger at freyther.de
Tue Oct 4 18:17:00 UTC 2011


On 10/04/2011 07:54 PM, Peter Stuge wrote:
> Holger Hans Peter Freyther wrote:
>> I 'reverted' fe88b83e80df8be0351ff38ee6a77b855b0cd0a9 that added
>> sending a ZPL for every thing length % 8 == 0 and the device
>> started to work on OSX. I assume we will need to look at the USB
>> spec. :)
> 
> I think that commit is mostly correct, it just overlooks the
> condition of  total data length == requested length, in which case I
> think no zlp should be sent. Also, hard coding 8 as packet size is
> not awesome, the value used by the host for this is bMaxPacketSize0
> in the device descriptor. (See 9.6.1) At least a define would be
> good, full-speed devices can choose value here.

So 8.5.3.2 demands that if data.length is an exact multiple of wMaxPacketSize
we need to send the ZPL.


And 9.4.3
The wLength field specifies the number of bytes to return. If the descriptor
is longer than the wLength field, only the initial bytes of the descriptor
are returned. 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. A short packet is defined as a packet shorter than
the maximum payload size or a zero length data packet (refer to Chapter 5).

How to put this together? I will try to tomorrow.


So as Peter points out we should not send a ZPL if we sent wLength byte but it
also happens to be a multiple of wMaxPacketSize?




More information about the simtrace mailing list