Ucom/Uftdi Thru-put

Bernd Walter ticso at cicely12.cicely.de
Fri Aug 26 11:25:11 GMT 2005


On Fri, Aug 26, 2005 at 11:39:15AM +0200, Bernd Walter wrote:
> On Sat, Aug 20, 2005 at 02:57:01PM -0700, User Tomdean wrote:
> > I am running FreeBSD 5.4 on an ASUS A7N266E.
> > 
> > I have a FTDI FT8U245BM based UMP2 driven by an Atmel ATmega16, connected to ucom0.
> > 
> > usb0: OHCI version 1.0
> > usb0: <OHCI (generic) USB controller> on ohci0
> > usb0: USB revision 1.0
> > uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> > uhub0: 3 ports with 3 removable, self powered
> > ohci1: <OHCI (generic) USB controller> mem 0xee800000-0xee800fff irq 21 at device 3.0 on pci0
> > usb1: OHCI version 1.0
> > usb1: <OHCI (generic) USB controller> on ohci1
> > usb1: USB revision 1.0
> > uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> > uhub1: 3 ports with 3 removable, self powered
> > ...
> > ucom0: FTDI USB HS Serial Converter, rev 1.10/2.00, addr 2
> > 
> > The FT8U245BM looks like an FT8U232AM, except the 'other side' is
> > parallel rather than serial.  From the EEPROM,
> > 
> > vendor  0x0403    == USB_VENDOR_FTDI
> > product 0x6001    == USB_PRODUCT_FTDI_SERIAL_8U232AM
> > release 0x0200
> > 
> > My FreeBSD process just loops, reading ucom0.  The microprocessor just
> > loops, waiting for space in the UMP2 transmit buffer, 'TXE#' then writes an
> > 'a'.
> > 
> > The thru-put is 1000060 bytes in 32.26 seconds or about 31 KBytes/sec.
> > 
> > The microprocessor spends most of the time waiting for TXE#.
> > 
> > Is this near the max thru-put of the uftdi driver?
> 
> Keep in mind that Full-Speed USB is just 12MBit/s plus much overhead.
> You are near the theoretical limit.

Ups - sorry, I missed that it took 32.26 seconds.
It depends very much on your programming, so details would help to
analyse your bootlenecks.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de



More information about the freebsd-usb mailing list