Subject: Re: serial consoles and BIOS console redirection
To: Alex <xela@MIT.EDU>
From: Greg A. Woods <woods@weird.com>
List: port-i386
Date: 10/29/2002 14:37:58
[ On Tuesday, October 29, 2002 at 12:44:44 (-0500), Alex wrote: ]
> Subject: Re: serial consoles and BIOS console redirection 
>
> We have NetBSD 1.6 installed and happily running on an RLX blade
> server.  The blades have a Phoenix BIOS that supports serial
> console redirection --- and in fact the blades have no VGA, PS/2,
> or USB, and no way to add them.  It may be the case that this BIOS
> does some things differently than other serial console redirecting
> BIOSes.  Still, our experience may shed some light.)

My experience with the Phoenix ServerBIOS console redirection feature
was totally disapointing.

It is (or at least was) about as lame an implementation as you could
possibly imagine.  It appeared to be implemented by some little side
loop (probably triggered by a timer interrupt) that was scanning the
character buffer for the screen and transmitting it repeatedly, line by
line, all 80 characters per line, to the serial port as fast as it
could.  On the input side it seemed to be trying to translate key
sequences, including "ANSI" cursor key sequences and such, back into
keyboard scan codes and feeding them back to the rest of the BIOS
fooling it into thinking there was a real keyboard connected.

None of this will work well enough to be usable with almost serial
console server implementations I know of.  It certainly failed miserably
with my terminal server, and with conserver (i.e. it was completely and
totally unusable).  Any timing glitches anywhere in the comms path,
and/or flow control, screwed the screen up totally and made cursor key
input impossible.

Has it changed in any way more recently?

I have no idea why they didn't simply change the way the rest of their
code worked so that instead of drawing in a character buffer it took a
hint from OpenFirmware and almost every other firmware console I've ever
seen that works with async ports and simply sent the characters directly
out to the port, perhaps with basic ANSI sequences for screen formatting
-- i.e. in order to emulate the VGA console menus and such.  These days
they could even implement ANSI.SYS in the BIOS and always send just the
plain output from the rest of their code.  Why is this such a difficult
concept for "PC" people to learn?

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>