USB, select/poll for ucom

Louis A. Mamakos louie at TransSys.COM
Wed Jun 25 11:58:37 PDT 2003


> In message: <E19VCk7-000254-00 at cs.huji.ac.il>
>             Danny Braniss <danny at cs.huji.ac.il> writes:
> : 
> : > I'm able to use ppp with umodem/ucom.  My brother uses ulpcom/ucom for
> : > his ppp needs.  I'm pretty sure that select is involved. :-)
> : > 
> : > >From what I can see in the code, I'd expect that it would work because
> : > the ttypoll routine is specified for the poll routine.  Why do you
> : > think it wouldn't work?
> : 
> : well, for one, my program doesn't work :-), it works with the RS232 version.
> : 
> : so i started to poke around, and did some reading, and as far as i could tell,
> : the read(2) has to be initiated by the host, but my knowledge of usb is close
> : to zero - it was zero 2 days ago, but still looking for some better docs, and
> : polish my english - as far as i remember interrupt is not polling, but the
> : ohci docs imply that :-)
> 
> have fun.  the mindshare book is good.  however, it took me a long
> time to get a usb 'aha' moment and understand its twisty maze was
> really a workable design obscured by standardese...  I suspect it is a
> problem in the usb chipset driver for the com part.  ttypoll just says
> 'you have data in the buffer' so for some reason the data isn't making
> into the tty buffer.

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.

louie







More information about the freebsd-hackers mailing list