Google
  Web www.spinics.net

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

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


Hi Alan,
	sorry for the question lacking detail. I'll see if I can add some more below.

On Sunday 02 December 2007 19:28:24 Alan Stern wrote:
> On Sun, 2 Dec 2007, Andrew Bird wrote:
> > Hi All,
> > 	I'm new to the list so please be gentle ;-)
> >
> > 	I'm experimenting with a USB network type device. I have a driver
> > functioning mostly, but during an example FTP download, the device
> > unexpectedly stops sending the host bulk in URBs.
>
> You say that the device stops sending bulk-in data, but do you actually
> mean that the driver stops submitting bulk-in URBs?

The driver has submitted URBs, I have 4 waiting for data that never comes.

>
> > If I send a single ping out sometimes the
> > transfer resumes. The missing data seems to have been buffered somewhere
> > in USBland, because the next set of URBs are larger than usual and
> > instantaneously available.
>
> What do you mean by "instantaneously"?  How do you know the data isn't
> stuck in a network buffer rather than a USB buffer?

Well I think it is the USB device, because if I lower the size of the receive 
URB to less than the packet size, the device stops sending URBs mid packet.

>
> >  Has anyone any ideas as to why this is happening,
> > and how I might cure it?
>
> Here's an answer at about the same level of detail as the information
> you provided:
>
> 	There's a bug in either the device or in your driver.

>
> The answers to my questions above might help pin down where the bug
> lies.  As for curing it, that's simple: If the bug is in the device,
> add a workaround to your driver; if the bug is in your driver, fix it.

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. 

>
> If you want a more useful answer, you'll have to provide more detailed
> information.  For example: the kernel version, the type of USB host
> controller, the dmesg log, any other debugging info, and maybe even the
> driver source.

Well I have tested variants of the driver on two platforms and see the fault 
on both. Currently I'm trying to make it work on a Broadcom embedded MIPSel 
device with 2.4.20 kernel. Previously I saw it on x86 with 2.6.22 kernel.
The device is an Option UMTS card. It is a PCI expressCard that comes with a 
cardbus caddy containing an ohci usb controller. The device is not one of the 
usual usbserial type cards, but one that does PPP on the card itself, and 
ships IP packets out to the host. The 2.6 driver is available from 
http://www.pharscape.org/component/option,com_forum/Itemid,68/page,viewtopic/t,350/

Thanks for looking

Andrew




>
> 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
_______________________________________________
linux-usb-devel@xxxxxxxxxxxxxxxxxxxxx
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

[Home]     [Video for Linux]     [Photo]     [Yosemite Forum]     [Yosemite Photos]    [Video Projectors]     [PDAs]     [Hacking TiVo]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Big List of Linux Books]     [Free Dating]

  Powered by Linux