UEFI + SOL / COM ports = boot hang
- Reply: Matt Simerson : "Re: UEFI + SOL / COM ports = boot hang"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 23 Sep 2024 22:22:14 UTC
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