[linux-usb-devel] syncronizing 2 USB ports

2003-05-30 Thread Ted Huntington
Is syncronizing 2 isochronous signals possible on 2 different hubs? on
the same hub?  I need to make sure that data from 1 USB port and data
from a different USB port arrive at my circuit at the same time (to
within 1us).  For now I am only using Full Speed.

thanks
Ted

--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557
emesgs:  [EMAIL PROTECTED]
web page:  http://business.lib.uci.edu/webpages/ted.htm
8:00a-12:00p Business Office (949) 824-8926
1:00p-5:00p  Multimedia Resource Center (949) 824-1674
"Stop violence, teach science."




---
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] syncronizing 2 USB ports

2003-05-30 Thread Ted Huntington
Thanks I will look at the 2.0 spec.  What would cause isochronous data to not
arrive, or not arrive with good data?

So is there no way to guarantee data and timing with USB (1.1 or 2.0)?

So syncing 2 USB busses is possible in Linux, but difficult as you explained.
Can I use (micro)frame number?  Are these numbers the same on two different
root hubs?

Ted

Steve Calfee wrote:

> At 10:38 AM 5/29/03 -0700, Ted Huntington wrote:
> >Is syncronizing 2 isochronous signals possible on 2 different hubs? on
> >the same hub?  I need to make sure that data from 1 USB port and data
> >from a different USB port arrive at my circuit at the same time (to
> >within 1us).  For now I am only using Full Speed.
> >
> >thanks
> >Ted
> >
> >-
>
> You need to read the spec for usb 2.0 at www.usb.org But here are some
> quick comments.
>
> USB is a serial bus, so if the devices are on the same bus (and full
> speed), each bit is 84 ns, so your packet would have to be less than 12
> bytes (including overhead) to be less than 1us. Probably not possible or
> useful. Might be possible at high speed.
>
> You might be able to use two root hubs, so you have two usb busses, but
> then they will need to be somehow synchronized... possible but not easy.
>
> Iso is an unreliable send, so you are not guaranteed that both packets will
> always arrive and arrive with good data. The only guarantee is bandwidth.
>
> Regards, Steve
>
> __
> Steve Calfee--  embedded systems consultant
> [EMAIL PROTECTED]
>
> ---
> This SF.net email is sponsored by: eBay
> Get office equipment for less on eBay!
> http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
> ___
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557
emesgs:  [EMAIL PROTECTED]
web page:  http://business.lib.uci.edu/webpages/ted.htm
8:00a-12:00p Business Office (949) 824-8926
1:00p-5:00p  Multimedia Resource Center (949) 824-1674
"Stop violence, teach science."




---
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] max speed for 2.0 bulk

2004-03-01 Thread Ted Huntington
I am using a Cypress FX2, and the fastest bulk speed I can get in Linux
is 30MB/s.  If I include writing the data to disk that speed is 15MB/s.
I see that CPU use is at 100% when doing these transactions.

Getting 30MB/s requires very specific conditions:
0x1000 size user read buffer
0x1000 size URB buffer

With libusb I only get 16MB/s.  Is there a libusb implementation for ISO
planned?

I am interested in techniques people have found (for example should I
malloc a full 4k page for the URB?  Use bulk queueing [I could not get
this to work in 2.4.21] What other techniques have been found to
increase speed?)

Have any other driver developers seen faster speeds?

Can Linux write to disk in iso at 24MB/s?

Is this a hardware problem that we do not get 60MB/s (or 52MB/s)?
Hopefully, this will be solved in the future.

I am going to test bulk transfers on XP and I will report the results.
According to one Cypress document the FX2 averages 39MB/s in XP (so
9MB/s faster than I am getting on Linux, but still under the 50MB/s
claim).  The important thing for me is that I can write to disk using
iso at 24MB/s.

Ted

--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557
emesgs:  [EMAIL PROTECTED]
web page:  http://business.lib.uci.edu/webpages/ted.htm
8:00a-12:00p Business Office (949) 824-8926
1:00p-5:00p  Multimedia Resource Center (949) 824-1674
"Stop violence, teach science."




---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] max speed for 2.0 bulk

2004-03-02 Thread Ted Huntington
Thanks David


David Brownell wrote:

>
> I deduce that you're not using urb queueing.  If you keep an I/O queue
> full at all times, you'll be limited by hardware performance of your
> FX2 and EHCI controllers ...

I tried using the BULK_QUEUE flag and then simply submiting URBs, but the
copy_to_user did not work then (as I remember - I have to check again
tonight).  I have to submit the next URB only after the bulk_irq was received.

