Serial console trouble: loader and login works, but no kernel messages

135 views
Skip to first unread message

Thomas Backman

unread,
Aug 23, 2009, 8:18:06 AM8/23/09
to freebsd-...@freebsd.org
First off: Not subscribed to this list, please make sure to Cc me if
you don't reply directly. :)

Anyway, I finally got my null modem cable, and plugged in in between a
machine running 8.0-BETA2 and one running WinXP using Hyperterminal.

My settings:

/boot/loader.conf:
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="115200"
console="comconsole,vidconsole"

/etc/ttys:
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyu0 "/usr/libexec/getty std.115200" vt100 on secure

/boot.config (which is read properly):
-Dh -S115200

Anything wrong in the above?
Hyperterminal is set to 115200 bps, 8 bits, no parity, 1 stop bit, and
no flow control (if that's the correct translation to English).

On the serial console, I go from the screen with the FreeBSD logo,
with single-user options etc. (which works fine), and then nothing,
until a login tty pops up (which also works fine). The main, if not
only, reason I want a serial console is to be able to use it for
single user mode, DDB, and so on.
All kernel messages, and all rc messages are seen only on the graphics
card; the serial console receives nothing but the "/boot.config: -
Dh ...", the logo screen, and then the login screen, during startup
and *nothing* at all during shutdown. Also, I'm able to login and use
the system both via the serial console and via the graphics card/
keyboard... Is this supposed to be? I'm not complaining, I just got
the impression it was one or the other.

Any advice on how to get the kernel/rc messages etc. to the serial
console (only or as well)?

Regards,
Thomas
_______________________________________________
freebsd-...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questi...@freebsd.org"

Tim Judd

unread,
Aug 23, 2009, 2:25:57 PM8/23/09
to Thomas Backman, freebsd-...@freebsd.org


Do you use the VGA/vidconsole at all?

A serial-only device (think soekris, ALIX/WRAP boards) that has no VGA
will have different requirements than a serial-only device will.

Your loader.conf statements are different than mine in the definition
that you have more than I do to enable serial.

My loader.conf just has one statement:
console="comconsole" - to feed ALL bootloaders, kernel probing, rc
startup on the serial device. /etc/ttys defines the login lines.

Though trial and error, I found when you use a dual-setup:
"comconsole,vidconsole", the first one (comconsole) will get rc
output, and vidconsole won't.

Of course, you're on 8.0 and I don't run BETAs. So the 8.0 BETA might
still be having com port oddities, plus I noticed your ttys line is
ttyu0, not ttyd0. Did 8.0 change the serial line device?

To enable a serial-only device in my setups:
/boot/loader.conf:
console="comconsole"

/boot.config:
-D

/etc/ttys:
# enable serial line, cons25 or vt100, depending if I'm originating
from a bsd or windows box.

Enabling dual-setups should be just the loader.conf change to dual console.


HTH

Thomas Backman

unread,
Aug 23, 2009, 3:13:48 PM8/23/09
to Tim Judd, freebsd-...@freebsd.org


(Sorry for the lack of inline replies.)

I do have a graphics card, and ideally I'd like to be able to use
both, but serial has higher priority (with serial access, I can use
minicom on another *nix box and essentially ssh into DDB, and stuff
like that - right now I have to borrow a monitor, and write info down
manually if needed, turning my head back and forth).

I've tried lots of combinations of console=, including simply
'console="comconsole"' and/or combinations of that and -D, -h- -Dh and
-P in /boot.config.
The extra lines in loader.conf are from the handbook, which says
they're needed to use comconsole_speed. It seems they do the same
thing as -D and -h, though.

Oh, and re: /etc/ttys: Yup, it's ttyuX when using uart(4) which seems
to be the default now. Actually, since my last buildworld half an hour
ago I'm on 9.0-CURRENT. ;)
Also, I made sure to set flags to 0x10 for the serial port as per the
handbook (although I did it using loader.conf, not the kernel config);
before the change, dmesg didn't mention any flags, but it now does.
Didn't help squat, though.

"Though trial and error, I found when you use a dual-setup:
"comconsole,vidconsole", the first one (comconsole) will get rc
output, and vidconsole won't."

This doesn't mirror my experience; comconsole and
comconsole,vidconsole appears to be just the same for me. I've never
gotten anything except the boot loader and a login prompt over to the
serial line - at least not at speed/settings that the client is set up
to receive.

I'm gonna try 9600 bps soon just to be sure it isn't that, but seeing
how many others have mentioned using "-S115200" I doubt it'll help.

Thanks/regards,
Thomas

Carl Chave

unread,
Aug 23, 2009, 5:18:39 PM8/23/09
to Thomas Backman, Tim Judd, freebsd-...@freebsd.org
Did you try booting with the keyboard disconnected from the FreeBSD
machine? Perhaps the vidconsole is favored when a keyboard is
detected?

On a linux box I had, I would get serial output from Grub, lose it
during kernel load and then get a login once the OS was up, much like
what you describe. I had to add a kernel argument to my Grub config
so the kernel would output to the serial port.

Did you look here:
http://www.freebsd.org/doc/en/articles/console-server/freebsd.html

I think 7.2 might be what you are missing but I can't check it myself.

Thomas Backman

unread,
Aug 24, 2009, 4:16:03 AM8/24/09
to Carl Chave, Tim Judd, FreeBSD current, freebsd-...@freebsd.org


Yes, I tried without the keyboard (with -P in boot.config), but
apparently it detects the keyboard no matter what (it prints out
"Keyboard: yes" even though I yanked the power, then the keyboard, and
then started it up again).

The article appears to be (even according to itself ;) a shortened
version of the handbook ( http://www.freebsd.org/doc/en/books/handbook/serialconsole-setup.html
), which doesn't work out for me, I'm afraid.

I'm Cc:ing this to the -CURRENT list in case it's something related to
new changes.

BTW, 9600 bps didn't help. Same thing, only slower.

Regards,

Thomas Backman

unread,
Aug 26, 2009, 10:22:29 AM8/26/09
to freebsd-...@freebsd.org, FreeBSD current

> boot.config: -Dh ...", the logo screen, and then the login screen,

> during startup and *nothing* at all during shutdown. Also, I'm able
> to login and use the system both via the serial console and via the

> graphics card/keyboard... Is this supposed to be? I'm not

> complaining, I just got the impression it was one or the other.
>
> Any advice on how to get the kernel/rc messages etc. to the serial
> console (only or as well)?
>
> Regards,
> Thomas

OK, so to rule out any installation-related problems, I booted from a
bootonly install CD (a May ~5th snapshot of 8.0-CURRENT), with "boot -
h -S115200". Same thing: bootloader stuff on the serial console,
kernel messages on the local computer only - and very slowly, at that,
I'd say about one line a second. You could very easily see the
characters being written to the screen.

Am I the only one having these problems? It'd suck to buy a rather
expensive (probably because they're pretty rare these days, plus I had
to order from abroad) null modem cable and have it be completely
useless.

Thomas Backman

unread,
Aug 26, 2009, 12:10:22 PM8/26/09
to Danny Braniss, FreeBSD current, freebsd-...@freebsd.org
On Aug 26, 2009, at 18:04, Danny Braniss wrote:

> you need to set
> hint.uart.0.flags="0x10"
>
> danny
I already tried that (in /boot/loader.conf); it shows up in dmesg (and
didn't before), but still no luck.

Regards/thanks,

Mike Tancsa

unread,
Aug 26, 2009, 12:16:03 PM8/26/09
to Thomas Backman, FreeBSD current, freebsd-...@freebsd.org
At 12:10 PM 8/26/2009, Thomas Backman wrote:
>>danny
>I already tried that (in /boot/loader.conf); it shows up in dmesg (and
>didn't before), but still no luck.


Try adding it to /boot/device.hints

eg

hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"

Or, if you want to use loader.conf, try

hw.uart.console="io:0x3f8"

---Mike

>Regards/thanks,
>Thomas
>_______________________________________________
>freebsd...@freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"

--------------------------------------------------------------------
Mike Tancsa, tel +1 519 651 3400
Sentex Communications, mi...@sentex.net
Providing Internet since 1994 www.sentex.net
Cambridge, Ontario Canada www.sentex.net/mike

Thomas Backman

unread,
Aug 26, 2009, 1:41:23 PM8/26/09
to Mike Tancsa, FreeBSD current, freebsd-...@freebsd.org
On Aug 26, 2009, at 18:16, Mike Tancsa wrote:
> Or, if you want to use loader.conf, try
>
> hw.uart.console="io:0x3f8"
>
> ---Mike
That solved it! Thanks a lot!! :)

Regards,
Thomas

Reply all
Reply to author
Forward
0 new messages