Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jun 2003 13:33:52 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        louie@TransSys.COM
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: USB, select/poll for ucom 
Message-ID:  <20030625.133352.08453169.imp@bsdimp.com>
In-Reply-To: <200306251858.h5PIwSW8017536@whizzo.transsys.com>
References:  <E19VCk7-000254-00@cs.huji.ac.il> <20030625.101549.78767546.imp@bsdimp.com> <200306251858.h5PIwSW8017536@whizzo.transsys.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200306251858.h5PIwSW8017536@whizzo.transsys.com>
            "Louis A. Mamakos" <louie@TransSys.COM> writes:
: I think the problem is that the USB hardware doesn't try to read data
: from the peripheral until the user-mode code does a read(2) system
: call.  I had this problem with the ugen device.  I would guess that
: the ucom/umodem devices could use the tty clist infrastructure as
: the intermediate buffer for data to be stuck into absent the user
: application doing a read.

I thought that ucom does do that.  It uses ttypoll as its polling
function, and seems to insert data into the tty structure on an
interrupt basis.  That is hidden a little bit by the usb driver
structure.  In the middle of ucomopen we call ucomstartread which
posts a read onto the bulk in pipe.  This read fires a callback when
it is 'finished' which the processes the data.  So I think that maybe
that transfer is never completing.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030625.133352.08453169.imp>