Re: send data on "packet level"

"Gabriel Maganis" <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On 8/7/07, Alan Stern <[email protected]> wrote:
> On Tue, 7 Aug 2007, Gabriel Maganis wrote:
>
> > On 8/7/07, Alan Stern <[email protected]> wrote:
> > > On Mon, 6 Aug 2007, Gabriel Maganis wrote:
> > >
> > > > Hello,
> > > >     How could one communicate with usb devices on the packet level
> > > > i.e. chapter 8 of the usb spec instead of the device requests in
> > > > chapter 9? I'd like to be able to send SETUP packets or DATA0 packets
> > > > and get the ACK coming from the devices versus a GET_DESCRIPTOR
> > > > request over the control pipe thru usb_control_msg.
> > >
> > > It depends on what you mean.  Individual packets in USB don't form a
> > > complete communication; not much below the level of a transaction is
> > > meaningful.  If that's good enough for you (a Setup transaction
> > > followed by an IN or OUT transaction for instance), you can do it by
> > > hacking the host controller drivers.
> > >
> > > If you really want control at the level of single packets, you will
> > > have to build your own hardware.  Normal host controllers don't provide
> > > that capability.
> > >
> > > But why would you want to do this?  What's wrong with the existing
> > > facilities?  I don't see any point in, say, just sending a SETUP
> > > packet.  You won't know whether the device has processed it without
> > > going through the remainder of the control transfer (data stage and
> > > status stage).  And if you're going to go through all that anyway, then
> > > why not let the existing drivers take care of the details for you?
> > >
> > > Alan Stern
> > >
> > >
> >
> > Hello Alan,
> >     My goal is to be able to examine the fields they talk about in
> > chapter 8 of the usb spec like the SYNC field and such. Is there a way
> > to look at those from a usb_control_msg? or, at leat usb_submit_urb?
>
>
> Not only is there no way to look at the SYNC and related fields from
> usb_control_msg() or usb_submit_urb() -- there is no way to look at
> them in software at all!  The hardware strips those fields out before
> storing the data in the computer's memory.
>
> If you have an oscilloscope or USB bus analyzer, you can monitor the
> USB data lines and see the fields directly.  Otherwise it's impossible.
>
> Alan Stern
>
>

I see. So the most I have access to from software are on the
transaction level like you described before i.e. a SETUP transaction
which is actually a SETUP packet followed by a DATA packet then an ACK
packet? And I can't even do so unless I hack the host controller
drivers?

Thanks,
Gabriel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.