Ipmi kvm console through java switching between no signal and 1024x768 in truenas scale 25.04.1

I have a supermicro motherboard model X9DRT-HF. I have already updated ipmi to 3.62 and the bios to 3.3.

While booting, the ipmi kvm console output through java stays at the resolution specified. But once truenas scale 25.04.1 starts booting up, after the kernel has been selected to boot from, it will constantly switch between no signal and 1024x768. This makes it so that I can’t access it using a keyboard in the case where I can’t access it using the webui or ssh due to no network access except via the ipmi network port.

To access the ipmi kvm console through java, I used ipmiview 2.23.0 from supermicro, which includes their own version of x86 32-bit java since the ipmi firmware 3.62 didn’t include support for x86 64-bit java versions.

This was working in truenas scale 23.

Some more details as I just did a reboot. It maintains the output when the resolution is 752x413.

I also saw as it booted, it outputted several times: edid has major version 3, instead of 1.

can I set the resolution manually once the kernel module for ipmi output is loaded?

Just speculating here, but there was another thread where a user explained how to add a kernel argument to set a specific resolution:

Since you didn’t mention grub I imagine you could stick to the first paragraph only.

I saw the thread, but it won’t let me link it.

And I got to the grub boot screen, it’s resolution is 752x413. Before grub, another resolution that kept its output was 800x600. Can’t upload the image of the grub boot screen.

So I pressed e to try to edit the grub boot config.

I tried adding vga=771 at the end of the line that begins with linux /ROOT/…

And pressed F10 to continue booting.

But it still booted into 1024x768, which causes the ipmi java console switch between 1024x768 and no signal.

How do I override it changing to 1024x768 and instead use 800x600?

Ok, got it working by telling the linux kernel not to load any video driver. In the grub boot loader, at this line:

linux /ROOT/…

I added this to the end of it:

nomodeset

The video driver used needs fixing in truenas scale 25.4.1.

How do add nomodeset so that all linux kernel’s have that when booting?

I am having the same issue on Supermicro X9 board and TrueNAS 25.04.2.1. I hope the devs are aware?

Same thing happening to me with a X9SCM-F . Didn’t even thought it could be related to TrueNAS, but I just found this thread googling the issue.

Did anyone open a bug about this? If not, I will see to open it this weekend.

They don’t plan to do any changes, but they have provided a way to modify the kernel bootline with the API on the ticket.

I know it’s been closed already on jira, but their instructions are wrong. There is no save debug button in Settings → General Settings.

And this command line way of fixing this:

midclt call system.advanced.update ‘{“kernel_extra_options”: “nomodeset”}’

does this get removed when I apply an update to truenas?

And when I did run that in shell, I got this error back:

ConfigService.update() takes 3 positional arguments but 4 were given
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/middlewared/api/base/server/ws_handler/rpc.py”, line 323, in process_method_call
result = await method.call(app, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/api/base/server/method.py”, line 52, in call
result = await self.middleware.call_with_audit(self.name, self.serviceobj, methodobj, params, app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 911, in call_with_audit
result = await self._call(method, serviceobj, methodobj, params, app=app,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 720, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ConfigService.update() takes 3 positional arguments but 4 were given