Serial console not interactive anymore after upgrade to 25.1

Started by kingfisher77, February 02, 2025, 10:52:11 AM

Previous topic - Next topic
After an update to 25.1, the serial console is no longer interactive, i.e. I see the output during the boot process, but I cannot log in. There is no prompt, the output stops at 'lo=: link state changed to UP'. It seems that there is a bug in version 25.1. Another person in the german forum reported a simillar issue.

The interactive serial console worked for years up to version 25.1. Now no interaction is possible.

My console settings are as follows:

Console

Console driver
- [y] Use the virtual terminal driver (vt)

Primary Console
- Serial Console

Secondary Console
- VGA Console

Serial Speed
- 115200

USB-based serial
- [n] Use USB-based serial ports

Console menu
- [n] Password protect the console menu

Hi there,

yesterday I made the same experience.
I tried to update my PC Engines APU.1D4 Board running for years with OPNSense to 25.1

Update via Web Interface didn't finish after 2 hours.

I tried a new install with the 25.1 nano edition.
The system booted, but the serial interface stopped sending at a specific point. I wasn't able to do anything from the serial interface.
Same with the serial edition.

After hours of trying I switched back to 24.7 using the serial edition to directly import my backuped configuration.
This worked.

I won't touch the 25.1 until there is a fix.

My upgrade to 25.1 (from a 24.7 serial console) worked well on a 2013 Deciso AMD machine. For me it's just the effect with the serial interface in 25.1 that you described.

I've had similar issues on a Protectli FW6Br2. I tried updating from the console and after the update never received a login prompt. After that I tried to run opnsense off of a live USB, and had the same issue there as well. At this point is seems like the serial version of opnsense is broken.

There is no general issue with serial console operation is what I can assure you from extensive QA testing, but aging hardware mileage may vary as FreeBSD likes to subtly change things around serial consoles and these changes are hard to pin down since they are likely not well-documented either.

Link to open bug report for further reference: https://github.com/opnsense/src/issues/236


Cheers,
Franco

Well, this indeed has been broken upstream. Try with something like

hint.uart.0.at="isa"
hint.uart.1.at="isa"

Setting this in /boot/device.hint from

hint.uart.0.at="acpi"
hint.uart.1.at="acpi"

to

hint.uart.0.at="isa"
hint.uart.1.at="isa"

fixed the problem for me. I wonder if this file will be overwritten with the next update? I am not very familiar with FreeBSD. Can it be made permanent for my hardware in the OPNsense GUI in System/Settings/Tuneable?

Might be even the next reboot, not just update. So yes, using the tunables GUI is the way to override those values.

I added the values to tuneables and rebooted. Serial is still working and /boot/device.hints does still have "isa" and "hint.uart.0.at". I will cross check with and without tuneables.

So current FreeBSD is not supporting older hardware anymore?

FreeBSD does support your hardware. With the tunables added. That's just configuration - the default has changed to EFI console.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Setting those tunables fixed the issue for me, and I was able to upgrade from the console. However the live CD installer still does not work for me because of this issue. I've seen it mentioned that this is because BSD 14.2 assumes ACPI COM ports by default instead of ISA COM ports, and potentially doesn't properly detect which ones are in use. Is this considered a bug in BSD, and is there a way to make the live installer work for hardware that is affected by this?

It's not considered a bug. You can set these tunables at the loader prompt even when booting the installer medium. Apparently there is no method of failsafe auto detect, so FreeBSD defaults to current widely available and used hardware.

APU are ... like ... *really* old architecture. And they *are* still supported, you just need to take one extra step.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Sounds good! I did some more exploring and determined that the way you can set those tunables at boot is by interrupting the boot sequence by pressing "space" when prompted, then pressing escape to get to the menu. From there the "show" command can be used to list tunables and the "set" command can be used to update them, in case anybody else was struggling with this. With these steps I am able to boot from the live USB and have serial console support.

Quote from: Patrick M. Hausen on February 06, 2025, 08:48:18 AMFreeBSD does support your hardware. With the tunables added. That's just configuration - the default has changed to EFI console.

Yes, you are right.

Also seeing this on Protectli V1410. Will try the tunables, thanks