iPXE discussion forum

Full Version: Intel X550 Issue - SIOM Module
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I seem to have run into an issue with a Supermicro X11 server with a SuperMicro SIOM X550 module.

When booting ipxe.efi which chainloads a menu the following seems to occur: https://www.youtube.com/watch?v=VERI28EypmY

This also occurs with snponly. I've now narrowed it down to it simply will not work with any embedded script in any efi image I have tried so I am at a loss. It seems any embedded script causes the crash. I would also like to add this does not happen on any other efi capable network adapters I have tried except for the X550 SIOM Module.

Any help would be appreciated.
Could you please explain what you are seeing as an issue and not only post a video?

What kind of crash are you seeing?
Does it work if you are not using an embedded script?
What is in your current embedded script?
Have you tried a simpler script, such as

What is the pciid on the nic (lspci -nn in linux) and what does ifstat show if you run ipxe without any embedded script but with otherwise the same build.
Thanks for getting back so quickly.

Basically...with ANY embedded script the efi be it ipxe.efi or snponly.efi it will reach the stage in the image below then crash and return to the bios or ask which device to boot from.

[Image: 4JXigyolBRke.jpg]

The embedded script can include anything. I have tried with dhcp and chain, with shell and just plain old #!ipxe but all crash.

With no embedded script what so ever everything seems to work as normal however ctrl+b doesn't seem to work so I am unable to perform an ifstat:

[Image: 4JXkXZ1k6bJJ.jpg]

The PCI ID of the device is: 8086:1563

Ok, first for reference, see https://git.ipxe.org/ipxe.git/commit/8dd...06d8394af2 (which should make it possible for you to use the keyboard)

Are you using the exact same script in both cases? (embedded and from server)
How are you building ipxe?

Please make sure that the first bytes in the script file is #!ipxe
You might be seeing this kind of behavior if there is BOM as the first bytes in the script for example.
Many thanks for link esc+b works fine. Please see below for ifstat output (this is an snponly.efi image with NO embedded script specified):

[Image: 4JYAOBAfVip0.jpg]

Initially I was building my own images but then discovered rom-o-matic. I attempted a new build for snponly again via rom-o-matic ensuring #!ipxe was the only entry in the embedded script section but ran into the same problem. I then tried an ipxe.efi with just #!ipxe and again the same problem.

Both the above images work fine on a none X550 server. I'm at a complete loss.
If you only have #!ipxe in the file then that will run and ipxe will exit
If you have any command in the ipxe script that fails then the script will exit (unless you have a || handler)
If it is not a valid script then it will be tried as a binary which most likely fails and ipxe will exit.

Again the minimal basic script you should test is

Since you have not provided the script you are using, or tested the above simple one it will be hard to help you.
I see, thanks for the info yet again. For the X550 controller I have tried the following in both ipxe.efi and snponly.efi images:


chain http://url


All of these will crash on an X550 controller. Undionly images work perfectly fine with any of the above embedded scripts it is only efi images where this issue occurs.

I also means tested everything I tried above on the X550 on other network controllers such as an Intel I210 and they all worked perfectly fine.
I can not see any reason for an ok embedded script to be causing this... the reason being what actually happens in the code when an embedded script exists.
The relevant code is at: https://git.ipxe.org/ipxe.git/blob/133f4...oot.c#l592
So the only alternatives here logically is a bad script (which it isn't if the same script works with legacy builds) or some kind of memory corruption.

In the video what I saw was a restart or exit from iPXE - I could not see any type of crash.

If it is a restart .... could it be some kind of watchdog in the firmware that triggers restart?

Just realized you have not given any boot with ipxe.efi and the output of ifstat.
One thing that you might want to try is to create a build of ipxe without any valid driver for your nic, for example build tg3.efi which is broadcom - this will make sure that there is nothing during the access to nic that is causing the issue.

Also make sure you are building yourself, from clean sources, and without any modifications. (it's to easy to change rom-o-matic configs to non defaults, so not a good source to use when doing debugging)
Thanks for all your assistance. During quite a bit of messing around today I came across the following git repo in a google search: https://git.rthoni.com/robin.thoni/ipxe/src/master

I replaced all intel drivers from the official source with intel drivers from the above repo and the issue no longer exists. Things now work correctly and no more issues with embedded scripts!
That is a repo created 2 years ago by just adding files, and then the keymap was modified. (No other history exists)
So based on that I would assume that a 2 year old-ish commit of iPXE should work as well...
Now with that as a base it would be good if you could do a git bisect
Or at least try to find out which commit that is.

However then again there is no logic behind this issue at all... especially if you have been running with snp.efi - since that build does not contain any intel drivers at all.
Reference URL's