Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 May 2004 22:01:18 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Roman Kurakin <rik@cronyx.ru>
Cc:        Marcel Moolenaar <marcel@xcllnt.net>
Subject:   Re: Sio & Puc memory mapped
Message-ID:  <20040516210256.W866@gamplex.bde.org>
In-Reply-To: <40A73401.5010703@cronyx.ru>
References:  <40A26162.9030607@cronyx.ru> <20040512.200542.09569104.imp@bsdimp.com><40A4E2CB.2000007@cronyx.ru> <20040515041301.O22881@gamplex.bde.org> <40A537C8.1010407@cronyx.ru> <40A73401.5010703@cronyx.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 16 May 2004, Roman Kurakin wrote:

> Marcel Moolenaar:
> [...]
>
> ><patch>
> >--- asytest.c~	Fri May 14 11:50:10 2004
> >+++ asytest.c	Sat May 15 11:31:03 2004
> >@@ -152,6 +152,7 @@
> > 		}
> >
> > 		opt = chan[i].old_options;
> >+		cfmakeraw (&opt);
> > 		cfsetspeed (&opt, baud);
> > 		opt.c_cflag = CREAD | CS8;
> > 		opt.c_lflag &= ~ICANON;
> > ...
>
> >The first (the cfmakeraw() insertion) may be related to uart(4) not
> >setting proper defaults, but may also be related to uart(4) setting
> >different *valid* defaults. The second is a genuine test program bug
> >
> The only I can say that this test works fine with sio(4), cx(4),
> and under linux kernels before 2.6 with serial. So this requires
> additional investigation.

Programs certainly need to initialize all of the termios state that
they care about, but the uart driver uses poorly chosen defaults which
can't be changed at runtime and are particularly unsuitable for simple
test programs.  The only fundamentally broken thing in the uart driver's
defaults is that they have echos enabled, so an echo war results if 2
ports driven by the uart driver are connected and one of them happens
to send a character before an ioctl can be done to set a useable state.

Bruce



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