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>