From owner-freebsd-current@FreeBSD.ORG Sun Sep 11 11:03:00 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 805A91065672; Sun, 11 Sep 2011 11:03:00 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id 159628FC13; Sun, 11 Sep 2011 11:03:00 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id EDE7635937C; Sun, 11 Sep 2011 13:02:58 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id D98F31742A; Sun, 11 Sep 2011 13:02:58 +0200 (CEST) Date: Sun, 11 Sep 2011 13:02:58 +0200 From: Jilles Tjoelker To: Boris Samorodov Message-ID: <20110911110258.GA51096@stack.nl> References: <70652288@bb.ipt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <70652288@bb.ipt.ru> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-current@FreeBSD.org, ed@freebsd.org, Peter Jeremy Subject: Re: Serial Port Configuration does not work X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 11:03:00 -0000 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: -- Jilles Tjoelker