Access BIOS via COM port or serial console for consumer boards

Hey folks, this has been surprisingly hard to search for.

Can you access your BIOS over COM port with consumer motherboards? Is this a thing? It’d be great to use serial console to tweak the machine while I’m away.

I’m curious what level of out-of-band management I can expect with a consumer/gaming motherboard. e.g. the Gigabyte z790 one I’m eyeing.

Do different brands support booting without a monitor, GPU, etc? Do any support bios over serial or in text mode?

Example parts

Full pcpartpicker build here

Gigabyte Z790 AERO G ATX LGA1700 Motherboard Gigabyte Z790 AERO G ATX LGA1700 Motherboard

Sad story about search terms for this

I’ve been googling “com port” vs “serial port” plus “VGA” vs “GPU” vs “graphics” plus “BIOS” etc. and downloading motherboard manuals to read, but still not finding anything conclusive.

I’d say most consumer boards don’t support bios access over serial, I personally tried and failed with an Asrock X470 Taichi Ultimate.

Booting without a gpu installed will typically work, sometimes you need to update the bios (happened with the Taichi).

If you use grub as a bootloader you can configure it to work over serial though, so at least you can change kernel parameters and whatnot.

Other possibilities: some asus boards can use an optional ipmi card if that’s your thing, otherwise you could use a pikvm

1 Like

its pretty rare, but not unheard of. though finding any useful info even when the board does have support for it is also nearly impossible.

really probably the best alternative at this point is a cheap gpu and PiKVM.

I totally experienced this when searching. I assumed most buyers would never look for this level of detail, so I’m not surprised.

Thanks for adding something here :slight_smile: Both of you are confirming some of my suspicions. :+1:

I have not looked into grub, but that sounds promising. I will look up the tradeoffs of using that.

No. / Extremely uncommon on consumer PCs. Very common on servers, but may need to be enabled in BIOS first.

These days, though, you can view and modify the “BIOS” EFI variables from within the OS:

1 Like

I did find a person over in BSD land that did some work to enable a serial console on his motherboard to a USB FTDI adapter:

From what I can tell, it’s a matter of the motherboard and EFI and EFI software rather than BSD/linux/windows.

It does seem like it’s possible to get the console output redirected to the COM port or serial device, and perhaps access and EFI shell via a text console.

What I don’t yet understand is if you can modify the same things you can modify in GUI BIOS via the EFI shell or via a text console with any reasonable UX. I’m guessing that’d be difficult or require a lot of reverse engineering.

By my reading, he doesn’t have serial access to change BIOS/EFI setting. He went through a great deal of trouble to get early FreeBSD kernel boot-time messages to go over an add-in serial adapter, on a motherboard that doesn’t have a built-in COM1. No BIOS/EFI access with this method (as PMc said, and fornost agreed-but said this is quite useful for him).

I suspect a lot of motherboard uefi firmwares (“BIOS”) have this as a set of hidden UEFI settings. e.g. Dell Optiplex desktop UEFI firmwares support serial redirection as a hidden setting, which gets automatically turned on when you enable some ME settings (the usual graphical BIOS is replaced by a fully text mode interface even via VGA when this is in effect). Intel’s reference “TianoCore” UEFI firmware implementation supports it, and a lot of firmware (BIOS) vendors use this as the basis of their offerings.

Another answer to this is to use coreboot. With the expert-mode answer being porting coreboot to your board first :-).

Can you provide any more info on this?

As far as I remember…

When you setup Intel AMT (ME), then activate serial (com) port redirection (e.g. via MeshCommander), and connect to the serial port at boot time (again via MeshCommander etc.), you get firmware (BIOS) serial output, and on the primary display (non-serial) output (e.g. DisplayPort etc.) you briefly get a message saying “HEADLESS MODE OPERATIONAL”.

If you then enter the firmware settings via the serial console, you then get displayed a text mode (instead of the normal Optiplex graphics mode) firmware settings page. IIRC, that works on (at least) Optiplex 7070 (and I think 5040 as well), I haven’t tried other models. If you’d like to see what’s getting set up, then I suppose you could try dumping all of the UEFI NVRAM variables (settings) before and then immediately after enabling that, and comparing them for differences.

1 Like