Re: Question related to FreeBSD Serial Console...

From: Scott M. Likens <damm_at_fpsn.net>
Date: Tue, 02 Sep 2003 08:39:30 -0700
On Tue, 2003-09-02 at 01:33, Bruce Evans wrote:
> About the original question: multiple consoles in the kernel are
> unsupported in FreeBSD-4 but are standard in -current.  Unfortunately,
> their implementation is slightly incomplete even in -current.  In
> -current, you get them by booting with -D after booting using the
> kern.console sysctl.  The number of consoles is limited only by the
> number of devices that support consoles.  Low level console i/o (mainly
> boot messages and other kernel messags printed by kernel printfs) is
> then sent to and received from all the consoles, but for some reason
> high-level console output (all i/o from/to /dev/console) is only sent
> to the first console in the list.  This should be easy to fix for
> writes and ioctls though not so easy for reads.  I think booting with
> -Dh makes the serial console first and booting with -D makes the video
> console first (if both are configured).  The order can be changed using
> the sysctl.

Eh veh, 10 different answers to 1 question.  The mailing list is doing
it's job.  But okay, yes I was wanting both consoles to be initialized
at the same exact time really.  

So I would guess then, -current would be best supported for this.  That
or find a motherboard with builtin serial console support.

What a solution, was hoping for something more of an easy answer.  But
Thanks!


> On Mon, 1 Sep 2003, Scott Long wrote:
> 
> > John Birrell wrote:
> > > On Mon, Sep 01, 2003 at 05:29:09PM -0600, Scott Long wrote:
> > >
> > >>At one time I was working on patches to the loader to make the console
> > >>speed configurable.  At the time, at least, I didn't see any evidence
> > >>that the settings were stored in the boot0 block, but maybe I was wrong.
> 
> There are already too many places to set it.
> 
> > > AFAIK, the boot0 block uses bios int 0x16 to get a key-press and bios int
> > > 0x10 to display a character, so in a situation where you *want* a serial
> > > console, the F1 etc stuff can't be used unless the bios supports console
> > > re-direction. And you have to live with whatever baud rate the bios sets.
> 
> I think boot0 is already full (unless you unportabalize it by expanding it
> beyond one sector).  It doesn't have its own serial i/o routines mainly
> because there is no space for them.
> 
> > > Once you get to boot2, then the serial console can work if set in /boot.config.
> > >
> > > It would be nice to have a boot.config setting for the baud rate. I have a
> > > board here that allows bios re-direction to either the first or second serial
> > > port at a fixed baud rate of 38400. I have to build boot2 with
> > > BOOT_COMCONSOLE_SPEED=38400, and then the kernel with CONSPEED=38400 to
> > > get all the ducks in a row.
> 
> The latter shouldn't be necessary.  The kernel (i386 sio only) uses the
> same speed that boot2 used if the kernel was booted with -h.  It should
> also use the same speed if the kernel was booted with -D.
> 
> > > But it would be even nicer if both boot2 and the kernel would just work with
> > > whatever baud rate the bios set.
> >
> > This is exactly the problem that I was working on.
> 
> Unfortunately most BIOSes don't provide a way to set the speed.  I'm not
> sure that it even has a default.  I always use 115200 bps, but at least he
> old BIOS interface is limited to 9600 bps.  I may work on this a bit soon
> to make 921600 bps work.
> 
> Bruce
-- 
"I think we ought to be out there doing what we do best - making large
holes in other people's countries." - George Carlin


Received on Tue Sep 02 2003 - 06:39:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC