USB, select/poll for ucom
Bernd Walter
ticso at cicely12.cicely.de
Wed Jun 25 05:37:50 PDT 2003
On Wed, Jun 25, 2003 at 03:27:30PM +0300, Danny Braniss wrote:
> > On Wed, Jun 25, 2003 at 01:13:56PM +0300, Danny Braniss wrote:
> > > hi,
> > > while trying to port an application that works with tty to uplcom/ucom,
> > > (and it doesn't work :-), and looking at the kernel sources and
> > > trying to figure out USB, i think that select(2)/poll(2) will not work,
> > > correct?
> >
> > I've seen Problemes with non 8n1 communications and I've also seen
> > problems because most USB adapters only deliver 5.5V to the lines.
> > I never noticed any select/poll problems and I don't think we have any
> > because this is handled in common code at tty level.
> >
> > If you have any condition that shows something different please let
> > us know.
> >
>
> i turned debug on and i could not see any calls to ucomread,
> the program calls select(...) - but select does not initiate anything,
> it justs waits to be woken when something is received (in the case of reading),
> now, unless im wrong - which well could be :-), the read in this case must be
> started - usb is a master/slave protocol, and this is not happening.
Because you don't talk to ucom directly - you talk to tty layer.
See src/sys/kern/tty*
> if(select(fdset,...)) {
> if(FD_ISSET(ifd, fdset))
> read(ifd, ...
> ...
> }
> danny
> PS: im using 5.1-current, and im trying to get a Towitoko smartcard reader to
> work.
Forget it - if I'm not wrong Towitoko readers use 7 bit transfers and
that's your problem.
It's doesn't with at least uplcom and uftdi - Towitoko is using PL2303
chips in their own USB product.
The only thing you can do to get this working is by fixing 7 bit
transfers.
--
B.Walter BWCT http://www.bwct.de
ticso at bwct.de info at bwct.de
More information about the freebsd-hackers
mailing list