No Network Interfaces Found Error
-
Hi all,
Firstly, thank you all for the huge amount of work you’ve put into this project it’s seriously impressive.
I’ve been deploying Windows using FOG Project for a few years now, but I’ve encountered an error that I haven’t seen before and it’s driving me insane.
FOG Version: 1.5.10.1639
Kernel Version: 6.1.22
Init Version: 2024.02.1
FOG Server OS: Debian 12
Storage Node OS: Debian 12I use DNSMasq for the boot files, I’ve attached the config below (IP’s removed, but it’s configured to my server)
#Don’t function as a DNS server:
port=0#Log lots of extra information about DHCP transactions
log-dhcp#Set the root director for files available via FTP.
tftp-root=/tftproot#The boot filename, server name, server ip address
dhcp-boot=undionly.kpxe,...**#Disable re-use of the DHCP servername and filename fields as extra
#Option space. That’s to avoid confusing some old or broken DHCP clients.
dhcp-no-override#inspect the vendor class string and match the text to set the tag
dhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
dhcp-vendorclass=UEFI,PXEClient:Arch:00007
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009#Set the boot file name based on the matching tag from the vendor class (above)
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,...**
dhcp-boot=net:UEFI,ipxe.efi/ipxe.efi,...**
dhcp-boot=net:UEFI64,ipxe.efi,...**
dhcp-boot=net:BIOS,undionly.kpxe,...**
#PXE Menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
pxe-prompt=“Booting FOG Client”, 1#The Known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
This option is first and will be the default if there is no input from the user.
pxe-service=X86PC, “Boot to FOG”, undionly.kpxe
pxe-service=X86-64_EFI, “Boot to FOG UEFI”, ipxe.efi
pxe-service=BC_EFI, “Boot to FOG UEFI PXE-BC”, ipxe.efidhcp-range=...**,proxy
The machine that I’m deploying Windows to is a Varipos 815s - the interface is labelled as: ‘IBA GE Slot 00C8 v1395’- I’ve having mixed success with these machines on exactly the same bios version, from the exact same ports. Some of them complete normally and the others display this error:
“No network interfaces found, your kernel is most probably missing the correct driver! Please check your network setup and try again”
It appears that one the kernel & init are loaded the interface just completely stops, along with the negotiation lights on the port. Does anyone have any suggestions to resolve this issue or point me in the right direction? TIA.
-
@Ryxn Ok to divide and concur this issue, if you are getting to the FOG iPXE menu then your pxe booting is working ok and that’s not the problem.
Since you mentioned bzImage, and the network interface shutting down once bzImage starts then issue is with FOS Linux kernel, 6.1.22 is your current version. The issue is with this 6.1.22 kernel and nothing else.
What we need is the hardware ID of that network adapter. In windows you can get it from the device manager hardware ID. There will be a vendor code and a device code. Under linux if you run
lspci -nn | grep -i -e net
the code will be in the form of [8086:1fd6] (made up code). Once we have that code we can look to see if there is a linux driver for that nic.You need to schedule a task for the target computer and tick the debug checkbox. PXE boot the computer and after several screens of text you will be dropped to a fos linux command prompt.
Also run this command, the file is either
/var/log/messages
or/var/log/syslog
(I can’t remember)grep -i -e firm /var/log/syslog
(remember the file may also be messages)What we are looking for is the kernel complaining that the nic requires a specific firmware to activate the nic. To keep fos linux fast and light there are only a limited number of firmwares built in. That can be fixed but we need to know which one.
-
No issues getting into the iPXE menu typically, the issue only appears to occur once you begin to deploy an image. Occasionally it will give this error while loading the iPXE menu: BzImage… (Connecting) and then loads my standard iPXE menu but with red text and a black background, any function chosen fails beyond this point. I’ve only ever seen this occur on these machines.
I’ve tried kernels from 6.1.22 up to 6.12.25 for testing purposes, the issue remains the same. I think you’re definitely correct with this being an issue with the network adapter not having it’s specific firmware available on the kernels.
The NIC shown in device manager is ‘Intel 82579LM Gigabit Network Connection’ - Hardware ID: PCI\VEN_8086&DEV_1502&SUBSYS_00008006&REV_04
I’ve ran both the commands suggested above while in the debugger and I received a ‘no such file or directory’ error for grep -i -e firm /var/log/syslog but grep -i -e firm /var/log/messages gave me the following output:
fogclient kern.info kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
I’ve managed to reproduce the issue while loading into the debugger, but when viewing /messages there is no errors apart from the one above.
I hope this helps, if you require any further information please let me know. TIA.
-
@Ryxn I checked and that nic has been in the linux kernel for several years.
And secondly when you checked for missing firmware the kernel wasn’t complaining about missing something.
Its a good thing you were able to get the error while in debug mode. Because that was going to be the next quest for you. To get the system when its behaving badly.
So when you get it into debug mode and its complaining about no nic lets do the following.
ip a s
should show if the network interface has an ip address, I’m going to suspect no because it complained about it earlier in the boot process.lspci -k -nn | more
Look through this list until you find the entry. The number in the square brackets will be what you posted earlier. [8086&1502]. See if the nic is visible to the kernel. AND if it is it should mention what kernel driver its using. I’ll give you a for example using my laptop.0000:00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection ( 13) I219-V [8086:15fc] (rev 20) Subsystem: Dell Ethernet Connection (13) I219-V [1028:0a22] Kernel driver in use: e1000e Kernel modules: e1000e
lastly if everything looks good, kernel sees the nic, there is a kernel driver assigned. Lets see if
time
fixes your problem.When you ran the
ip a s
command it listed all of the network interfaces and if it has IP addresses. You will need to know the interface name for your network adapter. It may be something like eno1 or ens192, or something else. Get that device name.Now run this command
/sbin/udhcpc -i $iface --now
replacing the whole word$iface
with the device name listed from the ip command. This will tell the network adapter to again poll for an IP address from your dhcp server. If it picks up an IP address this time, then time does solve your problem and you will need to look into your network configuration and make sure that port-fast or fast-stp is enabled on your network port.