Problem with console installation



  • Hi,

    I have difficulties configuring pfSense properly via the serial interface on my NCA-2510 from Lanner.
    After hours of troubleshooting I think the root cause is, that after the bootloader phase, pfSense is not using the console anymore except for the status messages like "IF Down / IF Up"

    I'm not sure how I did it, but I installed Ubuntu in serial mode and after that I could install pfSense without any issues on console, I also could update from 2.4 to 2.4.3 on the console, and restart several times - BUT - after a cold boot (Power cable removed) the last message I can see on the console is "Trying to mount root from ufs:/dev/gptid/****"
    After that line I can only see the status messages (IF Down / IF Up)

    I have certainly used the serial console image for the installation.

    echo "test" > /dev/console shows no output on the console

    [2.4.3-RELEASE][admin@pfSense.localdomain]/root: ls  /dev
    acpi       bpf        ctty       fido       klog       netmap     random     ttyu0      ttyv6      uhid0
    ada0       bpf0       cuau0      full       kmem       nfslock    reroot     ttyu0.init ttyv7      ukbd0
    ada0p1     console    cuau0.init geom.ctl   led        null       ses0       ttyu0.lock ttyv8      urandom
    ada0p2     consolectl cuau0.lock gptid      lpt0       pass0      sndstat    ttyv0      ttyv9      usb
    ada0p3     cpuctl0    devctl     hpet0      lpt0.ctl   pass1      speaker    ttyv1      ttyva      usbctl
    apm        cpuctl1    devctl2    io         md0        pci        stderr     ttyv2      ttyvb      xpt0
    apmctl     cpuctl2    devstat    kbd1       mdctl      pf         stdin      ttyv3      ufssuspend zero
    audit      cpuctl3    dumpdev    kbd2       mem        ppi0       stdout     ttyv4      ugen0.1
    auditpipe  crypto     fd         kbdmux0    midistat   pts        sysmouse   ttyv5      ugen0.2
    

    Content of /etc/ttys

    "console none" seems wrong to me?!

    #
    # $FreeBSD$
    #	@(#)ttys	5.1 (Berkeley) 4/17/89
    #
    # This file specifies various information about terminals on the system.
    # It is used by several different programs.  Common entries for the
    # various columns include:
    #
    # name  The name of the terminal device.
    #
    # getty The program to start running on the terminal.  Typically a
    #       getty program, as the name implies.  Other common entries
    #       include none, when no getty is needed, and xdm, to start the
    #       X Window System.
    #
    # type The initial terminal type for this port.  For hardwired
    #      terminal lines, this will contain the type of terminal used.
    #      For virtual consoles, the correct type is typically xterm.
    #      Other common values include dialup for incoming modem ports, and
    #      unknown when the terminal type cannot be predetermined.
    #
    # status Must be on or off.  If on, init will run the getty program on
    #        the specified port.  If the word "secure" appears, this tty
    #        allows root login.
    #
    # name	getty				type	status		comments
    #
    # If console is marked "insecure", then init will ask for the root password
    # when going to single-user mode.
    console	none				unknown	off secure
    #
    ttyv0	"/usr/libexec/getty al.Pc"	xterm	on	secure
    # Virtual terminals
    ttyv1	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv2	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv3	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv4	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv5	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv6	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv7	"/usr/libexec/getty Pc"		xterm	on  secure
    ttyv8	"/usr/local/bin/xdm -nodaemon"	xterm	off secure
    # Serial terminals
    # The 'dialup' keyword identifies dialin lines to login, fingerd etc.
    ttyu0	"/usr/libexec/getty al.3wire"	vt100	onifconsole	secure
    ttyu1	"/usr/libexec/getty al.3wire"	vt100	onifconsole	secure
    ttyu2	"/usr/libexec/getty al.3wire"	vt100	onifconsole	secure
    ttyu3	"/usr/libexec/getty al.3wire"	vt100	onifconsole	secure
    # Dumb console
    dcons	"/usr/libexec/getty std.9600"	vt100	off secure
    
    

    Any idea what the cause of this could be?


  • Netgate Administrator

    If you only see the interface up down messages it's almost certainly because you are looking at the wrong console. Those are shown on all consoles whereas the output between 'trying to mount root from…' and the console menu is only shown on the primary console.

    Try forcing the serial console to be primary:
    https://doc.pfsense.org/index.php/Boot_Troubleshooting#Booting_with_an_alternate_console

    You may also be seeing a conflict with console redirect settings from the BIOS. It could be set to redirect after boot and you are actually seeing the VGA output redirected to the serial console.

    Steve



  • Hi Steve, thanks for the fast answer.

    @stephenw10:

    Try forcing the serial console to be primary:
    https://doc.pfsense.org/index.php/Boot_Troubleshooting#Booting_with_an_alternate_console

    I already tried this option without any change in the behavior.

    @stephenw10:

    You may also be seeing a conflict with console redirect settings from the BIOS. It could be set to redirect after boot and you are actually seeing the VGA output redirected to the serial console.

    I just disabled the console redirection in the bios completely with the effect, that I cannot see the bios boot (as excpected), but I can see the pfSense boot menu and the console output also stops after the line "trying to mount root"


  • Netgate Administrator

    And forcing an alternate console still has no effect even after disabling console re-direct?

    I assume you are trying to force a serial console? What if you try to force a vga console, does that make any difference at all?

    Steve



  • I have just tried to force the vga console, unfortunately it makes no difference at all.
    I also have the same behavior in the single user mode.


  • Netgate Administrator

    Hmm. The fact that installing Ubuntu allowed it to work implies it somehow altered the console config in some way that survives a warm boot. Consoel re-direct is about the only thing I can think of that might behave like that.

    That's a C3000 box though right? That's not fully supported in FreeBSD 11.1 and hence pfSense 2.4.3.

    I wonder exactly what the "Virtualization-optimization" entails.

    Try installing a FreeBSD 11.1 image or a 12 snapshot if you can.

    Steve



  • I just noticed that in vidmode another line of text appears after a short time.

    FreeBSD/amd64
    

    Yes it's a C3000 box.

    I will try it with the FreeBSD image.

    Edit:
    FreeBSD 11.1 - same behavior
    FreeBSD 12 - works

    Changes in the bootloader:

    set boot_multicons
    set boot_serial
    set comconsole_speed=115200
    set console="comconsole,vidconsole"
    set kern.cam.boot_delay=5000
    boot
    

    So the serial console problem is caused by the fact that 11.1 does not fully support the C3000?



  • I don't understand what you mean - I have the same boot problem with FreeBSD 11.1, with FreeBSD 12 I can boot without issues.


  • Netgate Administrator

    Hmm, well first I've heard of that but it certainly looks like something in FreeBSD 11.1 isn't working correctly on that particular box.

    I'd try turning off any features you can in the BIOS. Other C3000 boxes don't behave that way but are still limited by lack of hardware support in 11.1.

    You may have to wait for a build on FreeBSD 11.2 unfortunately.

    Steve



  • Ok thanks, I will try to contact the Lanner support, maybe the know what's going on.