Bug 205933

Summary: [boot] Loader hangs when connecting serial console
Product: Base System Reporter: Aram Hăvărneanu <aram.h>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: New ---    
Severity: Affects Only Me CC: aram.h
Priority: ---    
Version: 10.2-RELEASE   
Hardware: Any   
OS: Any   

Description Aram Hăvărneanu 2016-01-05 20:03:58 UTC
$ freebsd-version ; uname -a
FreeBSD z800.mgk.ro 10.2-RELEASE-p7 FreeBSD 10.2-RELEASE-p7 #0: Mon Nov  2 14:19:39 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
$ cat /boot/loader.conf 
$ grep -v '^#' /etc/ttys 
console	none				unknown	off secure
ttyv0	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv1	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv2	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv3	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv4	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv5	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv6	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv7	"/usr/libexec/getty Pc"		xterm	on  secure
ttyv8	"/usr/local/bin/xdm -nodaemon"	xterm	off secure
ttyu0	"/usr/libexec/getty std.115200"	vt100	onifconsole secure
ttyu1	"/usr/libexec/getty std.9600"	dialup	off secure
ttyu2	"/usr/libexec/getty std.9600"	dialup	off secure
ttyu3	"/usr/libexec/getty std.9600"	dialup	off secure
dcons	"/usr/libexec/getty std.9600"	vt100	off secure

When I boot without a serial console attached, boot proceeds fine
(the loader autoboots after an interval). However, when I attach a
serial console, the loader hangs as if I had pressed a key to stop
the boot. The boot proceeds normally after I press Enter.

This seems to be correlated with whether I have a remote terminal
emulator on that serial line or not. If there's nobody listening,
so to speak, the boot proceeds fine, but if I connect with screen,
cu, or minicom, the boot pauses and waits for input.

Not sure if this matters or not, but the remote machine connects
to the serial console through an USB adapter.

This seems to be related, or perhaps the same problem as the one
described in this mailing list post: