I have a Quanta D52B-1U server. When I boot it via legacy BIOS, there is no 
issue. When I boot with UEFI and COM ports & console redirection disabled, 
there is no issue. However, when boot UEFI and enable the COM ports and/or 
console redirection, the server hangs at boot time right here:

Version 2.20.1276. Copyright (C) 2023 American Megatrends, Inc.
BIOS Date: 12/04/2023 17:24:26 Ver: 3B28.Q102 
Consoles: EFI console
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/amd64 EFI loader, Revision 1.1

   Command line arguments: loader.efi
   Image base: 0x5e993000
   EFI version: 2.70
   EFI Firmware: American Megatrends (rev 5.14)
   Console: efi (0x20000000)
   Load Path: \EFI\FREEBSD\LOADER.EFI
   Load Device: 
PciRoot(0x9)/Pci(0x0,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-01-30-54-9D-E4-D2-5C)/HD(1,GPT,F669D424-7170-11EF-83D1-A0369F6BA978,0x28,0x82000)
   BootCurrent: 0000
   BootOrder: 0000[*] 0003 0006 0007 0002 0008
   BootInfo Path: 
HD(1,GPT,F669D424-7170-11EF-83D1-A0369F6BA978,0x28,0x82000)/\EFI\FREEBSD\LOADER.EFI
Ignoring Boot0000: Only one DP found
Trying ESP: 
PciRoot(0x9)/Pci(0x0,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-01-30-54-9D-E4-D2-5C)/HD(1,GPT,F669D424-7170-11EF-83D1-A0369F6BA978,0x28,0x82000)
Setting currdev to disk0p1:
Trying: 
PciRoot(0x9)/Pci(0x0,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-01-30-54-9D-E4-D2-5C)/HD(2,GPT,4F537B49-7176-11EF-83D1-A0369F6BA978,0x82028,0x1000000)
Setting currdev to disk0p2:
Trying: 
PciRoot(0x9)/Pci(0x0,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-01-30-54-9D-E4-D2-5C)/HD(3,GPT,B6D8B384-7176-11EFLoading
 /boot/defaults/loader.conf86860)
Loading /boot/defaults/loader.confdefault:
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
|

On one occasion, I left it setting there for minutes.

I currently have FreeBSD 14.1 installed and I also replicated this when booting 
off a FreeBSD 15.0-CURRENT ISO. 

The chipset is Intel C621 & C624. Output from dmesg is here 
<https://gist.github.com/msimerson/1b6a3f3e34f9036b30e0972477993cfc>.

BIOS settings which enable console redirection and SOL are:

Super IO
        Port 0, Disabled or Enabled (IO=3F8h, IRQ=4)
        Port 1, Enabled (IO=2F8h, IRQ=3)   <-- SOL port
Serial Port Console Redirection
        COM0
                Console Redirection, Port is Disabled
        SOL
                Console Redirection, [Enabled]
                Console Redirection Settings, (VT100, 115200, None)
        Legacy Console Redirection Settings
                Redirection COM Port: SOL (other option: COM0)
        Serial Port for OOB Management/Windows EMS
                Console Redirection: Enabled
                Console Redirection Settings, Out-of-Band Mgmt Port: SOL (other 
option: COM0)
                Console Redirection Settings, (VT100, 115200, None)

There are variations on those settings which work for getting BIOS POST 
messages and the FreeBSD loader messages redirected to the IPMI SOL port.  
However, any combination that works also causes FreeBSD to hang at exactly the 
same spot.

I'm accustomed to adding a few lines to loader.conf to tell FreeBSD how to 
direct console output, but nothing added there makes any difference. I've 
twiddled the hint.uart.* knobs in /boot/device.hints to no avail.

This is what works on my Dell R630:

# console port via IPMI & DRAC
boot_multicons="YES"
boot_serial="YES"
console="efi,comconsole"
# for legacy BIOS
#console="comconsole,vidconsole"
comconsole_speed="115200"

How does one go about troubleshooting this?

Matt

Reply via email to