Serial console broken after 11.2-U1 -> U4.1 update

Joined
Aug 25, 2017
Messages
4
I've been running 11.2-U1 (and prior versions) for a while now with a serial console configured. The console port is uart1 (0x2f8), which is actually the ipmi SOL console on my SuperMicro A1SRi-2758F-0 motherboard. So I normally access the console remotely via ipmitool. After the update to 11.2-U4.1, I see BIOS and bootloader messages on the console, but after selecting a boot option and seeing the kernel load, i get a stream of white-space on the screen. The system does eventually boot and I can ssh in, but I can't see any console messages or login on the console.

Looking at the kernel console configuration, everything seems ok:
---9<---
# grep -E '^(sio|uart)[0-9]' < /var/run/dmesg.boot
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart1: console (115200,n,8,1)
---9<---

Ie, the kernel sees the port and has redirected output to it as expected (and with all the correct line options that worked in the past).

Logging into the GUI and going to System > Advanced, The "Enable Serial Console" option, the "Serial Port" option is set to "---", and if i click on it I don't actually get any ports to select. (The only option displayed is "---".) I tried disabling serial support in the GUI and re-enabling it, but now I can't re-enable the option because it says I must select a "Serial Port", but there are no ports listed to select (only "---" is available). This GUI problem seems like:
https://jira.ixsystems.com/browse/NAS-101984
which is apparently fixed in S11.3.

After disabling the serial port via the GUI, if i try selecting the "Boot FreeNAS (Serial Console)" option via the bootloader, then it seems like the system defaults to uart0:
---8<---
# grep -E '^(sio|uart)[0-9]' < /var/run/dmesg.boot
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: console (115200,n,8,1)
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
---8<---

Eventually I worked around the problem by editing /boot/menu-commands.4th and adding:
s" set comconsole_port=0x2f8" evaluate
into the ": serialboot" section of the menu. Then when I reboot if I select "Boot FreeNAS (Serial Console)", my serial console is works again.

But editing /boot/menu-commands.4th feels like a horrible hack. I'm wondering if there's a better way to fix this? Perhaps I could somehow manually update the FreeNAS configuration store to save the proper serial configuration there (and bypass the GUI bug NAS-101984)? Alternatively, what would be a good way to make this configuration the default (so I don't have to interactively select a non-default bootloader option every reboot)?
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
Top