Serial console on UEFI Minnowboard (AKA MBT-4220)



  • I have recently run into the issue that I was unable to select single user boot on my home pfsense box running on the quad minnowboard turbot, aka Netgate's MBT-4220. My loader.conf has

    console="comconsole,vidconsole"

    which does not work for UEFI setups. I manually changed it to to efi and was able to select options in the pfsense beastie menu using my a console using minnowboard's headers.

    console="comconsole,efi"

    When is this file re-generated? I noticed it being present in some pfsense code on github but I'm not sure what would be the best approach. Make this a conditional on "MBT-4220" model (I noticed some extra loader.conf entries based on a specific model) or attempt it to make it more generic as all UEFI systems?


  • Netgate Administrator

    You should not need to do that. If you have serial console enabled and Primary console set to VGA in System > Advanced > Admin Access you should be able to access the command line from single user mode at the serial console. Just tested in 2.4.4. The generated loader.conf from those settings is:

    kern.cam.boot_delay=10000
    boot_multicons="YES"
    boot_serial="YES"
    console="vidconsole,comconsole"
    comconsole_speed="115200"
    autoboot_delay="3"
    hw.usb.no_pf="1"
    

    Steve



  • I shouldn't but this is what I found out I have to in order to be able to use the menu. Serial console works well after the system is up and running, but not the beastie/pfsense menu. I wish it had worked, otherwise I wouldn't have spent hours the other day when pfsense ended up in a loop of kernel panics and reboots...
    This only seems to happen on these UEFI boards. I see this on boot:

    SLoading /boot/defaults/loader.conf                                                                                                                                                                      c
    /console vidconsole is invalid!
    \Available consoles:
    A    efi
         comconsole
         nullconsole
         spinconsole
    
    /
    

    This issue has been reported and fixed elsewhere, see this FreeNAS fix.


  • Netgate Administrator

    Hmm, that's interesting. Do you have the i915 driver loaded to allow HDMI hotplug?
    https://www.netgate.com/docs/platforms/minnowboard/pfsense-dual-ethernet.html#add-necessary-hdmi-settings

    That's the only difference I have. Otherwise the serial console works here no problem. However that loads sometime after the console is set. You booted verbose to see that error?

    Steve



  • Thanks for looking into this Steve. As of now, I have stock 2.4.4 as I had to re-install over my older ZFS install upgraded up to 2.4.4 from early 2.4 release, maybe 2.4.0 even. I'm not at home but I can look if I have those settings in /boot/loader.conf.local.

    That error shows up before the beastie/pfsense menu shows. My serial console is a USB FTDI connected to the headers on minnowboard. When I'm home I'd be happy to boot and post a log or whatever else you'd like to help debug this. I don't have anything else connected to the SBC, just my header to a sometimes connected USB FTDI, as needed.

    I can use the serial console to edit BIOS, etc on the minnowboard and then after it boots. I just can't use it for the menu(!)


  • Netgate Administrator

    Hmm, yup I'm also seeing that now. I had rebooted into single user mode rather than trying to use the menu.

       Loader path: /boot/loader.efi
    
       Initializing modules: ZFS UFS
       Probing 4 block devices.....*. done
        ZFS found no pools
        UFS found 1 partition
        command args: -S115200 -D
    
    Consoles: EFI console                                                                                                                                                                                                                                                                                                       C
    |Command line arguments: loader.efi -S115200 -D
     Image base: 0x757b4000
    IEFI version: 2.50
    EEFI Firmware: EDK II (rev 1.00)
    E
     FreeBSD/amd64 EFI loader, Revision 1.1
    F(Tue Sep  4 22:35:58 EDT 2018 root@buildbot3)
    (   Load Path: HD(2,GPT,7973EC77-BC18-11E8-99F1-0008A20BC486,0x64028,0x379C000)
        Load Device: PciRoot(0x0)/Pci(0x13,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,7973EC77-B
    BC18-11E8-99F1-0008A20BC486,0x64028,0x379C000)
        BootCurrent: 0003
        BootOrder: 0007 000a 0003[*] 0000 0002 0004 0005 0001
     Trying ESP: PciRoot(0x0)/Pci(0x13,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,7973EC77-BC18-                                                                                                                                                                                                                                           c
    -    spinconsoleles:is invalid!conf79C000)
    
    /
              __
       _ __  / _|___  ___ _ __  ___  ___
      | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
      | |_) |  _\__ \  __/ | | \__ \  __/
      | .__/|_| |___/\___|_| |_|___/\___|
      |_|
    
    
     +============Welcome to pfSense===========+   __________________________
     |                                         |  /                       ___\
     |  1. Boot Multi User [Enter]             | |                      /`
     |  2. Boot [S]ingle User                  | |                     /    :-|
     |  3. [Esc]ape to loader prompt           | |      _________  ___/    /_ |
     |  4. Reboot                              | |    /` ____   / /__    ___/ |
     |                                         | |   /  /   /  /    /   /     |
     |  Options:                               | |  /  /___/  /    /   /      |
     |  5. [K]ernel: kernel (1 of 2)           | | /   ______/    /   /       |
     |  6. Configure Boot [O]ptions...         | |/   /          /   /        |
     |                                         |     /          /___/         |
     |                                         |    /                         |
     |                                         |   /_________________________/
     +=========================================+
    

    https://redmine.pfsense.org/issues/8978

    It also looks like you lose VGA as the primary console doing that and I've not found a way to restore it, yet.

    Steve