Re: console=ttyS1 breaks ttyS1 termios and prevents me from logging in

From: Peter Hurley
Date: Wed Apr 08 2015 - 19:32:37 EST


On 04/08/2015 05:40 PM, Andy Lutomirski wrote:
> On Wed, Apr 8, 2015 at 2:29 PM, Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> 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?

1. What's your getty command line?
2. Contents of /proc/tty/driver/serial when you think getty is running
and waiting for login (shows line signals).

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

Regards,
Peter Hurley


> dmesg attached. I don't even know what to look for there, though.
>
>>
>> Regards,
>> Peter Hurley
>>
>>> # stty icanon </dev/ttyS1
>>>
>>> breaks line this (partial strace results included):
>>>
>>> ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
>>> TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
>>> ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
>>> TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
>>> ioctl(0, SNDCTL_TMR_STOP or SNDRV_TIMER_IOCTL_GINFO or TCSETSW,
>>> {B115200 opost -isig icanon -echo ...}) = 0
>>> ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
>>> TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
>>> ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
>>> TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
>>> write(2, "stty: ", 6stty: ) = 6
>>> write(2, "standard input: unable to perfor"..., 58standard input:
>>> unable to perform all requested operations) = 58
>>>
>>> IOW, the setting didn't stick. On the bad kernel, stty works just
>>> fine on ttyS0. If I switch to using console=ttyS0,115200, then stty
>>> works on ttyS1 and fails on ttyS0.
>>>
>>> I have no idea what's going on here. I have two apparently identical
>>> boxes. One of them has this problem and the other doesn't.
>>
>
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/