Date: Mon, 12 Sep 2011 09:33:37 +0400 From: Boris Samorodov <bsam@ipt.ru> To: Jilles Tjoelker <jilles@stack.nl> Cc: freebsd-current@FreeBSD.org, ed@freebsd.org, Peter Jeremy <peterjeremy@acm.org> Subject: Re: Serial Port Configuration does not work Message-ID: <77785294@bb.ipt.ru> In-Reply-To: <20110911110258.GA51096@stack.nl> (Jilles Tjoelker's message of "Sun, 11 Sep 2011 13:02:58 %2B0200") References: <70652288@bb.ipt.ru> <20110911110258.GA51096@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 11 Sep 2011 13:02:58 +0200 Jilles Tjoelker wrote: > On Tue, Sep 06, 2011 at 04:29:51PM +0400, Boris Samorodov wrote: > > the port does not work as expected (at least as per The Handbook, > > 26.2.5 Serial Port Configuration). Nether "init" nor "lock" > > devices can be used: > > ----- > > # uname -a > > FreeBSD host1.ipt.ru 9.0-BETA2 FreeBSD 9.0-BETA2 #14 r225395: Mon > > Sep 5 18:10:43 MSK 2011 bsam@bb.ipt.ru:/usr/obj/usr/src/sys/HOSTS > > i386 > > # ls -l /dev/ttyu5* > > crw------- 1 root wheel 0, 56 Sep 5 18:50 /dev/ttyu5 > > crw------- 1 root wheel 0, 57 Sep 5 18:50 /dev/ttyu5.init > > crw------- 1 root wheel 0, 58 Sep 5 18:50 /dev/ttyu5.lock > > # stty -f /dev/ttyu5.init 57600 > > stty: /dev/ttyu5.lock isn't a terminal > > # stty -f /dev/ttyu5.lock cs7 > > stty: /dev/ttyu5.lock isn't a terminal > > ----- > It looks like r223722, while introducing the ability to issue > device-specific ioctls on init and lock devices, broke the ability to > issue generic ioctls, with the exception of TIOCSETA. (However, stty > will not do much if it cannot do TIOCGETA.) > Try this patch and report if it works: > diff --git a/sys/kern/tty.c b/sys/kern/tty.c > index ce49f97..3721888 100644 > --- a/sys/kern/tty.c > +++ b/sys/kern/tty.c > @@ -777,6 +777,7 @@ ttyil_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, > error = ttydevsw_cioctl(tp, dev2unit(dev), cmd, data, td); > if (error != ENOIOCTL) > goto done; > + error = 0; > > switch (cmd) { > case TIOCGETA: Thanks Jilles! That did it: ----- % sudo stty -f /dev/ttyu4 speed 9600 baud; lflags: echoe echoke echoctl oflags: tab0 cflags: cs8 -parenb % sudo stty -f /dev/ttyu4.init 1200 cs7 % sudo stty -f /dev/ttyu4 speed 1200 baud; lflags: echoe echoke echoctl oflags: tab0 cflags: cs7 -parenb ----- -- WBR, Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?77785294>