Re: not working /dev/console

From: Garrett Wollman <wollman_at_bimajority.org>
Date: Thu, 23 Jan 2025 21:19:23 UTC
Resurrecting an old thread, because I find myself in a position where
I have to get a serial console working on a UEFI-only Dell R360 (with
iDRAC Express, so no remote video console that I can look at).

<<On Wed, 27 Nov 2024 09:42:24 -0700, Warner Losh <imp@bsdimp.com> said:

> But, the tl;dr is likely just adding 'boot_serial=YES' and the
> "hw.uart.console"
> line above to /loader.conf and deleting all the comconsole lines (since they
> will result in doubled output if the console really is redirected at the
> UEFI
> level, see below for more details on all this :_

So this does not seem to be working for me.  The server boots and the
loader is accessible over SOL so I am pretty confident that it's
configured correctly on the UEFI side, but when booting the kernel,
the only thing it displays is the initial probe message where it
identifies where the EFI framebuffer is -- nothing else goes to the
serial port.

OK boot -s
staging 0x1a800000 (not copying) tramp 0x284f1000 PT4 0x1a6e5000
Start @ 0xffffffff803081e0 ...
EFI framebuffer information:
addr, size     0x40000000, 0x300000
dimensions     1024 x 768
stride         1024
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
[then nothing]

(The system doesn't have a network connection yet, and won't have SSH
enabled when it's finally installed, so I actually need the serial
console to work.  I have some other UEFI systems in a remote DC that
hav broken consoles too, but fixing them requires a disruptive outage,
so I'm trying to get it fixed first on a new machine.)

Running "show" in the loader tells me the followin things are set:

beastie_disable=YES
boot_multicons=YES
boot_serial=YES
comconsole_pcidev=
comconsole_port=760
comconsole_speed=115200
console=efi
efi-version=2.70
efi_8250_uid=0
efi_com_speed=115195
efi_max_resolution=1x1
hint.uart.1.at=acpi
hint.uart.1.flags=16
hint.uart.1.port=0x2F8
hw.uart.console=io:0x2f8,br:115200
smbios.system.product=PowerEdge R360
[a bunch of irrelevant stuff elided]

The loader reports the following in `efi-show` (which if it is
documented at all I do not know where):

OK efi-show -v ConOut                                   
global NV,BS,RS ConOut = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(0x80010100),/PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)/Uart(115195,8,N,1)/VenVt100()
OK    
OK efi-show -v ConIn
global NV,BS,RS ConIn = UsbHID(0xFFFF,0xFFFF,0x1,0x1),/PciRoot(0x0)/Pci(0x1F,0x0)/Acpi(PNP0303,0x0),/PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)/Uart(115195,8,N,1)/VenVt100()

...ao I'm guessing that this is taking precedence over `boot_serial`?
Is it safe to just swap these around?

-GAWollman