Re: USB net device unexpectedly stops sending driver bulk in urbs

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Mon, 3 Dec 2007, Andrew Bird wrote:

> OK, I have the terminology wrong here. But what I meant to say is that if I 
> reduce the size of the URBs I submit as a test (noting your comment below), 
> the USB packet flow from the device stops at some point. If I reassemble 
> those USB packets together, I can see that they do not form a complete IP 
> packet, it is truncated. Hence my supposition that the USB packet flow 
> stopped from the device, not the IP packet flow into the device.

Yes, it does sound likely.

> > Bear in mind that if your driver submits receive URBs with a smaller
> > transfer length than the device expects, then your driver is ipso facto
> > at fault.  Any further errors you observe can't be blamed on the
> > device.
> Checking out the device its Bulk in and out endpoints are advertised as 64 
> bytes. Originally the URBs were set large enough to contain a full Ethernet 
> packet at over 1500 bytes. Presumably the USB core was coalesing those USB 
> packets either to fill my URB, or until an empty USB packet was sent 
> indicating end of data. In my test I reduced the size down to 64 bytes, so is 
> that OK?

It is.  Anything smaller than 64 bytes would be bad.

> > > My thought ATM is that it's the device that is at fault. Assuming it is
> > > for the moment, and knowing that sending data along the bulk-out path
> > > stimulates the receive path again, what would be a valid thing to send?
> > > Ideally I want something that terminates on the USB device, and doesn't
> > > get pushed out to the network.
> >
> > It's impossible to answer this question without knowing what data the
> > device expects to receive on its bulk-out endpoint.
> I was hoping there might be a generic USB level ping or get status command I 
> could send to its bulk-out endpoint, just to tickle the other end.

There are no generic Bulk-out commands in USB.  There are some generic 
Control requests (like Get-Device-Descriptor); they may or may not 
accomplish what you want.

Alan Stern


-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
[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.