On Fri, 1 Mar 2002 14:18, Shane Nay wrote:
> Situation-
> I have a ARM board that I wrote a small USB stack for so I could
> download my updates quicker.  I wrote a linux driver to talk to that
> USB stack and download my code basically.
If you have a SA1110, there is a standard "usb device" driver that works with 
the usbnet driver, and a cdc ethernet driver that will soon work with the 
CDCEther driver. Why not just use those?

> Problem-
<snip>
> Now, I've hooked all this up to my osciliscope, and here's what I'm
> seeing-
> Case 1- One URB queued at a time
> Frames are 1ms apart, traffic looks like-
> [data]1ms[control]1ms[data]1ms[control] ...
>
> Case 2- Two URBs queued up at a time-
> [data]1ms[data]1ms[control]1ms[data]1ms[data]1ms[control] ...
Are you doing synchronous transfers?

> Now, the problem is that the theoretical maxima I could get in this
> scenario is 512kbps.  However, both the PC and the device are capable
> (hardware wise) of transferring a lot faster.  (USB1.1 device, so in
> theory 12Mbps)  So, what do I need to do in order to ratchet up the
> frame rate?, or just have it trigger the next transmit on the irq for
> bulk completion?
You should be able to just dump big data segments into the URB, and it will 
crank out. Look at Chap 5 of the USB spec and the Cypress white paper on 
throughput to see why the real limit is not 12Mbps, but more like 8 or 9 Mbps 
on an otherwise unloaded bus.

Sorry this isn't helping much...

Brad

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to