Are there special functions I need to use for URB queueing?  Or are you
saying, just simply submit all the URBs and let the Linux USB subsystem handle
the queueing?

Are URB memory sizes important?  Should they remain constant?

> You'll probably need to have separate activities reading data and
> writing it to disk.

The writing is done in user-space.  I think I may make the write in a thread.
Is this what you are saying?


>  I've had one person report 39 MB/sec on Linux,
> FX2-to-disk, that way ... I think that was with a VT8235.

Awesome, I hope I can match that, this is an Intel chip that is on an Intel
motherboard.


> I'd hope that any new usermode USB APIs will all be designed around
> new kernel mode ones ... using the 2.6 kernel and libaio.

I am not familiar with libaio and I am developing on 2.4.22 (whatever the
latest stable version is that comes with MDK 9.2).  I am simply using devfs
with file_operations, and character device read().


> > Is this a hardware problem that we do not get 60MB/s (or 52MB/s)?
> > Hopefully, this will be solved in the future.
>
> The FX2 doesn't have much of a CPU.  The max bulk throughput
> is 52 MB/s, the 60 MB number doesn't count framing and other
> limitations.  And I'm not sure I'd expect any hardware to
> really hit the 52 MB/s number.

I would like to see bit-stuffing dropped for USB 3.0, bit-stuffing is not
needed for ieee1394, the CRC should be enough.  Max out the USB speed!!!


> > I am going to test bulk transfers on XP and I will report the results.
> > According to one Cypress document the FX2 averages 39MB/s in XP (so
> > 9MB/s faster than I am getting on Linux, but still under the 50MB/s
> > claim).

Here are my fx2 results in XP:
BULK IN = 34.5 MB/s [doc has 39.967] CPU=16%
BULK OUT=31.7MB/s [31.815] CPU=16%
ISO IN=23.976MB/s [24.000] CPU=5%
ISO OUT=23.975MB/s [23.975] CPU=5%

I am surprised that the BULK IN did not compare with the FX2 document.  I was
hoping for that 40MB/s, and that does not even including writing (although
there is enough CPU ).


thanks for your advice on this!
Ted

--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557
emesgs:  [EMAIL PROTECTED]
web page:  http://business.lib.uci.edu/webpages/ted.htm
8:00a-12:00p Business Office (949) 824-8926
1:00p-5:00p  Multimedia Resource Center (949) 824-1674
"Stop violence, teach science."




---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] max speed for 2.0 bulk

2004-03-02 Thread Ted Huntington
> Just submit a bunch at once ... they line up in a neat queue
> as you submit them.  Your job is to make sure there's always
> an urb at the head of the queue.

I tried doing this, but the copy_to_user functions did not work then.  They only
work when I wait for the bulk_isr() to resubmit 1 URB at a time.  I must be doing
something wrong in the bulk_isr function (I basically just copy_to_user in this
function), even with the QUEUE_BULK flag.  Do I need to use the QUEUE_BULK flag?
The queueing definately works in the latest stable version in MDK 9.2?

>
> And the reads shouldn't block while you're waiting for the
> writes to complete ...

So, basically make threads for both read and write?

thanks
Ted


--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557
emesgs:  [EMAIL PROTECTED]
web page:  http://business.lib.uci.edu/webpages/ted.htm
8:00a-12:00p Business Office (949) 824-8926
1:00p-5:00p  Multimedia Resource Center (949) 824-1674
"Stop violence, teach science."




---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] max speed for 2.0 bulk

2004-03-02 Thread Ted Huntington
>
> I don't know what you mean by "bulk_isr()".  If you
> mean the completion callback,

yes


> then it's illegal to
> call copy_to_user() in such a context -- they can't
> block, as needed to page in memory.

this is a software interrupt routine I guess, also called a callback, the context is
different than in the rest of the kernel module?

I am only intermediate, the copy_to_user needs to block other processes?  I guess
copy_to_user puts the copy from and copy to memory pages in a page directory?

> For an IN transfer the completion handler must
> hand the buffer off to something else that can
> copy_to_user().  And resubmit that urb using
> some other kernel buffer.

Actually, resubmitting the URB should only happen if more data is needed.  Is there
something wrong with the idea of submitting only as many URBs as data read() from
user-space?


> >
> > So, basically make threads for both read and write?
>
> Whatever it takes, you're the one designing the software.

I guess using read and write threads is one possibility of many then...

