Re: starting a new hw driver for gadget support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 27 Jan 2012, Klaus Rudolph wrote:

> Hi Alan,
> > This means that the host thinks it sent an 8-byte SETUP packet followed
> > by a 24-byte data-OUT packet.
> > 
> >> And as I told you, I have no idea where to put that packet?
> > 
> > Most likely, the SETUP packet _was_ sent and either your hardware or 
> > your driver lost it.
> > 
> 
> My hardware has different buffers for each endpoint. As I understand
> you, the host try to send a setup packet 8 bytes AND a 24 bytes packet
> to another (bulk) endpoint.

No, no.  The host sent an 8-byte SETUP packet to ep0 followed by a 
24-byte data-OUT packet to ep0.

>  But why wireshark could not see the two
> packets?

Wireshark for USB doesn't see packets at all.  It sees only URBs, which
are purely software entities.  Each URB corresponds to multiple
packets.  The URB you posted was a 24-byte control-OUT transfer, which
means the hardware will try to carry out three transactions: SETUP (8
bytes), data-OUT (24 bytes), and data-IN (0 bytes).

And if you want to be really technical about it, each transaction 
consists of multiple packets:

	The SETUP transaction involves the host sending a SETUP packet
	and the device replying with an ACK packet.

	The data-OUT transaction involves the host sending an OUT 
	packet and a DATA0 packet, followed by the device replying with 
	an ACK packet.  (Or the device might reply with NAK, in which 
	case host will retry the OUT and DATA0 packets.)

	The data-IN transaction involves the host sending an IN packet,
	the device replying with a 0-length DATA1 packet, and then the
	host sending an ACK packet.

>  I could believe that my hardware do mysterious things and my
> driver also, but how could the tracer show the things in that way?
> 
> I maybe have Monday the chance to look directly on the bus with a
> hardware tracer. Maybe this clears the fog a bit :-)

That's a good thing to try.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux