Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Nov 2014 18:04:20 -0800
From:      Peter Grehan <grehan@freebsd.org>
To:        Craig Rodrigues <rodrigc@FreeBSD.org>
Cc:        "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org>
Subject:   Re: cu -l /dev/nmdm not setting rows and columns
Message-ID:  <54729224.3060402@freebsd.org>
In-Reply-To: <CAG=rPVdfnsNpAOLUbTH2r5gufJDOg_0-yYeGVouOBx6aj0ZObw@mail.gmail.com>
References:  <CAG=rPVdfnsNpAOLUbTH2r5gufJDOg_0-yYeGVouOBx6aj0ZObw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Craig,

> # stty -a
> speed 9600 baud; 0 rows; 0 columns;
> # echo $TERM
> dialup
>
> Any idea how I can fix this?  The console inside the VM
> is quite unusable when it does not have the correct
> rows/colums set.

  Not sure how you're getting 'dialup' as the terminal type: the default 
ttys file for 10.1 shouldn't need to be edited, and has

ttyu0   "/usr/libexec/getty std.9600"   vt100   onifconsole secure

  The rows/columns is always 0 for uart-style serial lines since it's 
not possible to know what's on the other end. That's why $TERM has to be 
set correctly for these.

  Having an xterm attached to the other end of an nmdm device isn't too 
different from swapping say a vt100 with a vt420 or some other terminal 
with a different resolution on a real serial line. There's no way for 
the serial driver to know this has happened.

  The only way to fix the changing-size problem is to have a 
paravirtualized tty device that has a way of reading the terminal window 
size and being informed of changes. The virtio-serial specification has 
this ability, however, the FreeBSD driver for this can't operate in 
polled mode so can't be the main console port, and in any event there's 
no bhyve backend for it currently.

  Or, you can network-login to the guest in which case xterm works fine :)

later,

Peter.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54729224.3060402>