Re: starting a new hw driver for gadget support

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

 



Alan Stern schrieb:

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

Sorry for my non precise wording! OK, here is my problem. Where should I
put the 24 bytes from ep0?

For the bulk out ep I have a pending request in the queue where I could
put incoming data and call the callback from the request.

But I have not seen any ep0 request pending in the queue. I need a
callback, a request or a buffer where I could put that packet. But I
have no idea where the gadget infrastructure expects these packets.

I really miss a simple beginners guide to the gadget framework where a
simple data flow diagram give answers to these beginners questions.

Is there maybe a sample implementation which I could look in? Many
drivers look very complex cause of all the hardware access. Is there
really no documentation for the gadget framework?

Maybe it is easier to write a pair of host and gadget driver at my own
which enable ethernet functionality? To run ip over can needs 2 days...




Regards
 Klaus


> 
>>  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
> 

--
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