2.4.0 does not boot without Monitor



  • Hi,
    I know; there are already reported but relating to that top. However, I suggest that this is a new bug:

    I recently updated to 2.4.0 and from this point I got the following problem:
    Pfsense only boots in case of a plugged in (HDMI) monitor.
    Whenever I try to start the machine without a monitor the system seems to remain in a "pre-boot" state.
    I also waited for a couple of minutes, but it does not work.
    This problem did not arise until the update  :-/

    Unfortunately, I also lost a previous backup…  :-X ;D

    Regards from Germany

    Toby


  • Netgate

    What hardware?



  • Can you post hardware specs and other info?

    It's a bit like saying my car won't start - what's wrong with it!



  • Oh, sorry . Forgot this.

    Intel(R) Core(TM) i5-6600 CPU. I use a shuttle xpc dh170.

    Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz

    Current: 3300 MHz, Max: 3301 MHz

    4 CPUs: 1 package(s) x 4 core(s)

    AES-NI CPU Crypto: Yes (active)

    Bios is up to date.

    Do you need any more information?


  • Netgate

    Unfortunately, that will probably need to be dealt with on the bios/uefi side. What did you upgrade from? If 2.3.4 that did not support UEFI at all. Perhaps there's a "legacy bios mode" or something on that hardware that might fix that. pfSense/FreeBSD does not care if there is a monitor connected or not, as long as there is a console presented it can attach to.



  • the previews version was 2.3.4-p1
    So, you suggest that it is a hardware problem of my device?
    But why did this problem arise recently (and not for the 2.3.4 version)?

    Accordingly, UEFI should be enabled/disabled?

    (sorry, I still just don't it)


  • Netgate

    FreeBSD 11.1 supports UEFI. FreeBSD 10.3 did not.

    It is really hard to say. If you can't boot now (without a monitor connected) I would suggest trying to disable UEFI and trying again.



  • okay!
    This did not lead to a solution.

    Mayby, me description was a bit missleading, because the machine itself boots, but not pfsense.

    I try to describe the problem in detail:
    After the update from 2.3.4-p1 to 2.4.0 the system only starts in case of a plugged-in monitor.
    In case of an unplugged monitor the system does not start or does not start pfsense (the machine itself starts!)
    Accordingly, I can not access pfsense to get any logs and other info (plugging in the the monitor has not effect, of course)

    In this case, I have to plugin the monitor and re-boot the machine. Now, pfsense boots and everything works fine.

    To sum up: the machine starts, but not pfsense, in the case of an unplugged monitor.

    According to UEFI:
    I disabled it, but then I get the message that there is no boot option.


  • Netgate

    Then pfSense/FreeBSD does not have a console to attach to. It is up to the host system to present one.

    You are trying to use a system designed for digital signage as a firewall. It is going to be difficult to diagnose if the only available output is to the console and you are having trouble booting without a console.

    You might try seeing if it will boot if you change the console to serial in System > Advanced.



  • okay…

    This is the actual setup... and it does not work

    https://picload.org/view/dgipwrpl/options.png.html


  • Netgate

    Sorry. That's all I can suggest. Maybe someone else will chime in with other suggestions on that hardware.



  • Ok… solved it.
    There was a very recent (yesterday) bios update.
    Now it works perfect.

    However, many thanks for assisting me.



  • So not a bug in pfSense then… hmm, how unusual... not. ::)



  • This just happened to me too on a shuttle XPC:

    • Updated the BIOS, but this did not solve the problem
    • Brute forced BIOS settings
      -> by disabling the Serial ports the computer boots normally

    Does pfsense 2.4 default to Serial and wait for some sort of connection when there is no monitor?

    My two cents…



  • No, nothing to do with pfSense.



  • The console initialization is the BIOS/UEFI's job, the FreeBSD boot code that looks for a usable VGA/UEFI console blindly trusts what it's told about the hardware, if there is no console present it will not try to use one nor will it fall back to serial console on its own.



  • @Bleupomme:

    This just happened to me too on a shuttle XPC:

    • Updated the BIOS, but this did not solve the problem
    • Brute forced BIOS settings
      -> by disabling the Serial ports the computer boots normally

    Does pfsense 2.4 default to Serial and wait for some sort of connection when there is no monitor?

    My two cents…

    This fixed my firewall not booting after upgrading to 2.4 for me on a Shuttle DH110 mini PC.  Disabling the serial ports allowed it to boot without a monitor attached to the HDMI port.  Thank you!



  • The only way pfSense could be perhaps invited, could be that someone is taking the false image, not matching
    or according to his hardware, otherwise it is often related to the hardware or BIOS of this hardware.

    pfSense-CE-memstick-serial-2.4.1-RELEASE-arch.img.gz USB memstick installer (Serial Console)
    pfSense-CE-memstick-2.4.1-RELEASE-arch.img.gz         USB memstick installer (VGA Console)

    pfSense-CE-2.3.5-RELEASE-size-arch-nanobsd.img.gz       NanoBSD/embedded (Serial Console)
    pfSense-CE-2.3.5-RELEASE-size-arch-nanobsd_vga.img.gz NanoBSD/embedded (VGA Console)



  • @Breezelaters:

    @Bleupomme:

    This just happened to me too on a shuttle XPC:

    • Updated the BIOS, but this did not solve the problem
    • Brute forced BIOS settings
      -> by disabling the Serial ports the computer boots normally

    Does pfsense 2.4 default to Serial and wait for some sort of connection when there is no monitor?

    My two cents…

    This fixed my firewall not booting after upgrading to 2.4 for me on a Shuttle DH110 mini PC.  Disabling the serial ports allowed it to boot without a monitor attached to the HDMI port.  Thank you!

    +1 :)

    Thank you so much, there are definitely some compatibility issues with Shuttle PCs and pfSense 2.4…I'm using a Shuttle DS77U with latest v1.05 BIOS, a clean install of pfSense 2.4.2 (with ZFS), and the BIOS configured for legacy boot (no UEFI).

    Everything was working perfectly fine when connected to a screen through HDMI, but once I disconnected the screen, the system never booted to a working state. Disabling the two serial ports in BIOS did indeed fix the issue.

    I don't know when pfSense/FreeBSD starts catching ACPI calls (like when you press the power button), but I did notice that when the system wasn't able to boot, a click on the power button resulted in an instant (hard) shutdown. When the system booted successfully, a click on the power button would result in the OS catching the ACPI call and initiated a proper shutdown. Eg. I assume it starts to respond to such ACPI calls briefly after the kernel has initiated, so it could seem like the kernel never took off. I don't have time for further debugging of the issue at the moment, unfortunately, so this workaround will have to do for now.



  • One of the machines is a Shuttle XH110. The same issue happens. And I use the same workaround.

    The idea is, I want to use a nullmodem serial cable + usb adaptor to connect to the system, in order to be able to update BIOS, or see errors, without attaching a monitor, keyboard.

    I mean, why have a serial console if we can't use it.

    From the comments above I see that there is no agreement on where the root cause is, Free-BSD or Shuttle BIOS.

    Can anybody help further?



  • I have a motherboard which displays a manufacturers logo when starting the boot process.  The logo display can be turned off in the BIOS,  and the machine will then boot normally with a monitor attached.  However, the machine will not boot without a monitor attached if the logo display is  turned off.

    I set up the machine, obviously with an attached monitor, with the logo display set to off and it booted just fine.  When using the system I do not have an attached monitor and it took some while to figure out why the system hung at boot without the monitor.  The BIOS default is to display the logo - I found out that the system booted without monitor with BIOS defaults, but not with my seemingly small "tweak".

    The BIOS is now set to display the manufacturers logo,  no monitor attached,  and the system boots OK.

    This may help,

    Regards.



  • @jack290:

    I have a motherboard which displays a manufacturers logo when starting the boot process.  The logo display can be turned off in the BIOS,  and the machine will then boot normally with a monitor attached.  However, the machine will not boot without a monitor attached if the logo display is  turned off.

    I set up the machine, obviously with an attached monitor, with the logo display set to off and it booted just fine.  When using the system I do not have an attached monitor and it took some while to figure out why the system hung at boot without the monitor.  The BIOS default is to display the logo - I found out that the system booted without monitor with BIOS defaults, but not with my seemingly small "tweak".

    The BIOS is now set to display the manufacturers logo,  no monitor attached,  and the system boots OK.

    This may help,

    Regards.

    I don't see any boot logo on Shuttle pc's, and there are no options to disable the logo anyway. The ideea is, if it was a hardware issue, why the console via com ports it's working on Linux ?



  • @marjohh:

    No, nothing to do with pfSense.

    I would not be so sure about this, perhaps it depends from what angle you look at it.

    I ran into the exactly same issue today as described here. While the monitor is connected I had no problems. However, once I removed the monitor pfsense stopped booting. The hardware I'm using is Lenovo H30 (Intel). I have been using this system to run headless home server based on Debian 9 for years and I did not encounter any of the issue described here.  Monitor or not it was still booting with no issues.

    After multiple reboots and testing of different BIOS settings what I needed to do was to enable/activate Compatibility Support Module (CSM) in BIOS: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#CSM_booting . This fixed it for me as now I can boot without monitor attached.

    Hope this helps someone ! :-)

    For completeness I'm using:
    2.4.3-RELEASE (amd64)
    built on Mon Mar 26 18:02:04 CDT 2018
    FreeBSD 11.1-RELEASE-p7



  • I am running pfSense on a mini-ITX with a mitac motherboard. I was running pfSense 2.3.x without monitor all fine. However, recently experienced a HDD crash and had to reinstall pfSense. Went for the latest version 2.4.x.
    System refused to boot without monitor attached.
    This thread suggested to disable the serial ports, but that did not help.
    Another response suggested to change in CSM the UEFI to legacy. I changed UEFI of the monitor to legacy first and that did the trick.
    The pfSense folks on this board are adamant it is not a pfSense bug, but with the same motherboard it worked with 2.3.x but not with 2.4.x makes me think there is something in the code that trips this issue.



  • Since I'm already testing some different things I also tested this.
    Without monitor attached it does not boot, just gets stuck.
    BIOS/UEFI no difference also serial enabled/disabled.
    Update BIOS from F4 to F5a, no change.
    Have not tested the logo display yet.

    This was no problem on pfS 2.3.



  • @pippin what worked for me was to enable csm and in the csm options switch only the monitor item to legacy. I did not change the entire bios to legacy. I also kept the serial ports disabled although not sure that was necessary. You tried the same? The bios is already 4 years old so that was not the issue.



  • CSM is enabled but have to look the options, when I'm back home.

    Thanks.



  • Thanks @spillemw
    After changing CSM --> Video to Legacy, it boots through.
    AMI BIOS does complain with five short beeps but everything works as far as i can tell.

    Thanks.