Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ipxe device initialization drops first port
2019-05-30, 17:02
Post: #1
ipxe device initialization drops first port
Hi,

Running into an issue where the first port of the first NIC goes missing. I see that the file path uses the correct adapter but then in ifstat its missing from the list.

Unfortunately I am inheriting this setup and I do not know how ipxe was compiled. Any ideas on why this occurring or how it can be fixed? Thank you in advance!

[Image: 0wILskA.png]
Find all posts by this user
Quote this message in a reply
2019-05-30, 21:20
Post: #2
RE: ipxe device initialization drops first port
A few first pieces of information that you should provide:
What is the pciid or chip on the nic that you are expecting to see? (best way to find it is to use linux lspci -nn)

Also make sure that you provide information about which binary is used - in this case we can see it being ipxe.efi from the top of the screen,we can also see that most of the devices are using SNP driver - which might actually mean that it is snp.efi renamed

SNP is the driver provided by firmware - so in this case I would assume that there is no NIC firmware for the port you want to see, or that ROM is disabled in BIOS or similar.
It might also be that there is something preventing iPXE from taking control over that NIC/port, there are some posts about unable to unload existing drivers and similar - if that is the case it should be reported as a firmware bug to the MB or hardware manufacturers.

Also it is always a good idea to test latest git master, and do test ipxe.efi, you can also find it at boot.ipxe.org if you don't want to build yourself - I'm not saying that you should just switch, but make a backup of current ipxe.efi that you are using and test with the latest ipxe.efi, take notes of what you are seeing, and than restore the backup, from there let's figure out next step.

Also your current ipxe binary is built without git tools available - so we have no idea from when that is (Which version it is)

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
2019-05-30, 22:04
Post: #3
RE: ipxe device initialization drops first port
(2019-05-30 21:20)NiKiZe Wrote:  A few first pieces of information that you should provide:
What is the pciid or chip on the nic that you are expecting to see? (best way to find it is to use linux lspci -nn)

Also make sure that you provide information about which binary is used - in this case we can see it being ipxe.efi from the top of the screen,we can also see that most of the devices are using SNP driver - which might actually mean that it is snp.efi renamed

SNP is the driver provided by firmware - so in this case I would assume that there is no NIC firmware for the port you want to see, or that ROM is disabled in BIOS or similar.
It might also be that there is something preventing iPXE from taking control over that NIC/port, there are some posts about unable to unload existing drivers and similar - if that is the case it should be reported as a firmware bug to the MB or hardware manufacturers.

Also it is always a good idea to test latest git master, and do test ipxe.efi, you can also find it at boot.ipxe.org if you don't want to build yourself - I'm not saying that you should just switch, but make a backup of current ipxe.efi that you are using and test with the latest ipxe.efi, take notes of what you are seeing, and than restore the backup, from there let's figure out next step.

Also your current ipxe binary is built without git tools available - so we have no idea from when that is (Which version it is)

Its a Solarflare xtreamscale NIC so vendor: 1924 device: 0b03.

Unfortunately I have no idea which binary was used, I was left with no documentation :/ I dont even know what the embedded script was which is wonderful.

Testing the ipxe.efi file from boot.ipxe.org works (well the correct adapter loads up, but fails since there isnt a script being ran).

For context we are chain booting ipxe from grub2 using foreman. Is it possible to just pass the following as a parameter:
Code:
chainloader /ipxe.efi chain http://server/boot.ipxe


or do I need to compile ipxe using:
Code:
make bin-x86_64-efi/ipxe.efi EMBED=boot.ipxe

Thank you for your help.
Find all posts by this user
Quote this message in a reply
2019-05-30, 22:15
Post: #4
RE: ipxe device initialization drops first port
(2019-05-30 22:04)dzeleski Wrote:  Its a Solarflare xtreamscale NIC so vendor: 1924 device: 0b03.

Unfortunately I have no idea which binary was used, I was left with no documentation :/ I dont even know what the embedded script was which is wonderful.
There are ways to get it back - but not easy.

(2019-05-30 22:04)dzeleski Wrote:  Testing the ipxe.efi file from boot.ipxe.org works (well the correct adapter loads up, but fails since there isnt a script being ran).

For context we are chain booting ipxe from grub2 using foreman. Is it possible to just pass the following as a parameter:
Code:
chainloader /ipxe.efi chain http://server/boot.ipxe
passing cmdline arguments to iPXE efi are not currently supported.

(2019-05-30 22:04)dzeleski Wrote:  or do I need to compile ipxe using:
Code:
make bin-x86_64-efi/ipxe.efi EMBED=boot.ipxe

Yes, but make sure the script that you embed has dhcp in it, since that isn't done when you embed script. (iPXE without embeded script escentially runs the iPXE autoboot command)

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
2019-06-01, 00:49
Post: #5
RE: ipxe device initialization drops first port
(2019-05-30 22:15)NiKiZe Wrote:  
(2019-05-30 22:04)dzeleski Wrote:  Its a Solarflare xtreamscale NIC so vendor: 1924 device: 0b03.

Unfortunately I have no idea which binary was used, I was left with no documentation :/ I dont even know what the embedded script was which is wonderful.
There are ways to get it back - but not easy.

(2019-05-30 22:04)dzeleski Wrote:  Testing the ipxe.efi file from boot.ipxe.org works (well the correct adapter loads up, but fails since there isnt a script being ran).

For context we are chain booting ipxe from grub2 using foreman. Is it possible to just pass the following as a parameter:
Code:
chainloader /ipxe.efi chain http://server/boot.ipxe
passing cmdline arguments to iPXE efi are not currently supported.

(2019-05-30 22:04)dzeleski Wrote:  or do I need to compile ipxe using:
Code:
make bin-x86_64-efi/ipxe.efi EMBED=boot.ipxe

Yes, but make sure the script that you embed has dhcp in it, since that isn't done when you embed script. (iPXE without embeded script escentially runs the iPXE autoboot command)

Got it working using the embedded script. I have an issue with a specific piece of hardware right now but ill open another thread for that as its entirely different. Thank you again for your help!
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)