thanks
Ted



--
Ted Huntington
Programmer Analyst I
Main Library
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557

Phone Bus Off 949 824 8926
Phone MRC 949 824 1674
emesg: [EMAIL PROTECTED]
webpage:  http://business.lib.uci.edu/webpages/ted.htm
"Stop violence, teach science."




---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] aplux usb 2.0 webcam

2004-07-22 Thread Ted Huntington
I want to report my progress with the ovfx2 driver and the Aplux MU2-35. 
I applied the patch Mark McClelland sent me for 2.4.23 on a MDK9.2.

I made a program that opens and reads from /dev/video0 that is more simple
than xawtv.  In xawtv I see the camera light blinking (frames are being
read) but no picture.  In my viewer program I see 1 frame from the camera,
the image is correct but is tinted red, but then no more images after the
first one.
Perhaps you can take a quick look at the debug output and see quickly what
is going wrong more easily than I.  

I have a snoopy Pro output from WinXP of the camera streaming I looking
at, but this camera is not great (but so cheap!), because it does not work even in 
Windows
XP (with Intel 865glc ICH5) on the front USB port, only the back (which
must be the motherboard port which is faster than the secondary, or PCI
ports as far as I understand), is that ridiculous?
thanks
Ted
Here is the /var/log/messages:
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: v2.25 : OV camera chip I2C
driver
Jul  4 17:09:52 p2400 kernel: i2c-core.o: driver i2c ovcamchip driver
registered.
Jul  4 17:09:52 p2400 kernel: usb.c: registered new driver ovfx2
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_probe:2664] probing for
device...
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_configure:2630]
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x01
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x03
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x01
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_r:539] 0x0F:0x11
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x19
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xEE:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_r:539] 0x0F:0x19
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x1D
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE0:0x46
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE1:0xF8
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE2:0x02
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE3:0x07
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE4:0x49
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE5:0xF0
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE6:0x0C
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE7:0xF4
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE8:0x3F
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_r:539] 0x0F:0x1D
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x0F:0x9D
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xE9:0xBB
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xEA:0x00
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xEB:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xEC:0x14
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0xEE:0x58
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_init_i2c:951] Registering
I2C bus with kernel
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: [ovcamchip_attach:429]
Adapter ID 0x0400fd accepted
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: [ovcamchip_detect:267]
Testing for 0V7xx0
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x12:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [reg_w:490] 0x00:0x42
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_i2c_adap_read_byte_data:667]
0x1C:0x7F
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_i2c_adap_read_byte_data:667]
0x1D:0xA2
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: [init_camchip:159] I2C
synced in 1 attempt(s)
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: [ov7xx0_detect:172]
Jul  4 17:09:52 p2400 kernel: ovfx2.c: [ovfx2_i2c_adap_read_byte_data:667]
0x29:0x00
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: Camera chip is an OV7620
Jul  4 17:09:52 p2400 kernel: ovcamchip_core.c: [ovcamchip_attach:464]
Camera chip detection complete
Jul  4 17:09:52 p2400 kernel: ov7x20.c: [ov7x20_init:260] entered
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x12:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x00:0x00
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x01:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x02:0x80
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x03:0xC0
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x06:0x60
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x07:0x00
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x0C:0x24
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x0C:0x24
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x0D:0x24
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 0x11:0x01
Jul  4 17:09:52 p2400 kernel: ovfx2.c:
[ovfx2_i2c_adap_write_byte_data:683] (0x42) 

Re: [linux-usb-devel] Re: structure INTERRUPT TRANSFER

2004-07-23 Thread Ted Huntington
I like the libusb too, are there plans for isocronous support?
thanks
Ted
John Homppi wrote:
Jürgen Stuber suggested
"- try to submit interrupt URBs via usbfs"
I second this suggestion and offer the additional observation that
the libusb library provides an easy interface to the usbfs.
(see the libusb-devel mailing list for info).
Recent additions to the libusb API provide support for interrupt
in/out endpoints.
I use the libusb library under kernel 2.6 to access a
device built using the Microchip PIC16C745. 

The PIC16C745 that I use is inside a commercial
product: an ADU200 from Ontrak Control Systems. 

I have heard that libusb works under 2.4 but I have not tried it 
personally.

Bon Chance,
John Homppi
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
 

--
Ted Huntington
Programmer Analyst  
Main Library   
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557

Phone Bus Off 949 824 8926
Phone MRC 949 824 1674
emesg: [EMAIL PROTECTED]
webpage:  http://business.lib.uci.edu/webpages/ted.htm
"Stop violence, teach science."

