Bug 191907 - [uart] Paging broken on serial console
Summary: [uart] Paging broken on serial console
Status: Closed Works As Intended
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs mailing list
Depends on:
Reported: 2014-07-17 03:32 UTC by Enji Cooper
Modified: 2014-07-17 06:08 UTC (History)
1 user (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Enji Cooper freebsd_committer 2014-07-17 03:32:37 UTC
When I try and do pkg help install or man 2 open on the serial console of a SandyBridge box, it doesn't seem to want to render the manpages with *roff.

If I do it on the VGA redirected console over IPMI, it works.

The processes appear to be stuck in ttydcd state.

(please disregard the build date; the svn revision is the part of interest -- the last merge I did with my github fork was about 8 days ago)

% uname -a
FreeBSD mina3008.localdomain 11.0-CURRENT FreeBSD 11.0-CURRENT #0 a32b4d9(master): Thu Jul 17 02:58:38 PDT 2014     root@mina3008.localdomain:/usr/obj/scratch/freebsd/sys/GENERIC  amd64
% pkg help install

load: 0.00  cmd: more 1361 [ttydcd] 1.23r 0.00u 0.00s 0% 2636k
load: 0.00  cmd: more 1361 [ttydcd] 1.47r 0.00u 0.00s 0% 2636k
load: 0.00  cmd: more 1361 [ttydcd] 1.71r 0.00u 0.00s 0% 2636k
load: 0.00  cmd: more 1361 [ttydcd] 1.91r 0.00u 0.00s 0% 2636k
q^C% man 2 open

load: 0.00  cmd: more 1374 [ttydcd] 1.47r 0.00u 0.00s 0% 2636k
Comment 1 Enji Cooper freebsd_committer 2014-07-17 03:34:21 UTC
I just tried to do sysctl kern.conftxt | less and I ran into the same issue, so it looks like output paging in general is broken on the serial console.
Comment 2 Enji Cooper freebsd_committer 2014-07-17 03:42:54 UTC
Happens with syscons too, so I guess vt isn't necessarily to blame.
Comment 3 Enji Cooper freebsd_committer 2014-07-17 06:08:12 UTC
Peter H pointed me in the right direction (I missed this section in UPDATING):

        The uart(4) driver has been changed with respect to its handling
        of the low-level console. Previously the uart(4) driver prevented
        any process from changing the baudrate or the CLOCAL and HUPCL
        control flags. By removing the restrictions, operators can make
        changes to the serial console port without having to reboot.
        However, when getty(8) is started on the serial device that is
        associated with the low-level console, a misconfigured terminal
        line in /etc/ttys will now have a real impact.
        Before upgrading the kernel, make sure that /etc/ttys has the
        serial console device configured as 3wire without baudrate to
        preserve the previous behaviour. E.g:
            ttyu0  "/usr/libexec/getty 3wire"  vt100  on  secure