linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-serial@vger.kernel.org, Jiri Slaby <jslaby@suse.cz>,
	Theodore Ts'o <tytso@mit.edu>
Subject: Re: console=ttyS1 breaks ttyS1 termios and prevents me from logging in
Date: Wed, 08 Apr 2015 22:09:00 -0400	[thread overview]
Message-ID: <5525DF3C.3070602@hurleysoftware.com> (raw)
In-Reply-To: <CALCETrWXWTbVo-oY9ZmxwuHazRqnDqY+jHM46Dj2uZbKVjaEvg@mail.gmail.com>

On 04/08/2015 09:49 PM, Andy Lutomirski wrote:
> On Wed, Apr 8, 2015 at 5:45 PM, Andy Lutomirski <luto@amacapital.net> wrote:
>> On Wed, Apr 8, 2015 at 4:32 PM, Peter Hurley <peter@hurleysoftware.com> wrote:
>>> On 04/08/2015 05:40 PM, Andy Lutomirski wrote:
>>>> On Wed, Apr 8, 2015 at 2:29 PM, Peter Hurley <peter@hurleysoftware.com> wrote:
>>>>> Hi Andy,
>>>>>
>>>>> On 04/08/2015 05:17 PM, Andy Lutomirski wrote:
>>>>>> Something strange seems to have happened to my serial console setup.
>>>>>> I boot with console=ttyS1,115200n8 and I have a getty running on
>>>>>> /dev/ttyS1.
>>>>>>
>>>>>> On older kernels, or if I remove the console= boot parameter, then my
>>>>>> getty works fine.  On 3.19.3 with the console= parameter, something's
>>>>>> wrong with termios and I can't log in.  Running:
>>>>>
>>>>> Thanks for the report.
>>>>> 1. Please attach your dmesg.
>>>>> 2. Is this behavior new to 3.19.3? (iow, what was the last version
>>>>>    that you noticed didn't do this)
>>>>
>>>> I didn't have the problem before I reinstalled this box, upgraded from
>>>> 3.15 to 3.19.3, and updated by Dell iDRAC7 firmware.  Booting into
>>>> 3.13-something does *not* fix the problem, so I'm not at all convinced
>>>> that the kernel version matters much.  I'll try reverting the iDRAC7
>>>> thing, but I don't see why that would make any difference at all to
>>>> Linux.
>>>
>>> I think this is related to DRAC; maybe upgrading the firmware reset
>>> the Serial communication settings in the system bios?
>>>
>>
>> The DRAC pretends to be a 16550, so I don't understand how it could
>> prevent Linux from reprogramming the line discipline.  Also, if I
>> remove console=ttyS1,115200 from the kernel command line, it starts
>> working again.

I didn't realize from your initial report that input with getty was
working, otherwise I wouldn't have asked for the line settings.


>>> 1. What's your getty command line?
>>
>> /sbin/getty -8 115200 ttyS1
>>
>>
>>> 2. Contents of /proc/tty/driver/serial when you think getty is running
>>>    and waiting for login (shows line signals).
>>
>> With getty running:
>>
>> serinfo:1.0 driver revision:
>> 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
>> 1: uart:16550A port:000002F8 irq:3 tx:19828 rx:2 RTS|CTS|DTR
>> 2: uart:unknown port:000003E8 irq:4
>> 3: uart:unknown port:000002E8 irq:3
>> 4: uart:unknown port:00000000 irq:0
>>
>> (getty itself works fine)
>>
>> When I type a username, I get:
>>
>> serinfo:1.0 driver revision:
>> 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
>> 1: uart:16550A port:000002F8 irq:3 tx:19848 rx:10 RTS|CTS|DTR
>> 2: uart:unknown port:000003E8 irq:4
>> 3: uart:unknown port:000002E8 irq:3
>> 4: uart:unknown port:00000000 irq:0
>>
>> at that point, login is running, and it's login that doesn't work.
>>
>>>
>>> Something to test is if you set getty to local line, does it work then.
>>> I use agetty so my command line is:
>>>         /sbin/getty --noreset -8L 115200 ttyS0 vt102
>>
>> I tried:
>>
>> # /sbin/getty --noreset -8L 115200 ttyS1 vt102
>>
>> it has exactly the same problem.
>>
>> By adding a whole bunch of printks, I see that both ttyS0 and ttyS1
>> make it into uart_set_termios.  But now it's time to home...
> 
> OMFG I hate [insert long string of expletives] userspace bugs.
> 
> Some piece of crap user code regressed in some recent Ubuntu update
> and left all the termios lock flags set on the console device,
> presumably read from /proc/console.

Either /dev/console or it found the console from
/sys/devices/virtual/tty/console/active.

I suspected the termios locking because that's really the only way
termios settings don't get set, but I couldn't imagine why login
would be flagging those. I hadn't considered that something would
leave them on for later processes.

> So... false alarm, except that the kernel should maybe considering
> disallowing such daft behavior or at least warning.  Now I get to
> figure out *which* userspace program regressed.  I'm reasonably sure
> it's either Plymouth or some horrendously buggy Debian/Ubuntu script
> that controls it.

Some weekend I'm going to package a NoPlymouth.
 
Regards,
Peter Hurley

      reply	other threads:[~2015-04-09  2:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-08 21:17 console=ttyS1 breaks ttyS1 termios and prevents me from logging in Andy Lutomirski
2015-04-08 21:29 ` Peter Hurley
2015-04-08 21:40   ` Andy Lutomirski
2015-04-08 23:32     ` Peter Hurley
2015-04-09  0:45       ` Andy Lutomirski
2015-04-09  1:49         ` Andy Lutomirski
2015-04-09  2:09           ` Peter Hurley [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5525DF3C.3070602@hurleysoftware.com \
    --to=peter@hurleysoftware.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).