---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: structure INTERRUPT TRANSFER

2004-07-23 Thread Ted Huntington
I like libusb too, are there plans for isocronous support soon?
thanks
Ted
John Homppi wrote:
Jürgen Stuber suggested
"- try to submit interrupt URBs via usbfs"
I second this suggestion and offer the additional observation that
the libusb library provides an easy interface to the usbfs.
(see the libusb-devel mailing list for info).
Recent additions to the libusb API provide support for interrupt
in/out endpoints.
I use the libusb library under kernel 2.6 to access a
device built using the Microchip PIC16C745. 

The PIC16C745 that I use is inside a commercial
product: an ADU200 from Ontrak Control Systems. 

I have heard that libusb works under 2.4 but I have not tried it 
personally.

Bon Chance,
John Homppi
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
 

--
Ted Huntington
Programmer Analyst  
Main Library   
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557

Phone Bus Off 949 824 8926
Phone MRC 949 824 1674
emesg: [EMAIL PROTECTED]
webpage:  http://business.lib.uci.edu/webpages/ted.htm
"Stop violence, teach science."

---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB Gadget with EZ-USB FX2?

2004-10-28 Thread Ted Huntington
The ovfx driver for some cameras uses the FX2 bulk mode, and a person 
names Vladimir at http://volodya-project.sourceforge.net/overview.php 
has done a large amount of development for the chip.  The chip is great 
and I have some code at http://tedhuntington.us/software.htm.

stop violence, teach science
Ted
On 10/27/2004 6:48 PM, Santoso, Yusdi wrote:
Hi all,
Does anybody know if there is any implementation of USB Gadget API controller driver 
for EZ-USB FX2 chip?
Thanks,
Yusdi
 


---
This Newsletter Sponsored by: Macrovision 
For reliable Linux application installations, use the industry's leading
setup authoring tool, InstallShield X. Learn more and evaluate 
today. http://clk.atdmt.com/MSI/go/ins003001msi/direct/01/
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB2 throuput performance with libusb possible?

2004-11-02 Thread Ted Huntington
a person at Cypress sent me tables that show that USB cards on PCI are 
slower than on the motherboard, and as expected USB thru-put is slower 
when more than 1 USB chip is in use at the same time.

Ted
On 11/2/2004 1:13 PM, Eric Blossom wrote:
On Tue, Nov 02, 2004 at 09:23:20PM +0100, Axel Waggershauser wrote:
 

On Thu, 2004-10-28 at 13:25 -0700, Eric Blossom wrote:
   

 

I have tried to reproduce your bandwidth results by patching the
fx2_programmer
(http://volodya-project.sourceforge.net/fx2_programmer.php) to use your
fast_usb code in it's bench_bulk function to get the data. To produce
some data in the FX2, I used the included ex3 program. I connected the
FX2 to a NEC based USB2 PCI extension card:
  :00:0c.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
(prog-if 20 [EHCI])
  Subsystem: Unknown device 0ee4:3383
The original fx2_programmer reached about 15 MB/sec with plain libusb
usb_read_bulk calls. The patched version (using fusb) got up to about 23
MB/sec - but no more... :-/
You mentioned the host-controllers are generally the biggest issue
regarding throughput. Do have any experience with this NEC chip? Do you
know another reason why I can't reproduce your 32 MB/sec? Maybe the
ex3.c is the bottleneck - 
   

The NEC controllers are known to suck.  They're not even the same
speed inbound as outbound.  They apparently can't talk on both the USB
and PCI at the same time...
Most of the motherboards using intel parts seem to work fine.
USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01)
Is known to work.
I'm still searching for a PCI add-in card that doesn't suck.
I tried the VIA based chip set and it was slow too.  I understand that
there may be Philips based cards, but I haven't located one.
If you find a fast add-in card, please let me know.
 

do you have a simple FX2 firmware that works
on any FX2 based device which just produces random data _fast_?
   

Nope, sorry.  ex3 might work, I think that it just says "OK" whenever
asked for data, but it's been a while since I looked at it.
Eric
---
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
 

--
Ted Huntington
Programmer Analyst  
Main Library   
University of California, Irvine
PO Box 19557
Irvine, CA 92623-9557

Phone Bus Off 949 824 8926
Phone MRC 949 824 1674
emesg: [EMAIL PROTECTED]
webpage:  http://business.lib.uci.edu/webpages/ted.htm
"Stop violence, teach science."

---
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel