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>
